C++通讯录课程设计报告.docx
- 文档编号:9201580
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:23
- 大小:20.37KB
C++通讯录课程设计报告.docx
《C++通讯录课程设计报告.docx》由会员分享,可在线阅读,更多相关《C++通讯录课程设计报告.docx(23页珍藏版)》请在冰豆网上搜索。
C++通讯录课程设计报告
C++
程
序
设
计
课
程
报
告
课题:
简单通讯录系统的设计
专业班级:
信管10101班
学号:
201017020107
姓名:
易帅龙
指导教师:
雷红艳
1页
目
录
一、设计系统的目的意义⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
3
二、系统需求、功能分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
3
1:
系统需求⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
3
2
:
功能分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
3-4
3
:
系统结构图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
4
4
:
流程图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
5
三、数据结构表⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
6
四、数据测试表⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
6
五、运行和调试(各个功能调试运行结果)⋯⋯⋯⋯⋯⋯⋯⋯⋯6-12
1、主界面系统运行⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
6-7
2、添加联系人⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
7
3、查询联系人⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
8-9
4、修改联系人⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
10
5、删除联系人⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
11
6、设计人员信息⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
11
7、系统运行结束⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
12
六、课程设计的心得⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯12七、参考书目:
⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯12八、附录:
源代码⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯13-21
九、评阅意见及评阅成绩⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯21
2页
一、设计系统的目的意义
1、设计系统的目的
设计这个系统的目的是为了设计一个能够便捷使用的电子通讯录,能
够方便的存储信息,可以将这个系统应用到手机或者其他电子设备中,方便的存储联系人,为方便查找联系人的各种信息提供方便。
2、设计系统的意义
电子通讯录系统没有使用纸张等,做到了环保,符合当今环保理念这个系统使用户能够方便快捷的使用存储和查找等优势功能,且具有较高的安全性,能够有效保护用户联系人资料。
二、系统需求及功能分析
系统需求
1、需要录入联系人到通讯录中;
2、能够对通讯录中各项信息进行查找修改删除排序等一系列操作;
3、能够完成通讯录的基本功能;
4、凡等候用户输入时,给出足够的提示信息;
5、程序具有一定的健壮性,不会因为用户的输入错误引起程序运行错误而中
断执行。
对输入值的类型、大小范围、字符串的长度等,进行正确性检查,
对不合法的输入值给出出错信息,指出错误类型,等待重新输入;
6、对删除数据应给出警告。
功能分析
1、录入功能:
选择此功能可以用户手动输入联系人各项信息;
2、查看功能:
选择此功能时可以选择根据各种信息查询联系人电话、住址、
性别、邮箱、QQ等各项信息;
3、排序功能:
选择此功能可以按照姓名将所有联系人排序输出;
4、修改功能:
选择此功能时能够通过输入联系人姓名或者电话修改联系人的
全部信息;
5、删除功能:
选择此功能时能够通过输入联系人姓名或者电话删除联系人
的全部信息;
3页
5、查看设计人员功能:
选择此功能时能够查看该系统设计人员名单;
6、退出系统功能:
选择此功能时能够退出系统并保存数据。
功能结构图:
主菜单
添
查
排
修
删
查
退
加
询
序
改
除
看
出
联
联
输
联
联
设
程
系
系
出
系
系
计
序
人
人
人
人
人
员
名
单
根
根
根
根
根
根
根
根
据
据
据
据
据
据
据
据
地
姓
电
类
姓
电
姓
电
址
名
话
别
名
话
名
话
查
查
查
查
修
修
删
删
询
询
询
询
改
改
除
除
4页
流程图:
输入各项
信息
删除联系人
1:
按姓名删除
2:
按电话删除
输入1输入2
1:
2:
按按
姓电
名话
删删
除除
输入任意键进入主菜单
输入1
输入0~6选择功能
1:
添加
2:
查询
3:
排序
输入5
4:
修改
5:
删除
6:
设计人员
0:
退出
输入3
输入2
按
1:
按姓名查询
姓
2:
按电话查询
名
3:
按地址查询
排
4:
按类别查询
序
5:
查询全部
查
看
输入6设
计
人
员
输入4
修改联系人:
1:
按姓名修改
2:
按电话修改
输入1输入2
1:
2:
按按
姓电
名话
修修
改改
5页
三、
数据结构表
类名
数据名
数据类型
长度
Person
name
Char[]
10
Person
sex
Char[]
4
Person
tel
Int[]
44
Person
add
Char[]
20
Person
Postnum
Int[]
40
Person
E_mail
Char[]
20
Person
Int[]
44
Person
Kind
Char[]
10
Person
People
Person&ob
i
int
4
num
Int
4
P_num
Int
4
四、
数据测试表
姓名
电话
性别
地址
邮箱
邮编
类别
马启明
150
男
黑龙江
150
150
150
同学
易帅龙
151
男
湖南
151
151
151
同学
王刚
152
男
湖南
152
152
152
老乡
翟凤玺
153
男
天津
153
153
153
同学
五、运行和调试
1、系统运行
6页
2、添加人员
7页
3、查询人员
(1)、根据姓名查询
(2)、根据电话查询
(3)、根据地址查询
8页
(4)、根据类别查询
(5)、查询所有名单
(6)、按姓名排序输出
9页
(7)、按姓名修改
(8)、按电话修改
10页
(9)、按姓名删除
(10)、按电话删除
(11)、显示设计人员名单
11页
(12)、退出程序
六、课程设计心得
通讯录系统的课程设计,我体会到很多,完成一个程序的设计必须要有
同伴的支持和合作,必须要跟同伴讨论商量,共同努力才有可能设计出一
个好的程序,遇到困难不能轻易放弃,在编这个程序的时候遇到了很多难
题,后来在老师和同学的帮助解答下终于将遇到的问题一个个解决,我深
刻体会到遇到难题不要轻易言弃,还有要多借鉴别人的经验,多阅读一些
书籍,编写程序的时候要细心,一点点错误程序就可能编译失败,所以要
做到一丝不苟。
七、参考书目
谭浩强,《C++程序设计》,北京,清华大学出版社,2006年
钱能,《C++程序设计实验指导》,北京,清华大学出版社,1999年
谭浩强,《C++程序设计题解与上机指导》,北京,清华大学出版社,2006年
12页
八、附录:
源代码
#include
#include
usingnamespacestd;
classperson
{public:
char
name[10],sex[4],tel[11],add[20],postnum[10],e_mail[20],QQ[11],k
ind[10];
public:
person()
{}
voidinput()
{
cout<<"请输入名字:
\n";
cin>>name;
cout<<"请输入性别:
\n";
cin>>sex;
cout<<"请输入电话:
\n";
cin>>tel;
cout<<"请输入地址:
\n";
cin>>add;
cout<<"请输入邮编\n";
cin>>postnum;
cout<<"请输入邮箱:
\n";
cin>>e_mail;
cout<<"请输入QQ:
\n";
cin>>QQ;
13页
cout<<"请输入类别:
\n";
cin>>kind;}
voidsave()
{ofstreamfout("e:
\\person.txt",ios:
:
app);fout< cout<<"信息已保存至e: \\person.txt\n\n\n";cout<<"※※※※※ ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ ※※※※\n"; fout.close(); } voidoutput() {cout<<"姓名: "< "< "< "<<"地址: "< "< "<<"E_mail: "< "< "< } }; voidmain() {personpeople[30];inti;staticintnum=0,p_num=0; do {cout<<"请输入任意键显示主菜单: ";chary; cin>>y; system("cls"); cout<<"※※※※※※※※※※※※※※※※※※\n※※※※※※通讯 录主菜单※※※※※※\n※※※※※※※※※※※※※※※※※※\n 请输入0-5来选择: \n1.添加通讯录人员\n2.查询人员\n3.按姓名排序 14页 \n4. 按姓名,电话进行修改 \n5. 按姓名,电话进行删除\n6.设计人员名单 \n0. 退出\n※※※※※※※※※※※※※※※※※※ \n"; cin>>i; while(i>6||i<0) {cout<<"选择无效,重新输入0~5: "< {case0: {}break; case1: {cout<<"请输入您要添加人的信息: \n"; people[p_num].input();people[p_num].save();num++;p_num++;}break ; case2: {cout<<"1.根据姓名查询\n2.根据电话查询\n3.根据地址查询 \n4.根据类别查询\n5.查询所有名单\n"; intj;cin>>j; switch(j) {case1: {cout<<"请输入您要查询的姓名: \n";charq_name[20];cin>>q_name; for(intt=0;t {cout<<"姓名为: "< 下: \n";people[t].output();cout<<"※※※※※※※※※※※※※※※ ※※※※※※※※※※※※※※※※※※※※※※※※※\n";break;} else{cout<<"没有找到"< \n";cout<<" ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ ※※※※※※※※※\n";} }break; case2: 15页 {cout<<"请输入电话: "< for(intt=0;t if(strcmp(people[t].tel,q_tel)==0) {cout<<"电话为: "< 下: \n";people[t].output();cout<<"※※※※※※※※※※※※※※※ ※※※※※※※※※※※※※※※※※※※※※※※※※\n";break;} else{cout<<"没有找到"< 息! \n";cout<<"※※※※※※※※※※※※※※※※※※※※※※※※ ※※※※※※※※※※※※※※※※\n";}}break; case3: {cout<<"请输入地址: "< {cout<<"地址为: "< 下: \n";people[t].output();cout<<"※※※※※※※※※※※※※※※ ※※※※※※※※※※※※※※※※※※※※※※※※※\n";break;} else{cout<<"没有找到"< 息! \n";cout<<"※※※※※※※※※※※※※※※※※※※※※※※※ ※※※※※※※※※※※※※※※※\n";}}break; case4: {cout<<"请输入类别: "< for(intt=0;t 16页 if(strcmp(people[t].kind,q_kind)==0) {cout<<"类别为: "< 下: \n";people[t].output();cout< else{cout<<"没有找到"< 息! \n";cout<<"※※※※※※※※※※※※※※※※※※※※※※※※ ※※※※※※※※※※※※※※※※\n";} }cout<<"※※※※※※※※※※※※※※※※※※※※ ※※※※※※※※※※※※※※※※※※※※\n";break; case5: {cout<<"所有人的信息如下: \n"; for(intt=0;t people[t].output(); cout<<"※※※※※※※※※※※※※※※※※※※※ ※※※※※※※※※※※※※※※※※※※※\n"; }break; default: cout<<"您的输入有误! \n"< ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ ※※※※\n"; break; } }break; case3: {personsort;intt; for(t=0;t {for(ints=t+1;s if(strcmp(people[t].name,people[s].name)>0) { 17页 sort=people[t];people[t]=people[s];people[s]=sort; } } cout<<"按姓名从小到大排序后: "< for(intn=0;n people[n].output(); cout<<"※※※※※※※※※※※※※※※※※※※※※※※※ ※※※※※※※※※※※※※※※※\n"; }break; case4: {cout<<"请输入1-2: \n1.按姓名修改\n2.按电话修改\n";intj;cin>>j; switch(j) {case1: {cout<<"请输入您要修改的人的姓名: \n";chars_name[20];cin>>s_name; for(intt=0;t if(strcmp(people[t].name,s_name)==0) {persons_people;cout<<"\n请依次输入修改后的信息: 名字, 性别,电话,地址,邮政编码,邮箱,QQ,类别\n"; s_people.input(); people[t]=s_people;break; } cout<<"修改成功! \n\n";cout<<"※※※※※※※※※※※※※ ※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"; }break; case2: {cout<<"请输入您要修改的人的电话: \n"; 18页 chars_tel[20];cin>>s_tel; for(intt=0;t if(strcmp(people[t].tel,s_tel)==0) {persons_people_tel; cout<<"\n请依次输入修改后的信息: 名字,性别,电 话,地址,邮政编码,邮箱,QQ,类别: \n"; s_people_tel.input();people[t]=s_people_tel;break; } cout<<"修改成功! \n\n";cout<<"※※※※※※※※ ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ ※\n"; }break; } }break; case5: {cout<<"请输入1-2\n1.按姓名删除\n2.按电话删除\n";intj;cin>>j; switch(j) {case1: {cout<<"请输入您要删除的人的姓名: \n";chars_name[20];cin>>s_name; for(intt=0;t if(strcmp(people[t].name,s_name)==0) {intj=t+1;for(j;j {people[t]=people[j]; t++; } 19页 break; } num--;cout< \n";cout<<"※※※※※ ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ ※※※※\n"; }break; case2: {cout<<"请输入您要删除的人的电话: \n";chars_tel[20];cin>>s_tel; for(intt=0;t if(strcmp(people[t].tel,s_tel)==0) {intj=t+1;for(j;j {people[t]=people[j];t++; } break; } num--;cout<<"删除成功! \n\n";cout<<"※※※※※※※ ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ ※※\n"; }break; } }break; case6: {cout<<"﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ ﹌﹌\n"<<"信管10101班课程设计第二组: 易帅龙、马启明、王刚、翟凤 20页 玺\n"<<"﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ \n";}break; default: break; } }while(i! =0); } 九、评阅意见及评阅成绩 评阅意见: 评定成绩: 指导老师签名: 年月日 21页
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 通讯录 课程设计 报告