收藏 分销(赏)

通讯录管理程序-c++大作业.doc

上传人:丰**** 文档编号:4770202 上传时间:2024-10-12 格式:DOC 页数:15 大小:95.50KB
下载 相关 举报
通讯录管理程序-c++大作业.doc_第1页
第1页 / 共15页
通讯录管理程序-c++大作业.doc_第2页
第2页 / 共15页
通讯录管理程序-c++大作业.doc_第3页
第3页 / 共15页
通讯录管理程序-c++大作业.doc_第4页
第4页 / 共15页
通讯录管理程序-c++大作业.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、同济大学二一一二一二 学年第 二 学期交通运输工程学院课程设计报告书课程名称: C/C+语言课程设计 班 级: 4班 学 号: 1151220 姓 名: 王琎晨 指导教师: 孙丽君 二一二 年 六 月一 需求分析程序名称:通讯录管理程序。程序功能概括:1) 添加:即增加一个人的记录到通信录中2) 显示:即在屏幕上显示所有通信录中的人员信息,应能分屏显示。3) 查询:可根据姓名查找某人的相关信息,若找到显示其姓名、地址、电话号码和邮政编码。4) 修改:可修改一个人的除姓名外其它信息。5) 分类并显示:可将人员进行分组,例如分为家人,朋友,同事等,选择分组后,只显示该分组内的信息6) 装入:即将文

2、件中的信息读入程序。7) 存储:即将通讯录信息保存在一个文件中。8) 删除:删除通讯录中的联系人。程序意义:通讯录管理系统针对手机中对联系人的添加,删除等操作,方便用户使用通讯录,起到便利作用。二 概要设计系统核心功能: 添加联系人 显示所有联系人信息 查询联系人并显示 删除联系人 分组并显示 修改联系人信息功能框图:通讯录管理载入数据分组并显示查询联系人删除联系人显示联系人插入联系人保存数据分组显示组内添加联系人创建新组功能描述: 插入联系人:通过键盘输入联系人的姓名,电话号码,地址,邮政编码等信息,存入通讯录中。 显示联系人:在屏幕上分行显示所有联系人的信息。 删除联系人:通过输入需要删除

3、的联系人的姓名删除该联系人。 查询联系人:通过输入需要查询的联系人的姓名查询该联系人。 载入数据:从文件读出数据。 保存数据:将数据保存入文件。 分组并显示:1.创建新组:创建新的分类。 2.组内添加联系人:将联系人添加入该组。 3:。分组显示:在屏幕上分组显示联系人。三 详细设计本程序用了如下课本中没有的函数,使界面简洁明了。getch()/键盘任意输入system(“CLS”)/清屏如下为完整程序:#includeiostream.h#includestring.h#includeiomanip#includestdlib.h#includestdio.h#includeconio.h#i

4、ncludeiomanip.hstruct ben/定义结构char name20;char address80;char num20;char you10;char fen10;struct ben *next; struct ben *head=NULL;/定义全局变量 char *lei20; int i(0); void csh() for(int i=0;i20;i+) leii=NULL; void menu();void duru()/读入数据system(CLS);FILE *fp;if(fp=fopen(txl.txt,r+)=NULL)coutnext=newben;tai

5、l=newben;tail-next=NULL;cout读取文件成功endl;fclose(fp);cout返回主菜单请安任意键endl;getch();menu();void baocun()/保存数据system(CLS);FILE *fp;if(fp=fopen(txl.txt,r+)=NULL)coutcant open file;exit(1);if(head=NULL)cout内容空,无需保存next;while(p!=NULL)fwrite(p,sizeof(ben),1,fp);p=p-next;cout保存成功endl;cout返回主菜单请安任意键fen,wu);cout请输

6、入姓名newben-name;cout请输入地址newben-address;cout请输入电话号码newben-num;cout请输入邮政编码newben-you;if(head=NULL)head=new ben;head-next=newben;newben-next=NULL;elsenewben-next=head-next;head-next=newben;cout添加完成,若想继续添加请按1,返回主菜单请按任意键n;while(n=1);system(CLS);menu();void print()/输出通讯录列表system(CLS);struct ben *p=head;if

7、head=NULL)cout联系人为空,回到主页请按任意键next; cout姓名setw(10)地址setw(10)电话号码setw(10)邮政编码endl;while(p!=NULL)coutnamesetw(10)addresssetw(10)numsetw(10)younext;cout输出完毕,返回主菜单请按任意键endl;getch();menu();void change()/修改联系人信息system(CLS);if(head=NULL)cout联系人为空,回到主页请按任意键next;cout请输入修改人的姓名name1;while(p!=NULL&strcmp(name1,

8、p-name)p=p-next;if(p!=NULL)cout进行修改endl;cout请输入地址p-address; cout请输入电话号码p-num; cout请输入政编码p-you;cout修改成功endl;cout返回主菜单请按任意键endl;getch();menu();elsecout不存在此人,返回主菜单请按任意键endl;getch();menu();void cz()/创建类 system(CLS);char j; if(head=NULL)cout联系人为空,回到主页请按任意键endl;getch();menu(); else cout请输入您要创建的新组s; leii=n

9、ew char10; strcpy(leii,s); i+; do system(CLS);cout请选择要您要添加入该类的人(输入人名)next; cout姓名setw(10)地址setw(10)电话号码setw(10)邮政编码setw(10)分类endl;while(p!=NULL)coutnamesetw(10)addresssetw(10)numsetw(10)yousetw(10)fennext;p=head-next;char name220;cinname2;while(p!=NULL&strcmp(name2,p-name)!=0)p=p-next;if(p!=NULL)str

10、cpy(p-fen,s);cout已成功将name添加入s中endl;else cout不存在这个人endl;cout继续添加请按1.后退请按2.返回主菜单请按其它键.j;while(j=1);if(j=2)cz();else menu();void zt()/在类中添加联系人system(CLS);int x(0);for(x=0;x20;x+)if(leix=NULL)break;if(x=0)cout木有类,返回添加类请按任意键endl;getch();cz(); char d;dosystem(CLS);d=0;for(int j=0;jx;j+)coutj+1 : leij ;cou

11、t请选择添加的组k;cout您要添加的组为leik-1endl;cout情输入您要添加的人next; cout姓名setw(10)地址setw(10)电话号码setw(10)邮政编码setw(10)分类endl;while(p!=NULL)coutnamesetw(10)addresssetw(10)numsetw(10)yousetw(10)fennext;p=head-next;char name220;cinname2;while(p!=NULL&strcmp(name2,p-name)!=0)p=p-next;if(p!=NULL)strcpy(p-fen,leik-1);cout已成

12、功将name添加入leik-1中endl;else cout不存在这个人endl;cout继续添加请按1.返回主菜单请按其他它键.d;while(d=1);menu();void lx()/分类显示system(CLS);if(head=NULL)cout通讯录为空,返回主菜单请按任意键endl;getch();menu();int x(0);for(x=0;x20;x+)if(leix=NULL)break;if(x=0)cout木有类,返回主菜单请按任意键endl;getch();menu();elsefor(int m=0;mnext;coutleimendl;cout姓名setw(10

13、)地址setw(10)电话号码setw(10)邮政编码fen,leim)=0)coutnamesetw(10)addresssetw(10)numsetw(10)younext;coutendl; cout返回主菜单请任意键endl;getch();menu();void fenlei()/分类显示总表system(CLS);cout1.创建新组endl;cout2.分组添加endl;cout3.分类显示endl;cout4.返回主菜单c;switch (c)case 1:csh();cz();break;case 2:zt();break;case 3:lx();break;case 4:m

14、enu();default:coutwrong;void shanchu()/删除联系人if(head=NULL)cout通讯录为空endl;elsechar k=0;do system(CLS);cout请选择要您要删除的人(输入人名)next,*q;q=head; cout姓名setw(10)地址setw(10)电话号码setw(10)邮政编码endl;while(p!=NULL)coutnamesetw(10)addresssetw(10)numsetw(10)younext;p=head-next;char name220;cinname2;while(strcmp(p-name,na

15、me2)!=0&p!=NULL)p=p-next;q=p;if(p!=NULL)q-next=p-next;delete(p);elsecout木有这个人endl;cout继续删除请按1.回到主菜单请按其它键k;while(k=1);getch();menu();void search()/查询联系人char n;dosystem(CLS);cout请输入查询人的姓名endl;char name120;struct ben *p=head;if(p=NULL)cout联系人为空,回到主页请按任意键next;cinname1;while(p!=NULL&strcmp(p-name,name1)!

16、0)p=p-next;if(p!=NULL)cout姓名setw(10)地址setw(10)电话号码setw(10)邮政编码endl;coutnamesetw(10)addresssetw(10)numsetw(10)youendl;elsecout木有此人endl;coutn;while(n=1);system(CLS);menu();void menu()/主菜单system(CLS); cout 欢迎使用通讯录系统endl;cout1.添加联系人endl;cout2.显示联系人信息endl;cout3.查询联系人endl;cout4.修改联系人信息endl;cout5.分组并显示end

17、l;cout6.载入数据endl;cout7.保存电话本endl;cout8.删除联系人endl;cout9.退出choose;switch(choose)case 1:tianjia();break;case 2:print();break;case 3:search();break;case 4:change();break;case 5:fenlei();break;case 6:duru();break;case 7:baocun();break;case 8:shanchu();break;case 9:exit(1);break;default:cout请输入正确数字endl;wh

18、ile(choose!=8);void main()/主函数menu(); 四 调试分析过程描述1、 本程序采用结构链表类型结合功能函数的方式运行,代码简单易懂。2、 本程序中大量调用menu()函数,简便了函数。3、 system(cls)这个功能是我自己从网上学到的,其作用是“清屏”,即可以避免内容冗长的现象,使每次执行功能时界面干净明了。4、 程序的小问题:当页面显示按任意键返回主菜单时,若定义的变量为int,则会陷入死循环,应定义为char。五 课程设计小结通过本次C+大作业的设计与编写,让我基本掌握了结构类型、函数、条件语句等内容的用法,学会了编写一些较为简易的管理系统。C+其实还包括很多比较精深的内容,但即使只是掌握了一些较为基础的技能,就能编出工资管理系统这种比较成熟的管理系统,可见C+在人们日常的应用中扮演着十分重要的作用。因此以此次大作业为契机,我决定好好巩固自己所学过的一切C+的重要知识,并在条件允许的条件下继续深入学习,了解这个神奇且强大的C+世界!

展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服