C++程序设计通讯录管理系统64589.docx
- 文档编号:9728397
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:18
- 大小:69.99KB
C++程序设计通讯录管理系统64589.docx
《C++程序设计通讯录管理系统64589.docx》由会员分享,可在线阅读,更多相关《C++程序设计通讯录管理系统64589.docx(18页珍藏版)》请在冰豆网上搜索。
C++程序设计通讯录管理系统64589
《c++通讯录管理系统》
学号:
03
班级:
软件八班
姓名:
付博
指导教师:
沙晨明
1系统设计目标及意义、功能介绍·································3
2系统的详细设计思路·································3
3系统运行效果图·································11
4系统设计、开发过程中的问题·································13
5课程设计心得体会·································13
6附录源代码及简要说明·································13
一、系统设计目标及意义、功能介绍
(1)系统设计的目标及意义
通讯录管理系统的建立是为了有效节省同学,朋友,客户间日常交流的投资(指时间,精力),其设计理念很简单,变传统的纸张与笔录方式为计算机自动化进行通讯录信息管理系统,既省时间又提高效率。
本通讯录管理系统是一个非常通用的管理系统,运用VisualC++,构建MFC平台,用户可以通过图像窗口菜单进行信息录入、删除、查找,直观方便。
(2)系统设计的功能介绍
1、录入成员信息。
基本信息:
姓名、性别、出生年月日、民族等。
2、删除一个成员信息。
3、修改成员信息并保存。
4、能够按姓名对成员信息进行检索并将检索结果显示在屏幕上。
5、能够按专业对成员信息进行检索并将检索结果显示在屏幕上。
6、显示所有成员信息。
7、能够利用图形菜单的形式进行管理。
二、系统的详细设计思路
(一)系统的总体框架
(二)通讯录对象的主要属性
(三)功能分析
1、联系人管理者
(1)增加联系人:
联系人信息包括姓名、就读学校、班级、专业、家庭地址、家庭联系电话、邮编、本人联系电话这些信息。
添加时,内容不能为空。
(2)修改联系人资料:
对已存的联系人信息进行变更、修改。
正常情况下,联系人的姓名是不会发生变化的,但考虑到更名的情况还是偶有发生,因此设计为联系人所有资料都允许更改,这样可以灵活应对这些不太常见的情况。
(3)删除联系人:
对选定联系人执行删除操作,为了防止误删除,给使用者一个反悔的机会,在执行删除前要询问使用者是否真的要删除,在得到确认后执行删除操作。
2、联系人信息查询与显示
通讯录使用频率最高的功能就是查询联系人的信息。
查询可以查询某个学院、某个专业、某个班级下所有的联系人。
并且提供了按姓名和按学号查询的功能,并且同名的人都可以显示。
联系人显示窗口示姓名、就读学校、班级、专业、家庭地址、家庭联系电话、邮编、本人联系电话这些信息。
三,系统运行效果图
1,主界面
2,添加联系人信息
3删除联系人信息
4显示所有联系人
5,修改信息
6,查询联系人信息
7,关闭系统
四,系统开发过程中遇到的问题
在初步完成该程序时,我发现程序有一个严重的漏洞,当系统保存的学生信息中有同名或者编号相同的同学时,这时若要执行查询或者删除学生信息时,只能查询到或删除第一个符合条件的同学,这就导致了程序的错误。
后来我发现只需要将程序中一些“break”换成“continue”便可以解决这个问题,也就使程序在读到第一个符合条件的同学信息时不结束读取,而是继续读入,这样就可以将同名或编号相同的学生全部查询到,不会漏查。
五,课程设计心得体会
1.在编写程序的过程中,我将课本中的大部分知识又都熟悉了一遍,使我对课本又有了更深的记忆,同时又弄懂了一些以前不太明白的地方。
2.在编程过程中,我还明白了做事要有耐心,决不能心急,要一步一步地来,不清楚的地方一定要查书,用到什么就查什么,比如在用到输入、输出函数时,不知道整型、实型、字符型、字符串用什么格式,就要认真地去看一下教材,切不可自我放弃。
3.我还明白了只要我们肯用心,就没有什么是困难的。
或许我们在编程时会遇到各种各样的困难,但只我们用心思考,我们总能从学过的知识中找到解决这些问题的方法,这些
方法或许是书上没有的,或许是没人用过的。
当这些问题得到解决时,我发现自己真的很开心!
六,附录源代码及简要说明
#include
#include
#include<>
#include<>
#include
#include<>
usingnamespacestd;
et("Dongquan","man","15-6","");
person[1].set("Tourist","man","15-8","");
return;
}
voidmenu()
{
cout<<"序号"<<"姓名"<<"性别"<<"班级"<<"电话"< } voidshow() { menu(); for(inti=0;i : getnumber();i++) { cout< person[i].display(); } } intname_search(strings) { intnum=-1; for(inti=0;i : getnumber();i++) { if(person[i].judgename(s)) { person[i].display(); num=i; } } returnnum; } inttelephone_search(strings) { intnum=-1; for(inti=0;i : getnumber();i++) { if(person[i].judgetelephone(s)) { person[i].display(); num=i; } } returnnum; } voidMain_screen() { system("CLS"); cout<<"\n\n\n\n"< if(! flag) { cout<<"\t\t---------欢迎使用档案信息管理系统--------"< } else { cout<<"\t\t-----------------------------------------"< } cout<<""< <<"\t\t (1)浏览数据"< <<"\t\t (2)增加数据"< <<"\t\t(3)修改数据"< <<"\t\t(4)查询数据(按姓名,按电话)"< <<"\t\t(5)删除数据"< <<"\t\t(0)退出程序"< <<""< flag=1; return; } intmain(intargc,char**argv) { init(); head: dd(); cout<<"添加成功,"< cout<<"按任意键返回主菜单"< getch(); } elseif(n==3)et(n,s,b,t); } else { cout<<"修改姓名请按1,性别请按2,班级请按3,电话请按4"< intn5; cin>>n5; if(n5==1) {cout<<"请输入新的姓名"< strings4; cin>>s4; person[n3-1].alter_name(s4); } elseif(n5==2) { cout<<"请输入新的性别"< strings4; cin>>s4; person[n3-1].alter_sex(s4); } elseif(n5==3) {cout<<"请输入新的班级"< strings4; cin>>s4; person[n3-1].alter_banji(s4); } elseif(n5==4) {cout<<"请输入新的电话号码"< strings4; cin>>s4; person[n3-1].alter_telephone(s4); } } cout<<"修改成功"< } } elseif(n==4)//查询 { query: cout<<"请选择查询方式: "< intx; cin>>x; if(x==1) { name_query: cout<<"请输入查询的姓名: "< stringna; cin>>na; cout<<"查询结果: "< intnn=name_search(na); if(nn==-1) { cout<<"很抱歉,没有查询到相关信息: "< cout<<"重新查找请按1: "< cout<<"返回上级菜单请按2: "< cout<<"返回主页面请按3: "< intmm; cin>>mm; system("CLS"); if(mm==1) { gotoname_query; } elseif(mm==2) { gotoquery; } elseif(mm==3) { gotohead; } } } else { tele: cout<<"请输入查询的电话: "< stringun; cin>>un; cout<<"查询结果: "< intnn=telephone_search(un); if(nn==-1) { cout<<"很抱歉,没有查询到相关信息: "< cout<<"重新查找请按1: "< cout<<"返回上级菜单请按2: "< cout<<"返回主页面请按3: "< intmm; cin>>mm; system("CLS"); if(mm==1) { gototele; } elseif(mm==2) { gotoquery; } elseif(mm==3) { gotohead; } } } cout<<"按任意键返回主菜单"< getch(); system("CLS"); } elseif(n==5)//删除数据 { reduce: cout<<"是否先浏览一下数据? (Y/N)"< strings1; cin>>s1; if(s1=="Y"||s1=="y") show(); //删除方式 cout<<"请输入需要删除的数据序号"< intn2; cin>>n2; for(inti=0;i : getnumber();i++) { if(i>=n2) { person[i-1]=person[i]; } } file: : cutnumber(); cout<<"删除成功。 继续删除请按1)、返回主页请按其它任意键"< intn3; n3=getch(); if(n3==1) gotoreduce; } elseif(n==0) gototail; else { cout<<"该选项不存在! 按任意键返回主菜单"< getch(); system("CLS"); gotohead; } gotohead; tail: //退出程序 system("CLS"); cout< 再见! -----------"< return0; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 程序设计 通讯录 管理 系统 64589