VC++通讯录程序设计报告Word下载.docx
- 文档编号:18588909
- 上传时间:2022-12-28
- 格式:DOCX
- 页数:17
- 大小:109.96KB
VC++通讯录程序设计报告Word下载.docx
《VC++通讯录程序设计报告Word下载.docx》由会员分享,可在线阅读,更多相关《VC++通讯录程序设计报告Word下载.docx(17页珍藏版)》请在冰豆网上搜索。
测试数据
程序应输入不少于10个人员的通讯录信息,应考虑到人员可以同名的情况。
实现提示
程序可用一个单向链表来管理人员信息,每个人员的姓名,地址,电话号码和邮政编码用一个类Cperson来实现,作为链表的值指针指向这些Cperson类对象,通过链表的遍历可以操作这些数据。
1、设计任务与目标
提供包括查找,修改,存储,装入,显示等功能。
达到熟练掌握C++语言的基本知识和技能;
能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
二、方案设计与论证
1、为存储通讯录信息,需定义一个Cperson类,数据成员包括编姓名、电话、地址等,。
2、分别建立具有添加、删除、修改、查询等功能的子函数,完成相应功能,对程序实现模块化。
3、为实现存储功能,需用到fstream头文件的相关函数。
3、程序功能模块图
四、全部源程序清单
#include<
iostream>
string>
fstream>
usingnamespacestd;
classCperson//定义一个类Cperson
{
public:
Cperson(){n=0;
}
voidadd();
//添加联系人
voiddisplay();
//显示联系人
voidsearch();
//查找联系人
voidrevise();
//修改联系人
voiddelet();
//删除联系人
voidout();
//退出并保存
private:
intn;
stringname;
//联系人姓名
stringphonenumber;
//联系人电话号码
stringaddress;
//联系人地址
stringpostalcode;
//联系人邮政编码
}con[100];
voidmain()//主函数
Cpersondata;
intnumber;
do
{
cout<
<
"
★☆☆☆★☆★☆☆☆★★☆☆通讯录程序☆☆★★☆☆☆★☆★☆☆☆★"
endl;
★☆☆★"
★☆<
1>
添加联系人<
2>
显示联系人☆★"
3>
查找联系人<
4>
修改联系人☆★"
5>
删除联系人<
6>
保存并退出☆★"
★☆☆☆★☆★☆☆☆★★☆☆☆★☆★☆☆☆★★☆☆☆★☆★☆☆☆★"
请输入数字键选择你需要的功能:
;
cin>
>
number;
switch(number)
case1:
data.add();
break;
case2:
data.display();
case3:
data.search();
case4:
data.revise();
case5:
data.delet();
case6:
data.out();
default:
cout<
!
error!
}
}while(number<
7);
voidCperson:
:
add()//添加联系人
loop:
新建联系人:
联系人姓名:
con[n].name;
电话号码:
con[n].phonenumber;
地址:
con[n].address;
邮政编码:
con[n].postalcode;
添加成功!
n++;
是否继续添加?
选择1键继续添加联系人;
输入其他内容按ENTER键则返回主菜单。
if(number==1)
gotoloop;
else
;
display()//显示联系人
显示联系人:
for(inti=0;
i<
n;
i++)
联系人姓名:
con[i].name<
endl
<
电话号码:
con[i].phonenumber<
地址:
con[i].address<
邮政编码:
con[i].postalcode<
search()//查找联系人
查找联系人:
1按姓名查找"
2按电话号码查找"
请选择你需要的查询方式:
intselect,number,i;
select;
switch(select)
//按姓名查找
{
cout<
请输入想要查询的姓名:
stringname;
cin>
name;
for(i=0;
=n;
if(con[i].name==name)
{
break;
}
if(con[i].name!
=name)
{
cout<
该姓名不存在。
选择1键返回上一步;
输入其他内容后按ENTER键返回主菜单。
cin>
if(number==1)
gotoloop;
else
break;
}
}
//按电话号码查找
loop1:
请输入想要查询的电话号码:
stringphonenumber;
phonenumber;
if(con[i].phonenumber==phonenumber)
break;
if(con[i].phonenumber!
=phonenumber)
cout<
对应该电话号码的联系人不存在。
输入其他内容后按ENTER键返回主菜单;
cin>
gotoloop1;
revise()//修改联系人
修改联系人:
intnumber,number2;
请输入你想修改的联系人的姓名:
if(con[i].name==name)
请输入你要修改哪一项:
1.姓名;
2.电话号码;
3.地址;
4.邮政编码"
cin>
switch(number)
case1:
cout<
请输入新的姓名:
con[i].name=name;
修改完成!
!
case2:
请输入新的电话号码:
con[i].phonenumber=phonenumber;
case3:
请输入新的地址:
address;
con[i].address=address;
case4:
请输入新的邮政编码:
postalcode;
con[i].postalcode=postalcode;
number2;
switch(number2)
gotoloop;
default:
delet()//删除联系人
删除联系人:
inti;
请输入想要删除的联系人姓名:
for(i=0;
if(con[i].name==name)
{
for(intj=i;
j<
n-1;
j++)
con[j]=con[j+1];
n--;
该联系人已被删除。
该联系人没有记录,请重新输入。
out()//退出
(1)继续操作;
(2)退出系统。
$$$$$$$$$$$$$$$
(1)添加联系人$$$$$$$$$$$$$$$"
<
$$$$$$$$$$$$$$$
(2)显示联系人$$$$$$$$$$$$$$$"
$$$$$$$$$$$$$$$(3)找查联系人$$$$$$$$$$$$$$$"
$$$$$$$$$$$$$$$(4)修改联系人$$$$$$$$$$$$$$$"
$$$$$$$$$$$$$$$(5)删除联系人$$$$$$$$$$$$$$$"
$$$$$$$$$$$$$$$(6)退出$$$$$$$$$$$$$$$"
data.add();
data.display();
data.search();
data.revise();
case5:
data.delet();
case6:
data.out();
default:
break;
ofstreamout("
通讯录.txt"
);
out<
******************************************************"
********************欢迎你的使用!
********************"
exit(0);
5、程序运行的测试与分析
6、结论与心得
程序运行的结果有时会出错,经过多次修改程序最总达到了预期效果,得到了我想要的结果,通过反复的看书,牢记基本的处理方法,再在实践中不断总结并与书上例题比较,掌握起规律,在本设计中我只涉及到了题目的基本要求,并未使用拓展,事实上本题使用数据结构中的链表知识会更简单,但因为掌握不熟练,因此使用类数组形式来完成了该程序。
通过这个实验,我认识到了只掌握课本知识是不够的,所以自己还是要多拓展知识面,全面的学习。
7、参考资料
[1]谭浩强,《C++程序设计》,北京,清华大学出版社,2006年.
课程设计成绩评定表
对课程设计工作过程的简短介绍和自我评价
学生签名:
2013年月日
(以下由评定小组教师填写)
质量评价指标(在相应栏目打√)
评价项目
评价质量
优秀
良好
一般
及格
不及格
工作量和态度
实验、计算可靠性
文字和图表质量
总体评价
评定成绩(百分制)
评定小组成员签名
制定人:
单缅审定人:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VC 通讯录 程序设计 报告