完整word版通讯管理系统源代码Word文档下载推荐.docx

上传人:b****3 文档编号:17882085 上传时间:2022-12-11 格式:DOCX 页数:15 大小:18.72KB
下载 相关 举报
完整word版通讯管理系统源代码Word文档下载推荐.docx_第1页
第1页 / 共15页
完整word版通讯管理系统源代码Word文档下载推荐.docx_第2页
第2页 / 共15页
完整word版通讯管理系统源代码Word文档下载推荐.docx_第3页
第3页 / 共15页
完整word版通讯管理系统源代码Word文档下载推荐.docx_第4页
第4页 / 共15页
完整word版通讯管理系统源代码Word文档下载推荐.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

完整word版通讯管理系统源代码Word文档下载推荐.docx

《完整word版通讯管理系统源代码Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《完整word版通讯管理系统源代码Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。

完整word版通讯管理系统源代码Word文档下载推荐.docx

#defineMAXSIZE15

//联系人信息

typedefstruct

{

stringname;

//姓名

stringteleNum;

//电话号码

intclasses;

//分类

stringemail;

//电子邮件

}contacts;

//链表存储结构

typedefstructLNode

contactsdata;

//数据域

structLNode*next;

//指针域

}LNode,*LinkList;

//初始化链表

intInitList(LinkList&

L)

L=newLNode;

L->

next=NULL;

return0;

}

//前插法创建链表

voidCreateList_H(LinkList&

L,intn)

LinkListp;

for(inti=0;

i<

n;

i++)//根据联系人个数创建链表

{

p=newLNode;

cout<

<

"

请输入联系人的姓名:

"

;

cin>

>

p->

data.name;

请输入联系人的电话号码:

data.teleNum;

请输入联系人的分类(分类如下,输入相应序号即可)"

<

endl;

1办公类2个人类3商务类"

cin>

data.classes;

请输入联系人的电子邮件:

data.email;

next=L->

next;

next=p;

}

//根据类别查看联系人信息

voidCheckAll(LinkListL,intc)//c是联系人类别

p=L->

姓名\t\t"

电话号码"

//表头

while(p)//当链表没到尾部时

if(p->

data.classes==c)//若符合类别则输出联系人姓名和电话号码

{

cout<

data.name<

\t\t"

data.teleNum<

}

p=p->

//重载函数,查看所有联系人

voidCheckAll(LinkListL)

p=L->

while(p)

p=p->

}

//根据姓名查找联系人

LinkListSearch(LinkListL,stringname)

while(p&

&

p->

data.name!

=name)//当链表没到尾部且没找到联系人时

returnp;

//判断链表中是否存在联系人c

charIfExist(LinkListL,contactsc)

=c.name)//根据姓名查找是否存在该联系人

if(!

p)//若到达链表尾部,则不存在

return'

n'

if(p->

data.teleNum==c.teleNum)//若找到联系人姓名

data.classes==c.classes)//依次判断电话号码、类别、电子邮件是否相同

data.email==c.email)

y'

//获取链表的长度

intLength(LinkListL)

inti=0;

LinkListp=L->

++i;

returni;

//增加联系人

intAdd(LinkList&

L,contactsc)

LinkListp,s;

if(Length(L)>

=MAXSIZE)//判断链表长度是否达到最大值

存储空间已满,无法新增联系人!

if(IfExist(L,c)=='

)//判断输入的联系人是否已经存在

对不起,您输入的联系人已存在!

//若通讯录中不存在该联系人,则增加到通信录

p=L;

s=newLNode;

s->

data=c;

next=p->

next=s;

//拨号功能

voidDail(LinkListL,stringname)

s=Search(L,name);

//根据姓名查找联系人所在

//模拟打字机效果,输出联系人电话号码

stringtele=s->

for(inti=0;

i<

tele.length();

i++)

charc=tele[i];

Sleep(500);

cout<

c;

//播放声音

//PlaySound("

E:

\\670.wav"

NULL,SND_FILENAME|SND_ASYNC);

//修改联系人信息

voidChangeInfo(LinkList&

L,stringname)

p=Search(L,name);

//找到联系人的位置所在

请输入要修改的信息(输入对应序号即可):

1姓名"

2电话号码"

3分类"

4电子邮件"

//根据选择修改联系人信息

intelec;

elec;

switch(elec)

case1:

姓名改为:

stringnewName;

newName;

data.name=newName;

break;

case2:

电话号码改为:

endl;

stringnewTele;

newTele;

data.teleNum=newTele;

case3:

分类改为(分类如下,输入相应序号即可)"

intnewCalsses;

newCalsses;

data.classes=newCalsses;

case4:

电子邮件改为:

stringnewEmail;

newEmail;

data.email=newEmail;

//删除联系人

voidDelete(LinkList&

LinkListp=L,s;

//找到需删除联系人的前一个位置

while(p->

next&

next->

=name)

s=p->

next=s->

deletes;

//删除联系人

//导入通信录

voidRead(LinkListL)

//打开文件导入通信录

ifstreamfin;

fin.open("

通信录.txt"

ios:

:

in);

strings1,s2,s3,s4;

fin>

s1>

s2>

s3>

s4;

while(!

fin.eof())//当没有到文件尾时

strings5;

contactsc;

fin>

c.name>

c.teleNum>

s5>

c.email;

if(pare("

办公类"

)==0)

c.classes=1;

个人类"

c.classes=2;

商务类"

c.classes=3;

Add(L,c);

//将联系人c增加到链表中

fin.close();

//导出通信录

voidWrite(LinkListL)

intl=Length(L);

//打开文件写入通信录

ofstreamfout("

out|ios:

trunc);

fout<

姓名\t"

电话号码\t"

分类\t"

电子邮件"

l;

fout<

\t"

;

switch(p->

data.classes)

case1:

{

fout<

break;

}

case2:

case3:

}

if(i<

(l-1))

fout<

fout.close();

intMenu()//主菜单

system("

cls"

);

//清屏

intchoice;

cout<

---------------欢迎来到通信录管理系统!

--------------\n"

//主菜单显示内容

***************主菜单***************\n"

*1新增联系人*\n"

*2查看通信录*\n"

*3拨号*\n"

*4修改信息*\n"

*5删除联系人*\n"

*6导入通信录*\n"

*7导出通信录*\n"

*0退出系统*\n"

************************************\n"

请根据您的需求,输入相应的数字:

cin>

choice;

//输入选择

returnchoice;

intmain()//主函数

LinkListL;

InitList(L);

for(;

switch(Menu())//根据不同选择,执行不同的功能

case1:

cout<

请选择批量增加或单个增加(输入相应序号即可):

1批量增加2单个增加"

intc1;

cin>

c1;

if(c1==1)

cout<

请输入新增联系人的个数:

intnumber;

cin>

number;

CreateList_H(L,number);

//用前插法批量增加联系人

else//单个增加联系人

{

contactsc;

c.name;

c.teleNum;

c.classes;

Add(L,c);

}

system("

pause"

break;

//查看通信录

请输入查看联系人的类别(输入相应序号即可):

1办公类2个人类3商务类"

intc2;

c2;

已有联系人如下:

CheckAll(L,c2);

//根据分类查看联系人信息

system("

{

CheckAll(L);

stringname;

请输入拨号人的姓名:

name;

Dail(L,name);

//根据

CheckAll(L);

stringchangeName;

请输入要修改信息的联系人姓名:

changeName;

ChangeInfo(L,changeName);

case5:

stringdeleteName;

请输入要删除的联系人姓名:

deleteName;

Delete(L,deleteName);

联系人"

deleteName<

已删除!

case6:

Read(L);

成功导入通信录!

已导入联系人姓名如下:

CheckAll(L);

break;

}

case7:

Write(L);

成功导出通信录!

break;

case0:

//退出系统

cout<

感谢您对本通信录管理系统的使用!

return0;

default:

cout<

您输入的指令有误,请重新输入!

//输入错误指令时给予提示

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

当前位置:首页 > 法律文书 > 调解书

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

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