通讯录程序设计.docx

上传人:b****6 文档编号:13016774 上传时间:2023-06-10 格式:DOCX 页数:37 大小:405.38KB
下载 相关 举报
通讯录程序设计.docx_第1页
第1页 / 共37页
通讯录程序设计.docx_第2页
第2页 / 共37页
通讯录程序设计.docx_第3页
第3页 / 共37页
通讯录程序设计.docx_第4页
第4页 / 共37页
通讯录程序设计.docx_第5页
第5页 / 共37页
通讯录程序设计.docx_第6页
第6页 / 共37页
通讯录程序设计.docx_第7页
第7页 / 共37页
通讯录程序设计.docx_第8页
第8页 / 共37页
通讯录程序设计.docx_第9页
第9页 / 共37页
通讯录程序设计.docx_第10页
第10页 / 共37页
通讯录程序设计.docx_第11页
第11页 / 共37页
通讯录程序设计.docx_第12页
第12页 / 共37页
通讯录程序设计.docx_第13页
第13页 / 共37页
通讯录程序设计.docx_第14页
第14页 / 共37页
通讯录程序设计.docx_第15页
第15页 / 共37页
通讯录程序设计.docx_第16页
第16页 / 共37页
通讯录程序设计.docx_第17页
第17页 / 共37页
通讯录程序设计.docx_第18页
第18页 / 共37页
通讯录程序设计.docx_第19页
第19页 / 共37页
通讯录程序设计.docx_第20页
第20页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

通讯录程序设计.docx

《通讯录程序设计.docx》由会员分享,可在线阅读,更多相关《通讯录程序设计.docx(37页珍藏版)》请在冰点文库上搜索。

通讯录程序设计.docx

通讯录程序设计

概要

本次课程设计是利用C++做了一个班级通讯录,本次课程设计主要使用类与对象、数组与指针等方法.通过本次通讯录的课程设计熟悉运用C++语言,主要包括数组与指针,类与对象,string,作用域等,通过数组和指针解决数据级对象之间的联系和协调,经过类与对象的定义,建立函数等方法输入,再进行运行,最后实现通讯录中的输入、排序输出、修改、删除的功能。

关键词:

C++,面向对象,数组,指针

目录

一、设计任务分析·····························································································································································1

二、模块设计·········································································································································································································1

三、主要数据结构········································································································································································5

四、流程图·························································································································································································6

五、源代码································································································································································································6

六、测试情况····················································································································································································21

七、小结··········································································································································································································23

八、参考文献··························································································································································································24

 

一、设计任务分析

实现以下功能:

1)通讯录编辑(添加、删除);

2)按不同的项进行查找;

3)对已存在的通讯录按不同的项排序;

4)将通讯录写入文件;

5)从文件读入通讯录。

二、模块设计

本次程序设计主要设计了六个模块(主要是:

a.add(),a.del(),a.correct(),a.find1(),a.list1(),a.read(),a.write())

a.add()函数用于通讯录中的信息进行添加,主要流程如下:

a.del()函数用于通讯录中的信息进行删除,主要流程如下:

a.correct()函数用于通讯录中的信息进行修改,主要流程如下:

a.find1()函数用于通讯录中的信息进行查找,主要流程如下:

a.list1()函数用于通讯录中的信息进行排序,主要流程如下:

a.read()函数用于从文本文件中读取信息,主要流程如下:

a.write()函数用于将信息写入文本文件,主要流程如下:

 

三、主要数据结构

结构数组:

structstudent//结构体

{

charno[13];//学号

charname[20];//姓名

charaddress[100];//地址

chartel_no[12];//电话

charpost_code[7];//邮编

chare_mail[40];//E-mail

}

classinter//派生类

{

private:

//派生类增加或替代的私有成员

studentst[35];

public:

//派生类增加或替代的公有成员

voidadd(charno[13],charname[20],charaddress[100],chartel_no[12],charpost_code[7],chare_mail[40]);

//成员函数,添加联系人

voiddel(charname[20]);

//成员函数,删除联系人

voidfind1(charno[13]);

//成员函数,按学号查找联系人

voidfind2(charname[20]);

//成员函数,按姓名查找联系人

voidlist1();

//成员函数,排序联系人

voidlist2();

//成员函数,排序联系人

intcorrect(charname[20]);

//成员函数,修改联系人

voidread();

//成员函数,读取文本文件

voidwrite();

//成员函数,写入文本文件

voidformat();

//成员函数,格式化内存保存的数据

intback()

//成员函数,返回首页

voidprint(inti)

//成员函数,输出显示

 

四、流程图

五、源代码

#include

#include

#include

structstudent//结构体

{

charno[13];

charname[20];

charaddress[100];

chartel_no[12];

charpost_code[7];

chare_mail[40];

};

classinter

{

private:

studentst[35];

public:

voidadd(charno[13],charname[20],charaddress[100],chartel_no[12],charpost_code[7],chare_mail[40]);

voiddel(charname[20]);

voidfind1(charno[13]);

voidfind2(charname[20]);

voidlist1();

voidlist2();

intcorrect(charname[20]);

voidread();

voidwrite();

voidformat();

intback()

{

cout<<"按0键退出系统,按其他键返回主菜单:

";

charback;

cin>>back;

if(back!

='0')

return1;

else

return0;

}

voidprint(inti)

{

cout<<"学号:

"<

cout<<"姓名:

"<

cout<<"地址:

"<

cout<<"电话号码:

"<

cout<<"邮编:

"<

cout<<"E_MAIL:

"<

}

};

//主函数首页

intmain()

{

intera;

a.format();

charselect1;

cout<

top:

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\t\t输入你要使用的功能序号:

";

cin>>select1;

switch(select1)

{

case'1':

cout<<"

(1)添加联系人:

"<

cout<<"

(2)删除联系人:

"<

cout<<"(3)修改联系人:

"<

charselect2;

cout<<"请选择:

";

cin>>select2;

switch(select2)

{

case'1':

cout<<"输入要添加的联系人资料:

"<

charno[13];

charname[20];

charaddress[100];

chartel_no[12];

charpost_code[7];

chare_mail[40];

cout<<"输入学号:

";

cin>>no;

cout<<"输入姓名:

";

cin>>name;

cout<<"输入地址:

";

cin>>address;

cout<<"输入电话号码:

";

cin>>tel_no;

cout<<"输入邮编:

";

cin>>post_code;

cout<<"输入E_mail:

";

cin>>e_mail;

a.add(no,name,address,tel_no,post_code,e_mail);

cout<<"按0键退出系统,按其他键返回主菜单:

";

charback_add;

cin>>back_add;

if(back_add!

='0')

gototop;

else

gotobottom;

break;

case'2':

cout<<"输入要删除的联系人姓名:

";

charname2[20];

cin>>name2;

a.del(name2);

cout<<"按0键退出系统,按其他键返回主菜单:

";

charback_del;

cin>>back_del;

if(back_del!

='0')

gototop;

else

gotobottom;

break;

case'3':

cout<<"输入需要修改的联系人姓名:

";

charname3[20];

cin>>name3;

if(a.correct(name3))

gototop;

elsegotobottom;

break;

}

break;

case'2':

cout<<"

(1)根据姓名查找"<

cout<<"

(2)根据学号查找"<

charselect3;

cout<<"请选择:

";

cin>>select3;

switch(select3)

{

case'1':

charname4[20];

cout<<"输入姓名:

";

cin>>name4;

a.find2(name4);

cout<<"按0键退出系统,按其他键返回主菜单:

";

charback_f1;

cin>>back_f1;

if(back_f1!

='0')

gototop;

else

gotobottom;

break;

case'2':

charno4[13];

cout<<"输入学号:

";

cin>>no4;

a.find1(no4);

cout<<"按0键退出系统,按其他键返回主菜单:

";

charback_f2;

cin>>back_f2;

if(back_f2!

='0')

gototop;

else

gotobottom;

break;

}

break;

case'3':

a.write();

cout<<"按0键退出系统,按其他键返回主菜单:

";

charback_w;

cin>>back_w;

if(back_w!

='0')

gototop;

else

gotobottom;

break;

case'4':

cout<<"

(1)按学号排序:

"<

cout<<"

(2)按姓名排序:

"<

cout<<"请选择:

";

charselect4;

cin>>select4;

switch(select4)

{

case'1':

a.list1();

cout<<"按0键退出系统,按其他键返回主菜单:

";

charback;

cin>>back;

if(back!

='0')

gototop;

else

gotobottom;

break;

case'2':

a.list2();

cout<<"按0键退出系统,按其他键返回主菜单:

";

charback1;

cin>>back1;

if(back1!

='0')

gototop;

else

gotobottom;

break;

}

break;

case'5':

a.read();

cout<<"按0键退出系统,按其他键返回主菜单:

";

charback_r;

cin>>back_r;

if(back_r!

='0')

gototop;

else

gotobottom;

break;

case'6':

cout<<"请确认删除所有资料!

(Y/N)";

charselect5;

cin>>select5;

if(select5=='Y'||select5=='y')

a.format();

cout<<"按0键退出系统,按其他键返回主菜单:

";

charback_f;

cin>>back_f;

if(back_f!

='0')

gototop;

else

gotobottom;

break;

}

bottom:

cout<<"********成功退出系统,欢迎再次使用!

********"<

return0;

}

//添加联系人

voidinter:

:

add(charno[13],charname[20],charaddress[100],chartel_no[12],charpost_code[7],chare_mail[40])

{

intx=1;

for(inti=0;i<35;i++)

{

if(!

strcmp(st[i].no,"0"))

{

strcpy(st[i].address,address);

strcpy(st[i].e_mail,e_mail);

strcpy(st[i].name,name);

strcpy(st[i].no,no);

strcpy(st[i].post_code,post_code);

strcpy(st[i].tel_no,tel_no);

x=0;

}

if(x==0)

break;

}

}

//删除联系人

voidinter:

:

del(charname[20])

{intx=1;

for(inti=0;i<35;i++)

{

if(!

strcmp(st[i].name,name))

{

strcpy(st[i].address,"0");

strcpy(st[i].e_mail,"0");

strcpy(st[i].name,"0");

strcpy(st[i].no,"0");

strcpy(st[i].post_code,"0");

strcpy(st[i].tel_no,"0");

x=0;

cout<<”删除此联系人成功!

”<

}

}

if(x==1)

cout<<"输入有误,没有找到此联系人!

"<

}

//修改联系人

intinter:

:

correct(charname[30])

{

intx;

for(inti=0;i<35;i++)

{

if(!

strcmp(st[i].name,name))

x=i;

}

charselect;

cout<<"

(1)修改姓名:

"<

cout<<"

(2)修改学号:

"<

cout<<"(3)修改地址:

"<

cout<<"(4)修改邮编:

"<

cout<<"(5)修改电话号码:

"<

cout<<"(6)修改E_MAIL:

"<

cout<<"请选择:

";

cin>>select;

switch(select)

{

case'1':

cout<<"输入姓名进行修改:

";

charname1[30];

cin>>name1;

strcpy(st[x].name,name1);

cout<<"修改成功!

"<

returnback();

break;

case'2':

cout<<"输入学号进行修改:

";

charno1[13];

cin>>no1;

strcpy(st[i].no,no1);

cout<<"修改成功!

"<

returnback();

break;

case'3':

cout<<"输入地址进行修改:

";

charaddress1[100];

cin>>address1;

strcpy(st[x].address,address1);

cout<<"修改成功!

"<

returnback();

break;

case'4':

cout<<"输入邮编进行修改:

";

charpost_code1[7];

cin>>post_code1;

strcpy(st[x].post_code,post_code1);

cout<<"修改成功!

"<

returnback();

break;

case'5':

cout<<"输入电话号码进行修改:

";

chartel_no1[12];

cin>>tel_no1;

strcpy(st[x].tel_no,tel_no1);

cout<<"修改成功!

"<

returnback();

break;

case'6':

cout<<"输入E_MAIL进行修改:

";

chare_mail1[40];

cin>>e_mail1;

strcpy(st[x].e_mail,e_mail1);

cout<<"修改成功!

"<

returnback();

break;

}

}

//按学号查询联系人

voidinter:

:

find1(charno[13])

{

intx,y=1,z=1;

for(inti=0;i<35;i++)

{

if(!

strcmp(st[i].no,no))

{

x=i;

z=0;

}

elsey=0;

if(z==0)

break;

}

if(y==0)

cout<<"没有查到此学号的相关记录!

"<

print(x);

}

//按姓名查询联系人

voidinter:

:

find2(charname[20])

{

intx,y=1,z=1;

for(inti=0;i<35;i++)

{

if(!

strcmp(st[i].name,name))

{

x=i;

z=0;

}

elsey=0;

if(z==0)

break;

}

i

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2