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