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