通讯录课程设计Word文档下载推荐.docx
- 文档编号:21107957
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:17
- 大小:126.12KB
通讯录课程设计Word文档下载推荐.docx
《通讯录课程设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《通讯录课程设计Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。
创建新的通讯录.
第五个模块--Add()的功能是:
在通讯录的末尾,写入新的信息,并返回选单.
第六个模块--Find()的功能是:
查询某人的信息如果找到了,则显示该人的信息,如果未找到,则显示通讯录中没有此人的信息,并返回选单。
第七个模块--Alter()的功能是:
修改某人信息,如果未找到则显示通讯录中无此人信息,并返回菜单
第八个模块--Delete()的功能是:
删除某人的信息,如果未找到要修改的某人的信息,则提示通讯录中没有此人的信息,并返回选单。
第九个模块--List的功能是:
显示通讯录中的所有记录。
第十个模块--save()的功能:
存储数据放在f.dat。
#include<
conio.h>
//清屏
windows.h>
fstream>
iostream>
string>
string.h>
iomanip>
usingnamespacestd;
structNUM//电话本结构体
{
stringhom;
stringoff;
stringtel;
};
structBOOK//定义结构体类型BOOK
stringname;
NUMnums[10];
stringaddr;
}book[10];
voidchose();
voidQuit();
statici=0;
voidmenu()//菜单函数
system("
CLS"
);
cout<
<
endl;
cout<
"
\t\t★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★"
<
endl
\t\t☆☆"
\t\t★Recordopenlyandfast★"
endl
\t\t★1.Add(添加).4.Modification(修改).★"
\t\t★2.Deletion(删除).5.Inquiry(查询).★"
\t\t★3.Reveal(输出).6.Withdraw(退出).★"
endl<
\t\t\tchose:
;
chose();
}
voidsave()//保存数据
ofstreamoutfile("
f.dat"
if(!
outfile)
{
cerr<
Itisunabletoopen!
!
//提示无法打开
exit
(1);
}
inth=0;
do
outfile<
book[h].name<
<
"
book[h].nums[h].hom<
book[h].nums[h].off<
book[h].nums[h].tel<
book[h].addr<
h++;
}while(h<
i);
outfile.close();
voidcreat()//添加联系人
//清屏
if(i>
9)
cout<
Thememoryhasbeenalreadyfull!
//如果输入的数据大于10,则提示内存满
Mainmenu/Quit?
(M/Q)"
;
//主菜单/退出?
(M/Q)
charl;
cin>
>
l;
switch(l)
{
case'
M'
:
m'
system("
menu();
break;
Q'
q'
Quit();
default:
cout<
Inputthemistake!
cout<
Pressanykeytocontinue."
endl;
//按任意键继续
getch();
//输入错误
}
menu();
else
Name:
book[i].name;
Hometelephone:
book[i].nums[i].hom;
Officenumber:
book[i].nums[i].off;
Mobilephone:
book[i].nums[i].tel;
Homeaddress:
book[i].addr;
i++;
save();
system("
Thecontacthasalreadykept!
endl//联系人已保存
<
Goonadding?
(Y/N)"
//是否继续添加
charc;
c;
switch(c)
N'
n'
Y'
y'
creat();
cout<
voidList()//显示所有联系人
ifstreaminfile("
infile)
cout.setf(ios:
left);
//输出数据在本域宽范围内向左对齐
intn=0;
for(intm=0;
m<
i;
m++)
infile>
book[m].name>
book[m].nums[m].hom
>
book[m].nums[m].off>
book[m].nums[m].tel>
book[m].addr;
book[m].name<
endl//姓名
Hometelephone:
book[n].nums[n].hom<
endl//住宅电话
Officenumber:
book[n].nums[n].off<
endl//办公号码
Mobilephone:
book[n].nums[n].tel<
endl//手机号码
Homeaddress:
book[n].addr<
endl<
//住宅地址
n++;
1:
Mainmenu"
2:
Quit"
charl;
cin>
switch(l)
case'
1'
2'
default:
cout<
getch();
voidFind()//查询联系人
stringNM;
Pleaseinputthenamethatwillbeinquiredaboutthecontact:
//提示输入要查询联系人的姓名
NM;
intm=0;
boolfabl=0;
for(intj=0;
j<
j++)
m=0;
if(NM==book[j].name)
{fabl=1;
m=j;
continue;
elsefabl=0;
if(fabl==0)cout<
Thiscontacthasnotexistedoralreadydeleted!
//提示"
此联系人不存在或已删除"
elseif(fabl==1)
book[m].nums[m].hom<
book[m].nums[m].off<
book[m].nums[m].tel<
book[m].addr<
Finishinquiring!
//查询完毕
Goon"
Find();
voidAlter()//修改信息
Pleaseinputthenameofthecontactthatwillrevise:
//请输入要修改的联系人的姓名
stringCh;
Ch;
inta=0;
boolfabl2=0;
for(intb=0;
b<
b++)
a=0;
if(Ch==book[b].name)
{fabl2=1;
a=b;
elsefabl2=0;
if(fabl2==0)cout<
Thiscontacthasnotexistedoralreadydeleted!
//此联系人不存在或已删除
elseif(fabl2==1)
cout.setf(ios:
Theprimitiveinformationofthecontactwhomyouwanttoreviseis:
//您要修改的联系人的原始信息为
book[a].name<
book[a].nums[a].hom<
book[a].nums[a].off<
book[a].nums[a].tel<
book[a].addr<
endl//住宅地址
Pleaseinputnewinformation:
endl//请输入新的信息
Name:
book[a].name;
book[a].nums[a].hom;
book[a].nums[a].off;
book[a].nums[a].tel;
Homeaddress:
book[a].addr;
Informationisrevisedsuccessfully!
//修改成功
Goonalter"
Alter();
Inputthemistake!
voidDEL()//删除联系人
Pleaseinputthenameofcontactthatyouwanttodelete:
//请输入您要删除的联系人的姓名
boolfabl3=0;
{fabl3=1;
elsefabl3=0;
if(fabl3==0)cout<
elseif(fabl3=1)
for(a=b;
a<
a++)
book[a].name=book[a+1].name;
book[a].nums[a].hom=book[a+1].nums[a+1].hom;
book[a].nums[a].off=book[a+1].nums[a+1].off;
book[a].nums[a].tel=book[a+1].nums[a+1].tel;
book[a].addr=book[a+1].addr;
i=i-1;
Thecontactdeletessuccessfully!
//联系人删除成功
intn=0;
do
{
book[n].name<
<
}
while(n<
Goondelete"
DEL();
voidQuit()//退出
Doyousuretoquit?
(Y/N):
charp;
p;
switch(p)
Thanksanduse!
exit(0);
voidchose()//选择
charQ;
Q;
switch(Q)
3'
List();
4'
5'
6'
voidmain()//主函数
menu();
四、函数结构图:
五、
函数流程图:
六、运行结果:
例如:
在做程序设计之前,我曾一度觉得我的《通讯录》比较简单,并且会又好几种的做法,例如:
结构体、类、指针等等。
可是当我真正开始做的时候,我才发现,原来课程设计并不像我想象的那么简单。
编写出来的程序不仅要实现各种功能的函数还要保证函数之间的联系,还要保证程序能够很好的并且有效的运行。
在编写程序的过程中,我遇到了一些以前没有用到的知识,像怎么样把输入的数据另存到另一个文件中去,再例如,函数中的一些清屏的功能,这些都需要通过函数的功能来实现,这些都我来说都是新知识,而且很有难度。
由于编写程序遇到了一些老师没有讲过的新知识,所以在程序设计进行到一半的时候,不得不停了下来,花了一个通宵,把课本里老师没有给我们讲过的新知识给学了一下,终于皇天不负有心人,如此复杂的工作还是被我完成了。
当然,在编程的过程中,也遇到了很多自己无法解决的困难,但是通过同学的帮助,使我一点一点的战胜了难题。
而且他们还给了我好多的建议,这在我编程的过程中起到了很大的作用。
【1】谭浩强,《C++程序设计》,清华大学出版社,2006年。
【2】《C语言程序设计》西安,西安交通大学出版社,2007年。
工程完成时间:
2008-6-28
张东地
07电信
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通讯录 课程设计