1、5功能测试 5.1添加功能 5.2显示功能 5.3删除功能 5.4查询功能 5.5排序功能 5.6保存到文件的功能 5.7从文件中读出模块 6总结 参考文献 指导教师评语:成绩: 指导教师(签字): 年 月 日1设计要求1.1设计题目通信录管理系统1.2设计目的本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完C+程序设计课程后进行的一次全面的综合练习。本课程设计的目的和任务:(1)巩固和加深学生对C+课程的基本知识的理解和掌握;(2)掌握C+编程和程序调试的基本技能;(3)利用C+进行简单软件设计的基本思路和方法;(4)提高运用C+解决实际问题的能力;(5)掌握书写程序设计
2、说明文档的能力。1.3设计内容以本班同学的具体数据为背景,设计一个本班同学通讯录。实现功能:1)? 通讯录编辑(添加、删除)。2)? 按不同的项进行查找。3)? 对已存在的通讯录按不同的项排序。4)? 将通讯录写入文件5)? 从文件读入通讯录备注:通讯录至少应该有以下数据项:姓名,地址,电话,邮编,E-mail。2设计原理和技术在课程设计中,系统开发平台为Windows XP,程序设计语言采用Visual C+,在程序设计,采用C+编程语言编写程序,实现各项功能。3模块设计与分析? 3.1 添加模块? 主要功能是用来添加联系人资料。如果系统有保存联系人资料的情况下,想查看的话,可以直接从系统文
3、件中调用输出,在成功添加联系人资料后,就可以对该联系人进行以上的操作。?3.2 显示模块 在程序运行中,通过输入相应选择项,把联系人信息显示在屏幕上。3.3 删除模块 主要功能是用来删除联系人资料。在系统保存联系人资料的前提下,想删除某联系人的资料,可以输入该联系人姓名查找该联系人资料后,就可以删除了。及时对系统进行更新,删除一些没用的信息,可以使系统更加优化?。3.4 查询模块 主要功能是用来查找联系人资料。在系统保存了某联系人资料的前提下,想要查找该联系人资料,可以输入该联系人姓名,这样系统就会显示该联系人资料等信息,若系统中不存在则提示用户该联系人不存在。3.5 排序模块 主要功能是用来
4、对联系人的资料按姓名进行排序。便于用户在拨打电话时易于查找一些联系人。3.6 读入文件模块? 主要功能是用来将联系人资料读入文件中保存起来进行备份,防止以后丢失。3.7 从文件中读出模块 主要功能是用来将联系人资料从文件中直接读取到屏幕上,便于查看。4 程序源代码#includefstreamusing namespace std;string#define N 100#define SIZE 20struct student /定义结构体来存储联系人的信息 char nameSIZE; char telSIZE; char addSIZE; char posSIZE; char EmailS
5、IZE;int creat(struct student *p,int n) /创建通讯录 int m,i=0; cout添加前的记录,共有:n个endl;记录号t姓名电话地址邮编邮箱 while(iname, )!=0) couti+1nameteladdposEmailm; i=0; while(im)*请输入第个记录姓名:name;电话:tel;地址:add;邮编:pos;邮箱:Email;endl return m+n;void print(struct student *p,int n) /输出通讯录的信息 int i=0; if(i=n)*通信录中无联系人* else while(
6、in) cout q+; do请输入新记录的姓名:t.name;请输入新记录的电话:t.tel;请输入新记录的地址:t.add;请输入新记录的邮编:t.pos;请输入新记录的邮箱:t.Email; for(i=0;iname)=0) coutc; if(c=n|c=N) /当用户输入N时,跳出增加操作 break; if(i=n) *(p+i)=t;添加后的记录为: for(i=0;n+1; cout while(c=yY); return n+1;int del(struct student *p,int n) / 删除联系人 int i=0,x; char name10;请输入要删除的联系
7、人的姓名: if(strcmp(name,(p+i)- if(i for(x=i;xN-1;x+) px=px+1; /依次将后面的联系人资料往前移删除后的记录:n-1;pi.namepi.telpi.addpi.pospi.Email break; if(i=n)void sort(struct student *p,int n) /对联系人排序 struct student temp; int i=0,j;*通信录中没有联系人可排序* for(j=0;j0) temp=pj; pj=pj+1; pj+1=temp;排序后的结果为:void output_datafile(struct st
8、udent *p,int n) /输出到文件 fstream iofile; iofile.open(D:student.txt,ios:out); for(int i=0; iofile while(!iofile.eof() iofileteladdposvoid function(void) struct student recordN; int total=0; int x;tt*tt 欢迎登陆通信录管理系统 tt 1 创建联系人 2 输出通信录tt 3 增加联系人 5 查找联系人 tt 4 删除联系人 tt 6 排序 tt 7 输入到文件 tt 8 从文件输出到屏幕tt 9 退出 *
9、请输入你的选择:x; switch(x) case 1: total=creat(record,total);break; case 2: print(record,total); break; case 3: total=add(record,total); case 4: total=del(record,total); case 5: search(record,total); case 6: sort(record,total); case 7: output_datafile(record,total); case 8: datafile_screen(record,total);
10、case 9:tt 谢谢使用通信录管理系统 tt 再见! exit(0); while(1);void main() function();5功能测试5.1添加功能 。5.2显示功能5.3删除功能5.4查询功能 5.5排序功能5.6保存到文件的功能5.7从文件中读出模块实验中遇到的问题及解决方法 在实现添加功能的过程中由于用户可能输入相同的人名,经过一个判断语句后,如果输入了相同的人名则提示用户联系人已存在,是否要重新输入,体现一个人性化的通讯录管理系统。在实现删除的过程中由于没有注意删除联系人后会出现一个空的,导致后面的输出时会出现乱码,经过将后面的依次向前移动,使得该问题得到解决。在实现查
11、找的过程中由于采用的名字查询,而附设的一个名字数组只有10个大小的空间,本来存在的联系人在查询时系统提示所要查询的联系人信息不存在,经过修改之后成功查询。6总结 本学生通信录管理系统由7个模块组成,每个模块相互联系又相互独立。这个通信录管理系统存在着很多不足之处,由于自己本身编程能力的问题,这个系统可以实现的功能非常有限。只能实现通信录管理系统最基本的功能,可以进行简单的输入、输出联系人资料,查询和修改联系人信息,能直接从文件中读入数据,能对系统所作的修改、操作进行保存等。在做之前就看了一些这方面的书,多多少少有一定的了解,使自己在进行的过程中没有胆怯,没有遇到太大的麻烦。这次课程设计,我感到书本上的东西还是很重要的,课程设计,就是离不开书本。在设计过程中,我运用了很的循环、排序,这就要求自己要熟练的掌握for,switch语句,以及各种排序,包括冒泡、选择排序。另外,通过这次课程设计,我发现文件自己掌握的还不是很熟练,但是随着课程设计的深入,我发现文件对今后的设计十分有用,因此自己一定要对文件多做深入的研究。这次课程设计,自己熟悉了很多的东西,在编写程序的过程中,自己发现了很多的问题,并通过查阅资料
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2