个人通讯录管理系统.doc
- 格式:doc
- 大小:143.00 KB
- 文档页数:20
物理学与电子信息工程系课程设计(程序设计)报告书题目个人通讯录管理系统专业、班级学号姓名成绩:完成期限:指导教师签名:年月日摘要日益繁多的人际交往使得我们认识的或者将要认识的人会越来越多,从而很难搞清楚与每个人之间的联系方式,特别是对于经常出差的人来说更是难,所以通讯录能够便捷的给我们带来所需要的相关信息。
然而,纸质的通讯录已经不能满足我们的需求,更新麻烦、查询困难等缺点是纸质通讯录所不能克服的。
再次情况下,迫切需要一个电子版的通讯录来满足我们的需求,而随着计算机的普及,人们的生活摆脱了传统式的记事本、电话薄,越来越多的靠计算机来帮助人们记住这些事情,极其简单。
这就需要有一个使用的通讯录管理系统,用户可以方便的通过自己电脑的通讯录管理系统来随时查阅自己所需要的信息,而不必再大费周折去翻开那繁琐的记事本。
关键字:顺序表;数组;个人通讯录管理系统;目录第一章综述 (1)1.1设计题目的分析 (1)1.2运行环境的要求 (1)1.3软件的界面要求 (1)1.4数据结构要求 (1)第二章系统分析与设计 (2)2.1程序数据的系统结构设计 (2)2.2. 系统设计流程图 (2)2.3 主要功能表 (5)第三章软件的实现 (7)3.1数据结构设计 (7)3.2 函数描述 (7)第四章软件测试 (10)4.1 主界面的测试 (10)4.2 增加联系人的测试 (10)4.3 查找联系人的测试 (10)4.4 修改联系人的测试 (10)4.5 删除联系人的测试 (10)第五章总结 (15)5.1 错误分析 (15)5.2 进度安排 (15)表二进度安排表 (15)5.3 分工流程 (15)5.4 心得体会 (15)参考文献 (17)第一章综述1.1设计题目的分析根据需设计的个人通讯录管理系统这个题目可以得知如下的信息:①.建立通讯录信息、信息包含姓名、电话、通讯地址等;②.能够提供添加、删除通讯录信息的功能;③.能够提供按不同方式查询的功能:如按姓名、电话等查询;④.能够提供按不同方式修改通讯录里联系人的信息的功能:如对姓名、电话、地址等进行修改;⑤.将通讯录保存在文件中;⑥能够按表格方式输出通讯录信息。
1.2运行环境的要求⑴编程环境:Visual C++ 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修改联系人的流程图开始i=5shanchu(&len)输入删除人的姓名判断有无此人执行删除指定的联系人输出删除后所有的联系人return 0图2.5 删除联系人的流程图2.3 主要功能表本程序主要由14个自定义函数和一个主函数组成其中主函数以菜单的形式调用其它函数来实现要求的所有功能。
在这些函数当中,按显示菜单的函数、添加联系人函数、查询函数:按姓名查询、按电话查询,修改联系人函数:姓名修改、电话修改、地址修改,删除联系人信息函数等是程序中较为核心的部分。
下面分别进行说明。
表一主要功能表附加功能:为了增加界面友好,每个操作结束后会提示“是否退出”。
第三章软件的实现3.1数据结构设计3.1.1 程序预处理●szName,number,adress分别表示学生姓名、电话、地址;●int *len表示所要输入的人数;●int input(CStudent* p); /* 从键盘输入 */●int output(int *len); /* 向屏幕输出 */●int search(CStudent p,int *j,CStudent c[3],int *len);●int sname(CStudent p,int *len); /*姓名查询*/●int snumber(CStudent p,int *len); /*电话查询*/●void xname(CStudent q[100],int i); /*姓名修改*/●void xnumber(CStudent q[100],int i); /*号码修改*/●void xadress(CStudent q[100],int i); /*地址修改*/●int sput(int *len,CStudent q[100]);/*删除的处理模块*/3.1.2 main()主函数的实现void main( )3.2 函数描述3.2.1 menu()主菜单的实现用户进入通讯录管理系统时,需要显示主菜单,提示用户进行选择,完成相应任务。
此代码被main()函数调用。
void menu(){//system("cls");system("color 1F");printf("\n\n\n"); /*输出主菜单*/printf("\t\t|* **** 欢迎进入电话薄管理系统! **** *|\n");printf("\t\t|********************menu********************|\n");printf("\t\t| 1 增加 |\n");printf("\t\t| 3 查找 4 修改 |\n");printf("\t\t| 5 删除 0 退出 |\n");printf("\t\t|********************************************|\n");}3.2.2 output(int *len)输出函数的实现在被其它函数模块调用时,执行int output(int *len)函数对数据文件中的所有联系人进行输出在屏幕上。
int output(int *len) /*向屏幕输出*/3.2.3 add (&len)增加联系人函数的实现调用zengjia(&len)函数,完成在文件中添加新联系人。
在刚进入通讯录管理系统时,若默认的数据文件为空,在增加新联系人后,利用int output(int *len)函数输出数据文件中的所有联系人。
int add(int *k,int *len)3.2.4 chaxun(int *len)查询联系人的函数的实现调用int chaxun(int *len)函数,完成在snumber(cc,len)或sname(aa,len)函数中对联系人进行查找,如果在数据文件中找到所要查找的联系人时,则将该联系人输出到屏幕若在数据文件中没有此联系人时,则同样会在屏幕上提醒。
int chaxun(int *len)⏹sname()姓名查询函数的实现用户在进入查询联系人的界面后,可以根据提示选择按哪种方式进行查询,若选择2则按姓名进行查询,即会在判断该联系人存在于通讯录中后调用sname()姓名查询函数;int sname(CStudent p,int *len)⏹snumber ()电话查询函数的实现用户在进入查询联系人的界面后,可以根据提示选择按哪种方式进行查询,若选择1则按姓名进行查询,即会在判断该联系人存在于通讯录中后调用snumber()电话查询函数;int snumber(CStudent p,int *len)int search(CStudent p,int *j,CStudent c[100],int *len)3.2.5 xiugai(&len)修改联系人的函数的实现调用xiugai(&len)函数,完成在输入需要修改的联系人后,进行判断是否有此人。
若没有则会有提示,若有则会提示你完成该联系人的信息修改,待输入了修改信息后会利用int sput(int *len,CStudent q[100])函数将修改的文件数据保存到文件中。
在完成保存修改联系人后,会利用int output(int *len)函数将修改后数据文件中的所有联系人输出到屏幕上。
int xiugai(int *len)int sput(int *len,CStudent q[100])⏹xname()修改联系人姓名函数的实现用户在进入修改联系人的信息的界面后,可以根据提示选择进行修改联系人的哪样信息,若选择1则修改联系人的姓名,即会在判断该联系人存在于通讯录中后调用xname()姓名修改函数。
void xname(CStudent q[100],int i) /*电话修改*/⏹xnumber()修改联系人电话函数的实现用户在进入修改联系人的信息的界面后,可以根据提示选择进行修改联系人的哪样信息,若选择2则修改联系人的电话,即会在判断该联系人存在于通讯录中后调用xnumber()电话修改函数。
void xnumber(CStudent q[100],int i) /*号码修改*/⏹xadress()修改联系人地址函数的实现用户在进入修改联系人的信息的界面后,可以根据提示选择进行修改联系人的哪样信息,若选择3则修改联系人的地址,即会在判断该联系人存在于通讯录中后调用xadress()地址修改函数。
void xadress(CStudent q[100],int i) /*地址修改*/3.2.6 shanchu(int *len)删除联系人的函数的实现调用int shanchu(int *len)函数,完成输入的需要删除的联系人,待输入后,程序会自动判断数据文件中是否有此人的信息。
若没有,则会有提示,结束该功能的运用。
反之,有该联系人的话,会将其删除后再保存到数据文件中,待保存成功后,调用int output(int *len)函数将删除后的所有联系人输出到屏幕上。