通讯录C++代码Word文件下载.docx
- 文档编号:21888366
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:17
- 大小:104.75KB
通讯录C++代码Word文件下载.docx
《通讯录C++代码Word文件下载.docx》由会员分享,可在线阅读,更多相关《通讯录C++代码Word文件下载.docx(17页珍藏版)》请在冰豆网上搜索。
〔5〕完成类中各个成员函数的定义;
〔6〕完成系统的应用模块;
〔7〕功能调试;
〔8〕完成系统总结报告。
实体间与属性联系:
功能描述
添加功能:
能够向链表之中输入相关的信息,在编号重复时取消本次输入,并且一次只能输入一条信息。
删除功能:
根据唯一标识一个对象的属性,删除与之对应的信息。
修改功能:
根据唯一标识一个对象的属性,选选择要修改的数据项进行修改。
阅览功能:
是对所有的数据进行访问,不能改变其中任何数据。
查询功能:
按照当前给定的信息,查询详细详细。
保持功能:
时对所有数据进行存档,方便以后的操作,如果一个程序没有保持功能,每一次使用时会更繁琐,保存其实是程序不可缺少的功能之一。
读取功能:
将已存在的数据从文档中读取出来;
本程序是通过在建立对象时,系统自己调用
构造函数实现的,如果将其单独作为一功能也是可以的,但是那样似乎比较繁琐。
建立类:
Person:
数据成员
stringNo;
//编号
stringpost;
//邮箱地址
stringaddre;
//
charName[20];
//
charSex[10];
//性别
stringTel;
//联系方式
成员函数
Person(stringID,char*Name,char*Sex,stringpost,stringTel,stringaddre)构造函数
friendclassManage;
manage作为有元函数,可以访问person类
manage:
Person*person建立了一个基类指针
Manage()构造函数
~Manage(){}//析构函数
voidFindName();
//按查找
oidFindID();
//按编号查找
voidAdd();
//添加加信息
voidDelete();
//删除信息
voidModify();
//修改信息
voidSave();
//保存数据
voidLoad();
//读入数据
voidLook();
//预览
程序首页
添加功能
阅览功能
查找功能
删除功能
修改功能
代码源程序:
#include<
iostream>
fstream>
string>
usingnamespacestd;
stringID;
//编号唯一性
classPerson
{protected:
stringNo;
stringTel;
Person*next;
//建立联系人的指针next
public:
Person(stringID,char*Name,char*Sex,stringpost,stringTel,stringaddre)//有参构造函数
{
strcpy(this->
Name,Name);
Sex,Sex);
this->
Tel=Tel;
//this指针是指当前对象指针
No=ID;
post=post;
addre=addre;
}
friendclassManage;
//把manage作为有元函数,可以访问person类
};
classManage
{
protected:
Person*person;
Manage()
{
person=0;
Load();
//建立对象的同时,调用了读取这个函数
voidFindID();
voidManage:
:
Add()
Person*p,*p2;
//新结点指针
stringNo,post,Tel,addre;
charName[20],Sex[10];
charc;
cout<
<
"
\n**新增联系人通讯录**\n"
;
输入学号:
\t"
//输入联系人信息
cin>
>
No;
endl;
Person*p1;
p1=person;
while(p1)
{
if(p1->
No==No)
{
break;
}
else
{
p1=p1->
next;
}
}
if(p1!
=NULL)
{
cout<
该编号已存在,取消改该联系人的信息添加"
endl<
return;
输入:
性别邮箱地址联系方式,(并用逗号隔开)"
Name>
Sex>
post>
Tel>
addre;
p=newPerson(No,Name,Sex,post,Tel,addre);
p->
next=0;
//联系人结点加入链表
if(person)//假设已经存在结点
p2=person;
while(p2->
next)//查找尾结点
{
p2=p2->
}
p2->
next=p;
//连接
}
else//假设不存在结点(表空)
person=p;
return;
}
Delete()//删除联系人
{
\n**删除信息**\n"
输入要删除的联系人编号:
//查找要删除的结点
Person*p1,*p2;
p1=person;
while(p1)
if(p1->
break;
else
p2=p1;
p1=p1->
//删除结点
if(p1!
=NULL)//假设找到结点,则删除
if(p1==person)//假设要删除的结点是第一个结点
person=p1->
deletep1;
else//假设要删除的结点是后续结点
p2->
next=p1->
cout<
\t\t***删除成功***\n"
return;
else//未找到结点
未找到该联系人!
\n"
Modify()
请输入要修改联系人的编号:
"
cin>
ID;
Person*p1;
No==ID)
{cout<
所要修改的联系人的信息如下:
编号:
p1->
No<
\t:
Name<
\t性别:
Sex<
\t年龄:
post<
\t:
Tel<
addre<
break;
=NULL)//假设找到结点
{
do
1.修改2.修改性别3.修改邮箱地址4.修改联系方式5.修改0.退出\n"
请选择(1-5)要修改的信息\n"
c;
if(c!
='
0'
)
请输入新的信息:
switch(c)
case'
1'
Name;
break;
2'
Sex;
3'
post;
4'
Tel;
case'
5'
default:
}while(c!
);
\t***修改成功***\n"
else
未找到该学生!
}
//fPerson<
p->
Save()//数据写入到文件
ofstreamfPerson("
Person.txt"
ios:
out);
if(!
fPerson)
{cerr<
openerror!
abort();
\n保存数据,是否继续?
[Y/N]:
if(toupper(c)!
Y'
Person*p=person;
while(p)
fPerson<
p=p->
fPerson.close();
\n保存成功...\n"
Load()//数据读入
ifstreamfPerson;
stringNo,Tel,post,addre;
fPerson.open("
person.txt"
in);
openerror"
fPerson>
No>
while(fPerson.good())
p=newPerson(No,Name,Sex,post,Tel,addre);
p->
//联系人结点加入链表
if(person)//假设已经存在结点
Person*p2;
p2=person;
while(p2->
p2=p2->
else//假设不存在结点(表空)
person=p;
fPerson>
FindID()
{cout<
break;
{}
else
未找到该联系人"
FindName()
{charName[20];
请输入要修改联系人的:
intcount=0;
if(strcmp(p1->
Name,Name)==0)
count++;
if(count)
\t查询成功!
!
\n\t\t未找到该联系人!
Look()
count++;
if(count!
=0)
return;
intmain(void)
Managem;
intc;
do
{cout<
****^.^欢送来到通讯录菜单^.^****"
**"
*1.新增通讯录5.删除通讯录*"
*2.修改通讯录6.编号查询详细信息*"
*3.预览信息7.查询详细信息*"
*4.保存数据0.退出*"
*********************"
请选择:
cin>
switch(c)
case1:
m.Add();
case2:
m.Modify();
case3:
m.Look();
case4:
m.Save();
case5:
m.Delete();
case6:
m.FindID();
case7:
m.FindName();
case0:
default:
}while(c!
=0);
ints;
是否要保存您的所有操作(1.保存0.不保存):
s;
if(s==1)
m.Save();
return0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通讯录 C+ 代码