C++课程设计通讯录文档格式.docx
《C++课程设计通讯录文档格式.docx》由会员分享,可在线阅读,更多相关《C++课程设计通讯录文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
输入姓名可以查询其本人的电话号码等内容。
要求:
通讯信息至少要包括:
学生姓名、通讯地址、邮政编码、电话号码、QQ号码(可以根据自己爱好增加其他通讯信息)。
2.3系统运行环境分析
硬件配置:
586以上PC兼容机或品牌机,配有彩色显示器、鼠标、键盘,内存不小于64MB,硬盘自由空间不少于200MB。
推荐配置为内存128MB或256MB(或以上),硬盘自由空间500MB以上。
操作系统:
Windows2007/win7、VisualC++集成开发环境。
第三章详细设计说明
3.1模块
3.1.1函数功能模块图
图3.1函数功能模块图
3.1.2模块描述
1)查询联系人模块:
查询联系人模块是用遍历查找要查询的联系人的姓名,然后再显示该数组的信息。
2)增添联系人模块:
增添联系人模块是让用户按提示输入联系人信息,然后用数组来读取联系人信息进行存储,存储完后让数组加1,为下次读取做准备,这个模块之中加入了输入输出流,让联系人的信息保存到电脑的D盘。
3)删除联系人模块:
先让用户输入要删除联系人的姓名,然后用遍历查找存储该联系人的数组,然后将该数组的下一数组的信息保存到该数组中,重复此操作,最终效果是存储该联系人的数组被覆盖了,从而达到删除的效果。
4)修改联系人模块:
一样是先让用户输入要修改联系人的姓名,用遍历查找该联系人的数组,然后对该数组内的信息进行重新输入,即达到修改的效果。
5)显示所有联系人信息模块:
用一个for循环将所有数组的信息进行显示。
6)清空通讯录模块:
用delete函数加for循环将所有数组删除。
3.2流程图
3.3测试计划
先选择添加联系人功能添加三个联系人信息,然后再查询其中一个联系人,检测查询模块。
再修改该联系人信息,检测修改模块。
再删除该联系人,再查询该联系人看是否删除,检测删除模块。
然后再显示所有联系人信息,检测显示所有联系人信息的模块。
最后清空通讯录,再查询联系人信息,看是否清空。
第四章软件检测结果
1、登陆界面:
2、增添联系人
3、查询联系人:
4、删除联系人
5、再查询该删除的联系人:
6、显示所有联系人信息:
7、清空通讯录:
第五章心得体会
做这个程序用了两天,这是我学C++以来做的第一个程序。
刚开始的时候根本找不到思路,然后就上网看别人是怎么设计的,看着别人的设计思路,我才慢慢地了解到如何去设计一个程序,这些都是课上所没有的知识。
所以我始终觉得做课题、做项目或参加比赛是最快提高自己的方法,通过这些锻炼,我们会变得更强。
在这个程序设计中我学到的最宝贵的东西就是我开始懂得如何从零开始设计一个软件,这是个很好的开头,证明对于程序设计,我已经开始入门了,我相信在接下来的日子里,我会进步的更快,同时也非常感谢老师的支持与教导,我会加倍的努力的。
附录Ⅰ
程序代码
#include<
iostream.h>
string.h>
fstream.h>
classlist
{
charname[50];
//学生姓名
charadress[50];
//通讯地址
intcode;
//邮政编码
intnum;
//电话号码
intQnum;
//QQ号码
public:
list(){}
list(charch[50],charsh[50],intc,intn,intQ)//获取信息的函数
{
strcpy(name,ch);
strcpy(adress,sh);
code=c;
num=n;
Qnum=Q;
}
friendvoidmain();
};
voidmain()
cout<
<
"
--------------------------------------------"
endl//主界面
<
★通讯录★"
endl<
endl
★1、查询联系人2、增添联系人★"
★3、修改联系人信息4、删除联系人★"
★5、显示所有联系人信息6、清空通讯录★"
★请选择相应的数字选择功能★"
endl;
list*list1[100];
//定义一个对象数组存放名单
ofstreamcard("
d:
\\card.txt"
);
inti=0;
intj=0;
boolflag2=0;
/作为循环结束的判断charp;
for(;
;
)//大循环
do//判断输入的指令是否正确
cin>
>
p;
if(p>
='
1'
&
p<
6'
)
flag2=1;
else
cout<
指令错误,请重新输入:
}while(flag2=0);
switch(p)
case'
:
//查询联系人
{
charname[50];
charc;
boolflag2=0;
请输入联系人姓名:
"
cin>
name;
do
{
for(inth=0;
h<
i;
h++)
{
if(strcmp(name,list1[h]->
name)==0)
{
flag2=1;
cout<
电话号码:
list1[h]->
num;
通讯地址:
adress;
邮政编码:
code;
QQ号码:
Qnum;
}
}
if(flag2==0)
cout<
无此联系人信息!
flag2=1;
}while(flag2==0);
break;
}
2'
//增添联系人
charname[50];
charadress[50];
charc;
intcode;
intnum;
intQnum;
do
电话号码:
通讯地址:
邮政编码:
j++;
list1[i]=newlist(name,adress,code,num,Qnum);
card<
name<
num<
adress<
code<
Qnum<
i++;
创建成功!
想继续录入吗?
(y/n)"
c;
flag2=0;
if(c!
y'
c!
n'
cout<
cin>
else
flag2=1;
}while(c=='
break;
4'
//删除联系人
请输入要删除的联系人的姓名:
cin>
i--;
do
{
list1[h]=list1[h+1];
h++;
}while(h<
=i);
您要删除的联系人不存在!
要继续删除联系人吗?
}while(c=='
3'
//修改联系人
charadres[50];
intcod;
intnu;
intQnu;
请输入你要修改的联系人的姓名:
请输入电话号码:
cin>
nu;
adres;
cod;
Qnu;
list1[h]->
num=nu;
strcpy(list1[h]->
adress,adres);
code=cod;
Qnum=Qnu;
联系人修改成功!
想继续修改吗?
if(c!
指令错误!
请重新输入!
break;
5'
//显示所有联系人
所有联系人资料显示如下:
if(i==0)
通讯录中暂无建立联系人!
}
else
for(intk=0;
k<
k++)
姓名:
list1[k]->
<
case'
//清空通讯录
for(intx=0;
x<
x++)
{
deletelist1[x];
已删除所有联系人!
}
i=0;
default:
cout<
您想继续其他操作吗?
boolflag3=0;
if(p!
p!
flag3=1;
}while(flag3==0);
if(p=='
<
★通讯录★"
★7、退出★"
continue;
删除所有成员!
}
..