电话簿管理程序设C++.docx

上传人:b****6 文档编号:7167755 上传时间:2023-01-21 格式:DOCX 页数:13 大小:39.44KB
下载 相关 举报
电话簿管理程序设C++.docx_第1页
第1页 / 共13页
电话簿管理程序设C++.docx_第2页
第2页 / 共13页
电话簿管理程序设C++.docx_第3页
第3页 / 共13页
电话簿管理程序设C++.docx_第4页
第4页 / 共13页
电话簿管理程序设C++.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

电话簿管理程序设C++.docx

《电话簿管理程序设C++.docx》由会员分享,可在线阅读,更多相关《电话簿管理程序设C++.docx(13页珍藏版)》请在冰豆网上搜索。

电话簿管理程序设C++.docx

电话簿管理程序设C++

综合实验电话簿管理程序设

一、实验目的

综合运用面向对象程序设计的基础知识,设计一个小型的应用程序,提高解决问题的能力。

二、实验内容

设计一个电话簿管理程序,要求:

1、具有添加、删除、显示、修改和查询联系人电话号码的功能。

2、联系人的信息保存到文件中。

3、可以实现为控制台程序或图形界面程序。

4、按学院实验报告要求格式书写实验报告。

三、实验原理:

实验中涉及了类的构造,用类book实现对数据的封装,函数的调用,用成员函数voidadd_person(),voiddel_person(),voidshow_all(),voidalter(),voidselect(),实现文件的添加、删除、显示、修改和查询功能。

四、实现环境:

vc++6.0环境下运行

 

六、实现程序如下:

#include

#include

#include

#include

#include

usingnamespacestd;

classbook

{

public:

book();//默认构造函数

charinter_face();//首页

voidadd_person();//添加联系人

voiddel_person();//删除联系人

voidshow_all();//显示所有联系人

voidalter();//修改信息

voidselect();//查询联系人

voidselect();//保存新增加的联系人

private:

stringname;//姓名

stringnumber;//电话号码

};

Book:

:

book()

{Name="\0";

number="\0";

}//首页

charbook:

:

inter_face()

{system("cls");

cout<

cout<<"\t\t通迅录"<

<<"\t\t1.添加新联系人.4.修改信息."<

<<"\t\t"<

<<"\t\t2.删除联系人.5.查询联系人."<

<<"\t\t"<

<<"\t\t3.显示所有联系人.6.关闭通迅录."<

<<"\t\t"<

<<"\t\t\t选择:

";

charchoose;

cin>>choose;

fflush(stdin);

returnchoose;

}

//添加联系人

voidbook:

:

add_person()

{

cout<

<<"姓名:

";

cin>>name;

fflush(stdin);

cout<<"电话:

";

cin>>number;

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<

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(inData,str);

if((sign==name)||(sign==number))

{

cout<

"<

cout<

cout<

:

left)<

<<""<

cout<

"<

cout<<"姓名:

";

cin>>name;

fflush(stdin);

cout<<"电话号:

";

cin>>number;

fflush(stdin);

save_new();

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:

:

select()

{ifstreaminData("pbook.txt",ios:

:

in);

if(!

inData)

{

cout<

文件找不到!

"<

system("pause");

return;

}

stringsign;

cout<

";

cin>>sign;

fflush(stdin);

stringstr1;

boolflag=true;

stringstr;

while(inData>>name>>number)

{getline(inData,str);

if((name==sign)||(number==sign))

{

cout<

"<

cout<

cout<

:

left)<

<

flag=false;

system("pause");

break;}

}

}

voidbook:

:

save_new()

{

ofstreamoutData("pbook.txt",ios:

:

app);

if(!

outData)

{

cout<

打开文件失败!

"<

system("pause");

return;}

outData<

:

left)<

<<""<

<

outData.close();}

enumpower{ADD='1',DEL='2',SHOW='3',Alter='4',Select='5',END='6'};

intmain()

{

charchoose;

bookabj;

while(choose=abj.inter_face())

{switch(choose)

{

caseADD:

abj.add_person();////添加联系人

break;

caseDEL:

abj.del_person();////删除联系人

break;

caseSHOW:

abj.show_all();////显示所有联系人

break;

caseAlter:

abj.alter();////修改信息

break;

caseSelect:

abj.select();////查询联系人

break;

caseEND:

cout<

"<

exit(0);

break;

default:

break;}}

return0;}

五、流程图:

 

八、实验中遇到的问题及解决方法:

局部变量不能没有初始化就使用了,例如Name="\0";需要初始化。

成员函数前没有加类名导致程序出错,书中提到必须在成员函数名前面加上类名,并且在类名与成员函数之间用:

间隔。

还有在类声明结束时后面一定要加;在程序中忘了加,使程序运行时出错了。

【实验总结】

第一次上机时对在c++6.0下环境还不是很熟悉,通过几次上机后,掌握了一些基本知识。

比如怎样建一个工程,怎样调试程序,怎样添加函数等的一些小问题。

不过在一些地方还是有些不懂。

通过这次实验,我也学会了一些东西,通过自己的努力和别人的帮忙和讲解,终于把程序弄出来了,程序中的插入、删除、添加、查询等问题在c语言和数据结构中也已经运用很多次了,但这次需要运用在c++在类中实现这个问题,这就需要对它有熟练的掌握了。

平时在课上学的不是很好,通过这次练习,我发现自己还有许多欠缺的地方,为了以后的学习其它本专业的知识打好基础,我还要多学一些东西来武装自己了。

【指导教师评语及成绩】

 

成绩:

指导教师(签字):

年月日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1