个人通讯录管理系统doc文档格式.docx
- 文档编号:8488158
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:14
- 大小:122.18KB
个人通讯录管理系统doc文档格式.docx
《个人通讯录管理系统doc文档格式.docx》由会员分享,可在线阅读,更多相关《个人通讯录管理系统doc文档格式.docx(14页珍藏版)》请在冰点文库上搜索。
1.1设计题目的分析
根据需设计的个人通讯录管理系统这个题目可以得知如下的信息:
①.建立通讯录信息、信息包含姓名、电话、通讯地址等;
②.能够提供添加、删除通讯录信息的功能;
③.能够提供按不同方式查询的功能:
如按姓名、电话等查询;
④.能够提供按不同方式修改通讯录里联系人的信息的功能:
如对姓名、电话、地址等进行修改;
⑤.将通讯录保存在文件中;
⑥能够按表格方式输出通讯录信息。
1.2运行环境的要求
⑴编程环境:
VisualC++6.0;
⑵运行结果环境:
Windows;
1.3软件的界面要求
在界面需要一个提示你执行什么操作的标语,且在增加、修改、删除联系人后需要提示是否已成功的完成该任务,检查是否与界面提示的一致,最后再返回首页面。
1.4数据结构要求
每一个功能利用多函数模块来实现,并且为了避免程序的繁琐,可以将每个大模块再划分为多个小的模块来实现,尽可能的优化程序的模块。
第二章系统分析与设计
2.1程序数据的系统结构设计
整个软件使用的文件功能、内部的数据格式在通讯管理系统中的文件内部的数据均为文本文件类型的,并且在文本文件里的数据均以一组一组的存放。
2.2.系统设计流程图
①画出整个软件的模块图,如图2.1所示,并对每一个模块图的算法用程序流程图来具体描述。
②增加联系人的程序流程图,如图2.2所示;
③查询联系人的流程图,如图2.3所示;
④修改联系人的流程图,如图2.4所示;
⑤删除联系人的流程图,如图2.5所示;
图2.1系统的整体模块图
图2.2增加联系人的流程图图2.3查询联系人的流程图
图2.4修改联系人的流程图
图2.5删除联系人的流程图
2.3主要功能表
本程序主要由14个自定义函数和一个主函数组成其中主函数以菜单的形式调用其它函数来实现要求的所有功能。
在这些函数当中,按显示菜单的函数、添加联系人函数、查询函数:
按姓名查询、按电话查询,修改联系人函数:
姓名修改、电话修改、地址修改,删除联系人信息函数等是程序中较为核心的部分。
下面分别进行说明。
表一主要功能表
menu()主菜单的实现
用户进入通讯录管理系统时,需要显示主菜单,提示用户进行选择,完成相应任务。
此代码被main()函数调用
add(&
len)增加联系人函数的实现
可以添加通讯录记录,在输入添加的个数后,依次完成输入姓名、电话号码、通讯地址后,会提示你是否已添加成功,最后再在屏幕上显示出来
chaxun(int*len)查询联系人的函数的实现
可以选择用姓名、电话两种方式查询
xiugai(&
len)修改联系人的函数的实现
输入欲修改的那个人的名字后,再选择是需要更改输入联系人的什么信息后,再输入修改的姓名或电话号码或通讯地址,这样便可以可完成修改联系人的信息
shanchu(int*len)删除联系人的函数的实现
输入欲删除的那个人的名字后,会自动删除他的记录内容,之后会提示你是否删除成功,最后再输出删除后通讯录里所有的记录
附加功能:
为了增加界面友好,每个操作结束后会提示“是否退出”。
第三章软件的实现
3.1数据结构设计
3.1.1程序预处理
●szName,number,adress分别表示学生姓名、电话、地址;
●int*len表示所要输入的人数;
●intinput(CStudent*p);
/*从键盘输入*/
●intoutput(int*len);
/*向屏幕输出*/
●intsearch(CStudentp,int*j,CStudentc[3],int*len);
●intsname(CStudentp,int*len);
/*姓名查询*/
●intsnumber(CStudentp,int*len);
/*电话查询*/
●voidxname(CStudentq[100],inti);
/*姓名修改*/
●voidxnumber(CStudentq[100],inti);
/*号码修改*/
●voidxadress(CStudentq[100],inti);
/*地址修改*/
●intsput(int*len,CStudentq[100]);
/*删除的处理模块*/
3.1.2main()主函数的实现
voidmain()
3.2函数描述
3.2.1menu()主菜单的实现
此代码被main()函数调用。
voidmenu()
{
//system("
cls"
);
system("
color1F"
printf("
\n\n\n"
/*输出主菜单*/
\t\t|*****欢迎进入电话薄管理系统!
*****|\n"
\t\t|********************menu********************|\n"
\t\t|1增加|\n"
\t\t|3查找4修改|\n"
printf("
\t\t|5删除0退出|\n"
\t\t|********************************************|\n"
}
3.2.2output(int*len)输出函数的实现
在被其它函数模块调用时,执行intoutput(int*len)函数对数据文件中的所有联系人进行输出在屏幕上。
intoutput(int*len)/*向屏幕输出*/
3.2.3add(&
调用zengjia(&
len)函数,完成在文件中添加新联系人。
在刚进入通讯录管理系统时,若默认的数据文件为空,在增加新联系人后,利用intoutput(int*len)函数输出数据文件中的所有联系人。
intadd(int*k,int*len)
3.2.4chaxun(int*len)查询联系人的函数的实现
调用intchaxun(int*len)函数,完成在snumber(cc,len)或sname(aa,len)函数中对联系人进行查找,如果在数据文件中找到所要查找的联系人时,则将该联系人输出到屏幕若在数据文件中没有此联系人时,则同样会在屏幕上提醒。
intchaxun(int*len)
⏹sname()姓名查询函数的实现
用户在进入查询联系人的界面后,可以根据提示选择按哪种方式进行查询,若选择2则按姓名进行查询,即会在判断该联系人存在于通讯录中后调用sname()姓名查询函数;
intsname(CStudentp,int*len)
⏹snumber()电话查询函数的实现
用户在进入查询联系人的界面后,可以根据提示选择按哪种方式进行查询,若选择1则按姓名进行查询,即会在判断该联系人存在于通讯录中后调用snumber()电话查询函数;
intsnumber(CStudentp,int*len)
intsearch(CStudentp,int*j,CStudentc[100],int*len)
3.2.5xiugai(&
调用xiugai(&
len)函数,完成在输入需要修改的联系人后,进行判断是否有此人。
若没有则会有提示,若有则会提示你完成该联系人的信息修改,待输入了修改信息后会利用intsput(int*len,CStudentq[100])函数将修改的文件数据保存到文件中。
在完成保存修改联系人后,会利用intoutput(int*len)函数将修改后数据文件中的所有联系人输出到屏幕上。
intxiugai(int*len)
intsput(int*len,CStudentq[100])
⏹xname()修改联系人姓名函数的实现
用户在进入修改联系人的信息的界面后,可以根据提示选择进行修改联系人的哪样信息,若选择1则修改联系人的姓名,即会在判断该联系人存在于通讯录中后调用xname()姓名修改函数。
voidxname(CStudentq[100],inti)/*电话修改*/
⏹xnumber()修改联系人电话函数的实现
用户在进入修改联系人的信息的界面后,可以根据提示选择进行修改联系人的哪样信息,若选择2则修改联系人的电话,即会在判断该联系人存在于通讯录中后调用xnumber()电话修改函数。
voidxnumber(CStudentq[100],inti)/*号码修改*/
⏹xadress()修改联系人地址函数的实现
用户在进入修改联系人的信息的界面后,可以根据提示选择进行修改联系人的哪样信息,若选择3则修改联系人的地址,即会在判断该联系人存在于通讯录中后调用xadress()地址修改函数。
voidxadress(CStudentq[100],inti)/*地址修改*/
3.2.6shanchu(int*len)删除联系人的函数的实现
调用intshanchu(int*len)函数,完成输入的需要删除的联系人,待输入后,程序会自动判断数据文件中是否有此人的信息。
若没有,则会有提示,结束该功能的运用。
反之,有该联系人的话,会将其删除后再保存到数据文件中,待保存成功后,调用intoutput(int*len)函数将删除后的所有联系人输出到屏幕上。
intshanchu(int*len)
第四章软件测试
4.1主界面的测试
用户进入通讯录管理系统时,其主界面如图4.1所示。
此时,系统已经将文件打开,若文件不为空,则将数据从文件中逐条记录读出,并写入数组中。
用户可选择0-4之间的数值,调用相应功能进行操作。
当输入0时,则退出个人通讯录管理系统。
4.2增加联系人的测试
当用户输入1时并按Enter键后,即可进入增加联系人的界面。
其增加过程如图4.2所示,这是增加3个联系人的记录。
4.3查找联系人的测试
当用户输入3时并按Enter键后,即可进入增加联系人的界面。
其增加过程如图4.3所示,这是利用姓名查询联系人的记录。
4.4修改联系人的测试
当用户输入4时并按Enter键后,即可进入修改联系人的界面。
4.4.1.修改姓名的测试
当用户进入修改联系人的界面后,根据提示输入要修改那位联系人的信息,再根据界,面上的菜单进行选择修改姓名的功能,其过程如图4.4.a所示。
4.4.2.修改电话的测试
当用户进入修改联系人的界面后,根据提示输入要修改那位联系人的信息,再根据界,面上的菜单进行选择修改电话的功能,其过程如图4.4.b所示。
4.4.3.修改地址的测试
当用户进入修改联系人的界面后,根据提示输入要修改那位联系人的信息,再根据界,面上的菜单进行选择修改地址的功能,其过程如图4.4.c所示。
4.5删除联系人的测试
当用户输入4时并按Enter键后,即可进入删除联系人的界面。
其删除过程如图4.5所示,这是利用输入姓名删除联系人的记录。
图4.1主菜单界面
图4.2增加联系人界面
图4.3查找联系人界面
图4.4.a修改联系人界面
图4.4.b修改联系人界面
图4.4.c修改联系人界面
图4.5删除联系人界面
第五章总结
5.1错误分析
1.程序运行时出现闪退:
在一段函数后添加“printf("
请输入y退出"
scanf("
%s"
str);
”
2.程序运行时出现乱码:
添加函数有误,使得输入的信息没法显示,添加了一条打印的语句:
fscanf(fp,"
%s%lf%s"
p[i].szName,&
p[i].number,p[i].adress);
printf("
|%s|%0.1f|%s|\n"
p[i].szName,p[i].number,p[i].adress);
3.程序出现大小写:
认真检查并改正。
5.2进度安排
表二进度安排表
阶段
各阶段名称
起止日期
一
分组,老师布置任务极其要求,选择课程设计题目,明确课程设计任务,查找资料和文献
2014-12-29
二
设计程序,编译及调试
2014-12-30
三
错误原因分析并找同学和老师解决
2014-12-31
四
修改程序,实现运行,撰写实验报告
2015-01-03
五
制作ppt,进行答辩
2015-01-04
5.3分工流程
我们小组分组完毕后,分工如下:
总体工作:
两人总体分析,一起查找资料,协商并确定各自工作。
两人分工:
我:
编写程序,调试,实现运行。
她:
检查工作,完善系统。
最后两人一起完成实验报告,以及ppt。
5.4心得体会
不觉之中4天的C语言课程设计很快结束了。
通过这几天时间的设计使我学到了许多。
以前对C语言的认识比较肤浅。
不过在不断尝试中我知道了当程序出现问题时应抱着试一试的方式来调试,也对许多函数有了很深的认识。
通过我的努力以及遇到不会的问题主动向老师请教和向同学们探讨,我顺利的完成了这次c语言课程设计,感到要想对一门课程了解深刻就必须亲自身入其中地去体验,这样才能发现自己的很多缺点,才能一一的去克服改进,也才能真正的学到知识。
还有让我知道了细节决定成败,C语言中如果出了一个小小的问题就会导致整个程序没办法运行,即使运行成功也得不到正确的答案。
这时候认真仔细的查找错误。
通过这次的C语言设计的编写我懂得了寻找问题的方法和锻炼了我的细心和我的耐心。
我想应该对我的其他科目的学习也会有所帮助。
同时,在此也要感谢在课程设计过程中对我提供帮助的老师和同学,谢谢你们!
参考文献:
[1]何钦铭、颜辉《C语言程序设计》.[M].教育出版社.2008年
[2]谭浩强、张基温《C语言程序设计教程》.[M].高等教育出版社.2006年
[3]C语言程序课程设计报告[EB/OL]:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 个人 通讯录 管理 系统 doc
![提示](https://static.bingdoc.com/images/bang_tan.gif)