通讯录管理系统设计报告.doc
《通讯录管理系统设计报告.doc》由会员分享,可在线阅读,更多相关《通讯录管理系统设计报告.doc(21页珍藏版)》请在冰点文库上搜索。
通讯录管理系统《C++设计报告》
通讯录管理系统
设计报告
姓名:
SpringBrother
学号:
专业:
指导教师:
目录
【摘要】 3
第1章概述(_黑体小二号字) 4
1.1系统实现的目标(黑体小三号字) 4
1.2系统实现方案 4
1.3系统实现环境 4
1.4具体的开发方法 4
第2章系统设计 5
2.1总体设计 5
2.2类设计 5
2.3数据结构 5
2.4界面设计 5
第3章系统实现 6
参考文献 7
【摘要】
日益繁多的人际交往使得我们很难记住与每个人之间的联系方式,通讯录能够便捷的给我们带来所需要的相关信息。
而随着计算机的普及,人们的生活摆脱了传统式的记事本、电话簿,越来越多的靠计算机或者手机中的电话簿程序来帮助人们记住这些事情,极其简便。
这就需要有一个使用的通讯录管理系统,用户可以方便的通过自己电脑的通讯录管理系统,来随时查阅自己所需要的信息,而不必再大费周折去翻开那繁琐的记事本。
通讯录管理系统是一个专门针对储存用户联系方式以及一些简单个人信息的实用管理系统,它方便了用户对众多客户、朋友、同事等个人信息的储存和快速查阅的功能,大大减少了查找过程的时间。
【关键词】C++通讯录管理查找修改删除类
第1章概述
1.1系统实现的目标
(1)录入:
通讯录信息包括:
姓名,电话,地址,E-mail,邮编等信息。
(2)更新:
能插入、删除通讯录信息。
.
(3)浏览:
能够查看所有的通讯录信息。
(4)查询:
能实现指定姓名信息查询或指定编号查询功能。
(5)系统以菜单方式工作,界面友好,易于操作。
1.2系统实现方案
为实现系统功能,本程序主要分为五个模块。
它们分别为:
输入一个信息、删除一个信息、查询一个信息、插入一个信息、列出所有的信息、退出该程序。
这五个函数再通过主函数调用分别得以实现。
主函数,首先提供了程序运行时的友好界面,列出了清单,提供用户做出选择,以便决定使用通讯录的哪种功能。
然后,通过执行多分支选择语句——switch语句,分别实现其它各个函数的调用功能。
1.3系统实现环境
通过VC++6.0用C++语言对程序进行编写设计
在windows界面下用DOS访问
1.4具体的开发方法
用面向对象的程序设计方法,运用C++语言编写程序进行该学生考勤管理系统的详细设计,使之能提供录入、显示、查找、删除、修改的功能。
最后在VC++6.0环境下编写和调试程序,进而完成系统的实现。
第2章系统设计
2.1总体设计
用户界面
删除
编辑
主函数
查找
退出
输入
显示
功能:
1.输入联系人的信息
2.显示联系人的信息
3.查找联系人的信息
4.删除联系人的信息
5.编辑人的信息
Book
#num:
int;
#charname[20]:
char;
#sex[6]:
char;
#age:
int;
#birth[20]:
char;
#add[20]:
char;
#tel[15]:
char;
#email[30]:
char
+next(:
book*)
+book()
+~book()
+getnum():
int
+getname():
char*
+getsex():
char
+getage():
char
+getbirth():
char
+getadd():
char
+gettel():
char
+getemail():
char
+input():
void
+output():
void
Manage
-head:
book*
-key:
int
+manage()
+~manage()
+input():
void
+mend():
void
+del();void
+find((*p:
book*,num:
int,pn=”^”:
char*
+found():
void
+show():
void
+count():
void
+save():
void
+begin():
void
+clear():
void
+mainmenu():
char
+getkey():
int
+setkey(k:
int):
void
2.2类设计
2.3数据结构
序号
数据项
标识符
类型
范围
1
姓名
name
char
20
2
电话
tel
char
15
3
E-mail
email
char
30
4
地址
add
char
20
5
邮编
postcode
char
15
编号
姓名
电话
E-mail
地址
邮编
1
赵匡胤
5135163
zxcvb@
X市X路XX号
830011
2
钱冠
4152351
tvgame@
X市X路XX号
572000
3
孙权
6743646
234wer@
X市X路XX号
241444
4
李白
2343256
314242@
X市X路XX号
245551
2.4界面设计
提示:
系统的主窗体、登陆窗口、数据编辑窗口、数据查询、数据输出
登陆界面:
§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
★★
※通迅录※"
★★
※1.添加新联系人4.修改联系人信息※
★★
※2.删除联系人5.查找联系人.※
★★
※3.显示所有联系人6.退出程序※"
★★"
§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
输出界面:
姓名电话e-mail地址邮编
XX3243244zx@三亚荔枝沟镇123号572000
第3章系统实现
#ifndefyyy
#defineyyy
#include
#include
#include
#include
usingnamespacestd;
classbook
{
protected:
intnum;
charname[20];
charsex[6];
charadd[20];
chartel[15];
charemail[30];
public:
book*next;
book(){}
~book(){}
char*getname(){returnname;}
intgetnum(){returnnum;}
voidinput()
{
inte=1;
cout<<"按照提示输入:
"< cout<<"\t\t输入联系人编号:
";
cin>>num;
cout<<"\t\t输入姓名:
";
cin>>name;
do
{
cout<<"\t\t输入性别:
";
cin>>sex;
if(strcmp(sex,"男")==0||strcmp(sex,"女")==0)
{
cout<<"\t\t输入年龄:
";
cin>>age;
cout<<"\t\t输入生日:
";
cout<<"\t\t输入地址:
";
cin>>add;
cout<<"\t\t输入电话:
";
cin>>tel;
cout<<"\t\t输入e-mail:
";
cin>>email;
e=0;
}
else
{
cout<<"\t\t\t无此类型性别!
重新输入!
"<e=1;
}
}while(e);
}
voidinput(book&is)
{
is.num;is.name;is.sex;is.add;is
.tel;is.email;
}
voidoutput()
{
cout<<"基本信息如下:
"<cout<<"编号:
"<"<<<"性别:
"<<<"地址:
"<<<"电话:
"<<<"e-mail:
"<}
voidoutput(book&os)
{
os.num;
os.name;
os.add;
os.tel;
os.email;
}
};
#endif
登陆界面:
信息录入:
信息查询:
参考文献
[美]RobertL.Krusw,AlexanderJ.Ryba著,钱丽萍译,C++数据结构与程序设计,清华大学出版社,2004
谭浩强编著,C++程序设计,清华大学出版社,2004
刁成嘉主编,面向对象C++程序设计,机械工业出版社,2004
附录
#include
#include
#include
#include
#include
usingnamespacestd;
classbook
{
public:
book();//默认构造函数
charinter_face();//首页
voidadd_person();//添加联系人
voiddel_person();//删除联系人
voidshow_all();//显示所有联系人
voidalter();//修改信息
voidselect();//查询联系人
voidsave_new();//保存新增加的联系人
private:
stringname;//姓名
stringaddress;//地址
stringnumber;//电话号码
stringpost;//邮编
stringmail;//E-mail
};
book:
:
book()
{
name="\0";
address="\0";
number="\0";
post="\0";
mail="\0";
}
//首页
charbook:
:
inter_face()
{
system("cls");
cout<cout<<"\t\t§§§§§§§§§§§§§§§§§§§§§§§§§§"<<<"\t\t★★"<<<"\t\t※通迅录※"<<<"\t\t★★"<<<"\t\t※1.添加新联系人4.修改联系人信息※"<<<"\t\t★★"<<<"\t\t※2.删除联系人5.查找联系人.※"<<<"\t\t★★"<<<"\t\t※3.显示所有联系人6.退出程序※"<<<"\t\t★★"<<<"\t\t§§§§§§§§§§§§§§§§§§§§§§§§§§"<<<"\t\t\t选择:
";
charchoose;
cin>>choose;
fflush(stdin);
returnchoose;
}
//添加联系人
voidbook:
:
add_person()
{
cout<<<"姓名:
";
cin>>name;
fflush(stdin);
cout<<"电话:
";
cin>>number;
fflush(stdin);
cout<<"E-mail:
";
cin>>mail;
fflush(stdin);
cout<<"邮编:
";
cin>>post;
fflush(stdin);
cout<<"地址:
";
cin>>address;
fflush(stdin);
save_new();
cout<system("pause");
}
//删除联系人
voidbook:
:
del_person()
{
ofstreamoutData("temp.txt",ios:
:
out);
ifstreaminData("pbook.txt",ios:
:
in);//
if(!
outData||!
inData)
{
cout<system("pause");
return;
}
stringsign;
cout<";
cin>>sign;
stringstr1;
boolflag=true;
stringstr;
while(inData>>name>>number)
{
getline(inData,str);
if((sign==name)||(sign==number))
{
cout<"<cout<cout<:
left)<<<""<flag=false;
break;
}
outData<:
left)<<<""<}
if(flag)
{
cout<}
else
{
while(getline(inData,str))
{
outData<}
outData.close();
inData.close();
ofstreamout("pbook.txt",ios:
:
out);
ifstreamin("temp.txt",ios:
:
in);
if(!
out||!
in)
{
cout<system("pause");
return;
}
while(getline(in,str))
{
out<}
out.close();//
in.close();
cout<}
system("pause");
}
//显示所有联系人
voidbook:
:
show_all()
{
ifstreaminData("pbook.txt",ios:
:
in);
if(!
inData)
{
cout<system("pause");
return;
}
boolflag=true;
stringrecord;
while(getline(inData,record))
{
if(flag)
{
cout<"<cout<"<}
cout<flag=false;
}
if(flag)
{
cout<!
!
!
!
"<}
else
{
cout<!
!
!
!
"<}
system("pause");
}
//修改信息
voidbook:
:
alter()
{
ofstreamoutData("temp.txt",ios:
:
out);
ifstreaminData("pbook.txt",ios:
:
in);//
if(!
outData||!
inData)
{
cout<system("pause");
return;
}
stringsign;
cout<";
cin>>sign;
stringstr1;
boolflag=true;
stringstr;
while(inData>>name>>number)
{
getline