1、CHANGZHOU INSTITUTE OF TECHNOLOGYC语言大作业设计说明书题目: 通 讯 录 管 理 系 统 二级学院(直属学部): 计 算 机 信 息 工 程 学 院 专业: 软件工程(中英合作) 班级: 12软件二 姓名: 学号: 2013年7月目录1 概述、11、2设计分析、11、3开发工具、1
2、1、4应用平台、12 系统设计、22、1功能模块设计、22、2数据结构设计、42、3函数功能设计、43 实现与测试、73、1关键技术实现、73、2测试运行结果、84 开发日志、145 设计总结、146 参考文献、141 概述1、1 小组构成及分工1、2 设计分析本程序设计共包含六个函数模块,分别就是添加记录、显示记录、删除记录、查询记录、修改记录、保存记录等信息模块,完成通讯录得功能。在主函数中可以以1、2、3、4、 5、6数字键分别可以执行某个功能模块。1、3 开发工具Visual C+ 6、0 与window321、4 应用平台W
3、indows XP 32位2 系统设计2、1功能模块设计1、系统模块图本系统包括6个模块,分别就是添加模块、显示模块、删除模块、查询模块、修改模块、保存模块等,各模块得功能如图2、1所示。各个模块得功能描述如下:(1)添加模块:可以添加通讯录记录,依次输入姓名、年龄、电话号码、地址、电子邮箱后,并会提示就是否继续添加。(2)显示模块:可以以表格形式输出所有通讯录里得记录。(3)删除模块:输入欲删除得那个人得名字后,会自动删除她(她)得记录内容。(4)查询模块:可以选择用姓名、电话、地址三种方式查询。(5)修改模块:输入欲修改得那个人得名字后,再依次输入姓名、年龄、电话号码、地址、电子邮箱完成修
4、改。(6)保存模块:输入文件名(带后缀名)后,即可将通讯录信息保存到文件。通讯录管理系统添加记录显示记录删除记录查询记录修改记录保存记录图2、1 系统模块图2、任务执行流程图定义主函数main函数与一系列得功能函数,只有通过这些函数才可实现程序得功能。每次使用都会调用主函数。流程图如图2、2所示:退出系统添加记录显示记录请选择06开始结束删除记录查询记录修改记录保存记录图2、2 系统流程图2、2数据结构设计1、根据描述得基本信息含有多个属性,其中包括姓名、年龄、号码、地址、邮箱,为此可根据信息建立结构体,类型定义如下:typedef struct char name10; &nb
5、sp; /*姓名*/ char num15; /*号码*/ char email20; /*邮箱*/char age8; /*年龄*/char adds20; /*住址*/Person;2、Person结构体数组Person pe80;2、3函数功能描述1、Input( ) 函数原型int Input(Person per , int n)选择添加联系人,程序在Input( )函数下输入添加联系人得信息。其中,n表示存储得n条记录,Person per 就是结构体数组变量
6、。2、Display( )函数原型void Display(Person per , int n) Display( )函数显示所有联系人得信息到屏幕上。其中,n表示存储得n条记录,Person per 就是结构体数组变量。3、Delete_a_record( )函数原型int Delete_a_record(Person per , int n) Delete_a_record( )函数输入删除得联系人得姓名。其中,n表示存储得n条记录,Person per 就是结构体数组变量。如图2、3所示:图2、3 删除记录流程图4、Query_a_record( )函数原型void Que
7、ry_a_record(Person per , int n) 在void Query_a_record( )函数中查找联系人,根据输入要查联系人得姓名、电话或地址,程序输出此人得信息。其中,n表示存储得n条记录,Person per 就是结构体数组变量。如图2、4所示,以查询姓名为例:图2、4 查询记录流程图5、Change( )函数原型void Change(Person per , int n)void Change( )函数输入欲修改得联系人,重新输入联系人信息即可完成联系人得修改,其中,n表示存储得n条记录,Person per 就是结构体数组变量。6、WritetoText( )函
8、数原型void WritetoText(Person per , int n) void WritetoText( )函数保存经过一系列操作之后得联系人得信息。其中,n表示存储得n条记录,Person per 就是结构体数组变量。3 实现与测试3、1关键技术实现通过switch函数来控制主菜单,进行操作选择各项功能,从而完成通讯录系统得操作。switch(menu_select) case 1: printf("nt添加记录到通讯录n"); n=Input(pe,n); break
9、; case 2: printf("nttt 通讯录记录表n"); Display(pe,n); break;case 3: printf("nt从通讯录中删除记录n"); n=Delete_a_record(pe,n); printf("t"); system("pause"); break; case 4: p
10、rintf("nt在通讯录中查找记录n"); Query_a_record(pe,n); printf("t"); system("pause"); break;case 5: printf("nt修改通讯录中得记录n"); Change(pe,n); printf("t"); system("pause"); break; case 6: printf("nt保存功能n"); WritetoText(pe,n); &
11、nbsp; printf("t"); system("pause");break; case 0: printf("ntt谢谢使用,再见!n"); printf("ntt"); system("pause"); exit(0); 3、2测试运行结果1、显示主菜单界面:程序开始运行
12、时,显示通讯录主菜单,通过输入06来操作通讯录得各个功能。如图3、2、1所示:图3、2、1 显示主菜单界面2、添加记录界面:在输入1后,显示添加记录得界面,依次输入姓名、年龄、电话号码、通讯地址、电子邮箱。如图3、2、2所示:图3、2、2 添加记录界面3、 显示记录界面:在输入2后,界面显示通讯录记录表,如图3、2、3所示:图3、2、3 显示记录界面4、删除记录界面:在输入3后,显示删除记录界面,输入想删除得姓名:王小斌,即可删除该人得信息。如图3、2、4、1所示:图3、2、4、1 删除记录界面删除后,通讯录里得显示记录。如图3、2、4、2所示:图3、2、4、2 删除后得显示记录界面5、 查询
13、记录界面:在输入4后,显示查询记录界面,选择您想查询得方式。如图3、2、5、1所示:图3、2、5、1 查询记录界面以姓名查询为例,输入杨玥,则显示杨玥得信息。如图3、2、5、2所示:图3、2、5、2 姓名查询记录界面6、修改记录界面:在输入5后,显示修改记录界面,输入想修改得姓名:杨玥,重新输入信息,完成修改通讯录。如图3、2、6所示:图3、2、6 修改记录界面7、保存记录界面:在输入6后,显示保存记录界面,输入所保存得文件名,如tongxunlu、txt、如图3、2、7、1所示:图3、2、7、1保存记录界面tongxunlu、txt文件截图,如图3、2、7、2所示:图3、2、7、2 通讯录系
14、统文件界面4 开发日志第一天,确定课题,对所选系统进行分析,小组成员进行分工。第二天,对系统总体设计,各自完成自己得任务,并交流沟通。第三天,对程序模块设计,程序调试与测试,成员互相讨论。第四天,对程序综合测试,然后系统改进完善,完成程序并写好设计总结与说明书报告。5 设计总结这次得程序课程设计让我进步很大。自己动手,自己发现与解决问题。发现了自己得许多不足,平时没有掌握好得知识在这次实验中彻底暴露出来,经过不断思考,不断查阅资料与上机运行,解决其中大部分问题,当然还存在一些问题没有解决。我相信在以后得学习能够解决好它们。但就是,我不仅对C得操作有了进一步得掌握,还了解到程序设计得书写风格及其注释得格式。总之,通过这一次课程设计我学习到了很多,深刻得体会到了,复杂得系统就是一个个简单构建得统一协作。6 参考文献1、贾宗璞、许合利,C语言程序设计M、人民邮电出版社,2012年9月2、鲁沐浴,C语言最新编程技巧200例M、电子工业出版社,2010年5月3、王小科、王军,visual C+编程宝典M、人民邮电出版社,2011年1月