c++shujujiesWord下载.docx
- 文档编号:15042905
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:25
- 大小:147.76KB
c++shujujiesWord下载.docx
《c++shujujiesWord下载.docx》由会员分享,可在线阅读,更多相关《c++shujujiesWord下载.docx(25页珍藏版)》请在冰豆网上搜索。
本文介绍了简易通讯录管理系统在MicrosoftVisualC++6.0环境下的实现过程:
系统的分析,功能模块的设计,系统的调试和测试。
此系统的主要管理的信息有:
联系人的姓名,联系人的号码.本系统的主要功能有联系人的添加、删除、插入、显示.可以随时查找修改通讯录.
实现主要功能:
建立文件,文件的存取和显示,删除记录,查询记录,使用list类等。
可以随时检索,删除,或增加记录,也可以保存或取消新的记录。
姓名可以由字符和数字混合编码。
电话号码可由字符和数字组成。
关键词:
通讯录、功能模块(函数)、文件操作、list类、面向对象
1需求分析
1.1功能需求分析:
通讯录主要有一下模块:
通讯录界面设计、添加联系人、删除联系人、显示所有联系人、修改信息、查询联系人,其中姓名可以由字符和数字混合编码,电话号码可由字符和数字组成。
1.11通讯录界面设计
主要功能是设计通讯录的界面,能够提示用户的实际操作等。
我采用的是按照序号来实现相应的操作的,其中:
1添加联系人2删除联系人3显示所有联系人4修改信息5查询联系人6关闭通讯录
1.12通讯录添加联系人模块
主要功能是添加联系人模块,添加操作是根据用户的要求实现的。
包括添加联系人的姓名、电话、QQ、邮编、地址等,最后输入完成后,将提示新联系人信息已经保存好!
!
1.13通讯录删除联系人模块
主要功能是删除不再需要的联系人。
其中包括输入你要删除输入电话或电话号码如果没有的话,将提示:
对不起!
联系人中没你要找的人!
如果找到,
则提示删除联系人的所有信息和这个人的信息已经从你的通讯录中删除的信息!
1.14通讯录显示所有联系人模块
显示所有的联系人的信息,包括姓名、电话、QQ、邮编、地址并提示所有联系人已经全部显示出来!
1.15通讯录修改联系人模块
主要是修改联系人的信息,界面提示要输入需要修改的姓名或者电话号码,如果不正确,显示对不起,联系人中没有你找的人。
如果正确,则显示出改联系人的所有信息,并提示根据下面提示修改信息,姓名、电话号、QQ、邮编、地址等
1.16通讯录关闭通讯录模块
提示谢谢使用!
1.2环境需求分析:
操作系统:
WindowsXP
开发软件:
Visual2008
1.3方法需求分析
该系统由于数据可能会很大,故采用文件操作,能够打开或修改指定文件及将多个文件组成一个文件。
而联系人的信息则通过类的对象来保存,它完全使用类来实现,充分体现面向对象的程序设计特点。
2概要设计
2.1系统功能模块图
通讯录系统
信息的初始化
添加联系人
删除联系人
显示所有联系人
修改信息
查询联系人
关闭通讯录
2.2设计思想:
通讯录系统是用面向对象的方法设计,在类中定义了一下方法:
add_person(),del_person(),show_all(),alter(),select(),save_new()等方法和name,address,
,number,post,qq属性来实现通讯录的各种操作。
3详细设计
3.1设计原理
通讯录管理系统以菜单选择,通过调用各个函数,通过使用各种循环语句如while和do…while,实现不同的功能.不同函数处理后返回的只是一个头结点,但是通过头结点可以找到所有链表中的信息,只要有函数,找到头指针就能进行相应的操作,所以模块化的程序方便以后添加或者删除某些功能,程序中通过system(“cls”)清屏函数实现界面的转换,主函数中的循环保证程序不会退出,一个循环和一个清屏函数实现了主菜单和各子画面的切换(子函数)。
这样的话各个子函数都可以调用一开始输入的数据,这样就实现了各个不同函数调用时都能使用整个系统连续起来了。
作为一个通讯录管理系统,增加了文件的读入和写出功能,增加了程序的实用性。
3.2主要代码描述
3.21添加联系人的实现;
通过输入联系人的如下信息:
姓名、电话、QQ、邮编、地址,并把输入的信息保存对象的属性,创建或者打开文件,并向文件中写入新添加的联系人信息
添加联系人的具体代码:
voidbook:
:
add_person()
{
cout<
<
endl<
"
根据下面提示输入新联系人信息"
<
endl
<
姓名:
;
cin>
>
name;
fflush(stdin);
电话:
"
;
number;
QQ:
qq;
邮编:
post;
地址:
address;
save_new();
新联系人信息已经保存好!
!
endl;
system("
pause"
);
}
保存联系人的代码:
save_new()
ofstreamoutData("
pbook.txt"
ios:
app);
if(!
outData)
{
cout<
对不起!
打开文件失败!
system("
return;
}
outData<
setiosflags(ios:
left)<
setw(17)<
name
setw(16)<
number<
setw(18)<
qq<
setw(14)<
post<
setw(20)<
address<
outData.close();
3.22删除联系人的实现
首先输入你要删除电话号码,删除操作时采用输入的姓名或者电话号码与文件中的姓名或者电话号码比较,从头到尾开始遍历,如果没有的话,将提示:
如果找到,则提示删除联系人的所有信息和这个人的信息已经从你的通讯录中删除的信息!
//删除联系人
del_person()
temp.txt"
out);
ifstreaminData("
in);
//
outData||!
inData)
找不到文件!
stringsign;
你要删除输入姓名或电话号:
sign;
stringstr1;
boolflag=true;
stringstr;
while(inData>
name>
number)
getline(inData,str);
if((sign==name)||(sign==number))
{
cout<
你想删除的联系人:
str1<
setiosflags(ios:
setw(17)<
name
<
number<
str<
flag=false;
break;
}
outData<
<
if(flag)
联系人中没你找的人!
else
while(getline(inData,str))
outData<
outData.close();
inData.close();
ofstreamout("
ifstreamin("
if(!
out||!
in)
对不起不能打开文件!
system("
return;
while(getline(in,str))
out<
out.close();
//
in.close();
这个人的信息已经从你的通迅录中删除!
3.23显示所有联系人的实现:
把文件中的各种信息读取并显示出来,代码如下:
//显示所有联系人
show_all()
ios:
没有找到文件!
stringrecord;
while(getline(inData,record))
if(flag)
所有联系人信息如下:
record<
flag=false;
你的通迅录中没有联系人!
所有联系人已经全部显示出来!
}
3.24修改联系人模块
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- shujujies