通讯录管理系统C++设计报告 c++课程程序设计论文 软件工程信息工程学位毕业论文设计范文模板参考资料Word文件下载.docx
《通讯录管理系统C++设计报告 c++课程程序设计论文 软件工程信息工程学位毕业论文设计范文模板参考资料Word文件下载.docx》由会员分享,可在线阅读,更多相关《通讯录管理系统C++设计报告 c++课程程序设计论文 软件工程信息工程学位毕业论文设计范文模板参考资料Word文件下载.docx(26页珍藏版)》请在冰点文库上搜索。
输入一个信息、删除一个信息、查询一个信息、插入一个信息、列出所有的信息、退出该程序。
这五个函数再通过主函数调用分别得以实现。
主函数,首先提供了程序运行时的友好界面,列出了清单,提供用户做出选择,以便决定使用通讯录的哪种功能。
然后,通过执行多分支选择语句——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:
#birth[20]:
#add[20]:
#tel[15]:
#email[30]:
char
+next(:
book*)
+book()
+~book()
+getnum():
int
+getname():
char*
+getsex():
char
+getage():
+getbirth():
+getadd():
+gettel():
+getemail():
+input():
void
+output():
Manage
-head:
book*
-key:
+manage()
+~manage()
+mend():
+del();
+find((*p:
book*,num:
int,pn=”^”:
+found():
+show():
+count():
+save():
+begin():
+clear():
+mainmenu():
+getkey():
+setkey(k:
int):
2.2类设计
2.3数据结构
序号
数据项
标识符
类型
范围
1
姓名
name
20
2
电话
tel
15
3
E-mail
email
30
4
地址
add
5
邮编
postcode
编号
赵匡胤
5135163
zxcvb@
X市X路XX号
830011
钱冠
4152351
tvgame@
572000
孙权
6743646
234wer@
241444
李白
2343256
314242@
245551
2.4界面设计
提示:
系统的主窗体、登陆窗口、数据编辑窗口、数据查询、数据输出
登陆界面:
§
§
★★
※通迅录※"
※1.添加新联系人4.修改联系人信息※
※2.删除联系人5.查找联系人.※
※3.显示所有联系人6.退出程序※"
★★"
输出界面:
姓名电话e-mail地址邮编
XX3243244zx@三亚荔枝沟镇123号572000
第3章系统实现
#ifndefyyy
#defineyyy
#include<
iostream>
string>
fstream>
iomanip>
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<
<
"
按照提示输入:
endl;
\t\t输入联系人编号:
;
cin>
>
num;
\t\t输入姓名:
"
name;
do
\t\t输入性别:
sex;
if(strcmp(sex,"
男"
)==0||strcmp(sex,"
女"
)==0)
\t\t输入年龄:
age;
\t\t输入生日:
\t\t输入地址:
add;
\t\t输入电话:
tel;
\t\t输入e-mail:
email;
e=0;
}
else
\t\t\t无此类型性别!
重新输入!
e=1;
}while(e);
voidinput(book&
is)
is.num;
is.name;
is.sex;
is.add;
is
.tel;
is.email;
voidoutput()
基本信息如下:
编号:
num<
姓名:
<
性别:
sex
地址:
电话:
e-mail:
email<
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<
cstdlib>
classbook
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="
number="
post="
mail="
charbook:
inter_face()
system("
cls"
);
cout<
\t\t§
endl
\t\t★★"
\t\t※通迅录※"
endl
\t\t※1.添加新联系人4.修改联系人信息※"
\t\t※2.删除联系人5.查找联系人.※"
\t\t※3.显示所有联系人6.退出程序※"
endl<
\t\t\t选择:
;
charchoose;
cin>
choose;
fflush(stdin);
returnchoose;
voidbook:
add_person()
根据下面提示输入新联系人信息"
姓名:
电话:
number;
E-mail:
mail;
邮编:
post;
地址:
address;
save_new();
联系人信息已保存"
pause"
del_person()
ofstreamoutData("
temp.txt"
ios:
out);
ifstreaminData("
pbook.txt"
in);
//
if(!
outData||!
inData)
文件未找到"
return;
stringsign;
请输入要删除输入姓名或电话:
sign;
stringstr1;
boolflag=true;
stringstr;
while(inData>
name>
number)
getline(inData,str);
if((sign==name)||(sign==number))
请输入想删除的联系人:
str1<
setiosflags(ios:
left)<
setw(17)<
number<
str<
flag=false;
break;
outData<
if(flag)
电话簿中无此人"
while(getline(inData,str))
outData.close();
inData.close();
ofstreamout("
ifstreamin("
if(!
out||!
in)
文件不能打开"
while(getline(in,str))
out<
out.close();
//
in.close();
信息已删除"
show_all()
ios:
没有找到文件"
stringrecord;
while(getline(inData,record))
所有联系人信息如下:
姓名电话E-mail邮编地址:
record<
你的通迅录中没有联系人!
!
所有联系人已经全部显示出来!
alter()
未找到文件"
你要修改输入姓名或电话号:
输入想修改的联系人:
请根据下面提示修改信息:
电话:
通讯簿中无此人"
信息已修改"
select()
输入想查找的联系人的姓名或电话:
if((name==sign)||(number==sign))
你要查找的联系人是:
save_new()
app);
outData)
文件打开失败"
setiosflags(ios:
setw(17)<
name
setw(16)<
number<
setw(18)<
mail<
setw(14)<
post<
setw(20)<
address<
enumpower{ADD='
1'
DEL='
2'
SHOW='
3'
Alter='
4'
Select='
5'
END='
6'
intmain()
bookabj;
while(choose=abj.inter_face())
switch(choose)
caseADD: