C语言大作业设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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所示:
图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: