很不错的C++程序设计通讯录管理系统cppWord文件下载.docx
- 文档编号:21696379
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:19
- 大小:18.41KB
很不错的C++程序设计通讯录管理系统cppWord文件下载.docx
《很不错的C++程序设计通讯录管理系统cppWord文件下载.docx》由会员分享,可在线阅读,更多相关《很不错的C++程序设计通讯录管理系统cppWord文件下载.docx(19页珍藏版)》请在冰豆网上搜索。
private:
Person*person;
Manage()
{
person=0;
Load();
~Manage()
Person*p;
p=person;
while(p)
{
p=p->
next;
deleteperson;
person=p;
}
voidFind(charName[20]);
//按姓名查找
voidFind(stringID);
//按编号查找
voidAdd();
//添加加信息
voidDelete();
//删除信息
voidModify(stringID);
//修改信息
voidQuery();
//查询信息
voidTJ();
//清除文件信息
voidSave();
//保存数据
voidLoad();
//读入数据
voidLook();
//预览
voidDesTory();
voidOutput(Person*p)
cout<
<
"
\t\t学号:
"
p->
No<
endl;
\t\t姓名:
Name<
\t\t性别:
Sex<
\t\t年龄:
Age<
\t\t联系电话:
Tel<
voidManage:
:
Add()
system("
cls"
);
Person*p,*p2;
//新结点指针
stringNo,Age,Tel;
charName[20],Sex[10];
charc;
cout<
\n**新增学生通讯录**\n"
;
//输入学生信息
输入学号:
\t"
cin>
>
No;
Person*p1;
p1=person;
while(p1)
{
if(p1->
No==No)
{
break;
}
else
{
p1=p1->
}
}
if(p1!
=NULL)
{
cout<
该学号已存在,是否修改该学生信息(Y/N)"
cin>
c;
if(toupper(c)=='
Y'
)
cout<
该学生信息为:
Find(No);
Modify(No);
return;
else
输入姓名:
Name;
输入性别:
Sex;
输入年龄:
Age;
输入联系方式:
Tel;
p=newPerson(No,Name,Sex,Age,Tel);
p->
next=0;
//学生结点加入链表
if(person)//若已经存在结点
p2=person;
while(p2->
next)//查找尾结点
p2=p2->
p2->
next=p;
//连接
}
else//若不存在结点(表空)
person=p;
\t\t\t***添加成功***\n"
是否继续添加(Y/N)"
if(toupper(c)=='
Add();
else
return;
}
Delete()//删除人员
{
\n**删除信息**\n"
输入要删除的学生ID:
//查找要删除的结点
Person*p1,*p2;
p1=person;
while(p1)
if(p1->
break;
else
p2=p1;
p1=p1->
//删除结点
if(p1!
=NULL)//若找到结点,则删除
所要删除的学生的信息如下:
\n"
Output(p1);
确定是否删除(Y/N):
cin>
if(toupper(c)!
='
return;
//system("
pause"
if(p1==person)//若要删除的结点是第一个结点
person=p1->
deletep1;
else//若要删除的结点是后续结点
p2->
next=p1->
\t\t***删除成功***\n"
是否继续删除(Y/N)"
if(toupper(c)=='
Delete();
else
return;
else//未找到结点
未找到该学生!
getch();
Modify(stringID)
Person*p1;
No==ID)
=NULL)//若找到结点
system("
所要修改的学生的信息如下:
do
1.修改姓名2.修改性别3.修改年龄4.修改联系方式5.退出修改\n"
请选择(1-5)要修改的信息\n"
if(c!
5'
请输入新的信息:
switch(c)
case'
1'
p1->
break;
2'
3'
4'
default:
}while(c!
system("
\t***修改成功***\n"
是否继续修改(Y/N):
请输入要修改人员的ID:
ID;
Modify(ID);
//暂停
}
Save()//数据写入到文件
ofstreamfPerson("
Person.txt"
ios:
out);
\n保存数据,是否继续?
[Y/N]:
if(toupper(c)!
return;
Person*p=person;
while(p)
fPerson<
p=p->
fPerson.close();
\n保存成功...\n"
Load()//数据读入
ifstreamfPerson;
fPerson.open("
person.txt"
in);
fPerson>
No>
Name>
Sex>
Age>
while(fPerson.good())
p=newPerson(No,Name,Sex,Age,Tel);
p->
//员工结点加入链表
if(person)//若已经存在结点
Person*p2;
p2=person;
while(p2->
p2=p2->
else//若不存在结点(表空)
fPerson>
Find(stringID)
{
未找到该学生"
Find(charName[20])
intcount=0;
if(strcmp(p1->
Name,Name)==0)
count++;
Output(p1);
if(count)
\t查询成功!
!
\n共找到"
count<
个名字为★"
★的同学\n"
\n\t\t未找到该学生!
Query()
stringID,Tel;
do{
1.按学号查找2.按名字查找3.按电话号码查找4.退出查找"
switch(c)
case'
输入学号ID:
Find(ID);
};
输入姓名Name:
Find(Name);
输入电话号码Tel"
Find(Tel);
};
break;
default:
输入有误请重新输入!
}while(c!
&
c!
\t\t\t***查找成功***\n"
是否继续查找(Y/N)"
Query();
Look()
//设置字体颜色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|
FOREGROUND_RED|FOREGROUND_GREEN);
ID:
\t姓名:
count++;
if(count!
=0)
\n\t\t预览成功!
\n"
查询详细信息(Y/N):
return;
尚未创建通讯录,是否创建(Y/N)"
DesTory()
{//设置字体为红色
FOREGROUND_RED);
\n\t\t\t**清除信息**\n"
警告:
\n清除通讯录信息会导致您保存的信息完全消失!
★是否决定清除通讯录信息(Y/N):
if(toupper(c)!
请再次确认(Y/N)"
//ofstreamfPerson("
//fPerson.close();
TJ()
intcount=0,Boy=0,Girl=0;
Sex,"
男"
)==0)
Boy++;
女"
Girl++;
p1=p1->
\n总共有"
份通讯录\n"
男生:
Boy<
\t女生:
Girl<
intmain(void)
Managem;
intc;
do
//设置字体为绿色
FOREGROUND_GREEN);
=========================================="
★☆\t1.新增通讯录\t☆★"
★☆\t2.删除通讯录\t☆★"
★☆\t3.修改通讯录\t☆★"
★☆\t4.查询详细信息\t☆★"
★☆\t5.保存数据\t☆★"
★☆\t6.预览信息\t☆★"
★☆\t7.清除通讯录\t☆★"
★☆\t8.统计\t☆★"
0-退出\t请选择(1-8):
switch(c)
case1:
m.Add();
case2:
m.Delete();
case3:
m.Modify(ID);
case4:
m.Query();
case5:
m.Save();
case6:
m.Look();
case7:
m.DesTory();
case8:
m.TJ();
=0);
chars;
\n★是否要保存您的所有操作(Y/N):
s;
if(toupper(s)=='
m.Save();
return0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 很不 C+ 程序设计 通讯录 管理 系统 cpp