通讯录管理系统解析Word文档下载推荐.docx
《通讯录管理系统解析Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《通讯录管理系统解析Word文档下载推荐.docx(46页珍藏版)》请在冰豆网上搜索。
//电话号码
charhomeaddress[100];
//家庭地址
charQQ[15];
//QQ号码
charemail[20];
//电子邮件
charworkspace[100];
//工作单位
charworkcity[100];
//工作地址
}AddressList;
AddressListt[N];
AddressListe;
typedefstructrelatives//定义单链表
AddressListdata;
structrelatives*next;
}Address;
Address*h;
voidmenu();
//一级菜单
voidrelatives();
//亲人
voidfriends();
//朋友
voidclassmates();
//同学
voidworkmates();
//同事
voidothers();
//其他
voidSecondMenu();
//二级菜单
voidInput();
//插入好友信息
voidOutput();
//显示好友的相关信息
voidDelete();
//删除好友信息
voidSort();
//按照姓名进行排序操作
voidCorrect();
//给定姓名进行修改信息
voidThirdmenu();
//三级菜单
voidNameFound();
//查找好友信息(按照姓名)
voidCellFound();
//查找好友信息(按照手机号)
voidTeleFound();
//查找好友信息(按照电话号码)
/********************************************************/
voidInitList(Address*&
L);
intListInsert(Address*&
L,inti,AddressListe);
voidDispList(Address*L);
voidCreateListR(Address*&
L,AddressLista[],intn);
intListEmpty(Address*L);
voidDispName(Address*L);
intListLength(Address*L);
intListDelete(Address*&
L,inti,AddressList&
e);
intLocateElem1(Address*L,AddressListe);
intLocateElem2(Address*L,AddressListe);
intLocateElem3(Address*L,AddressListe);
intGetElem(Address*L,inti,AddressList&
voidInsertSort(Address*L,intn);
voidDestroyList(Address*&
/*****************************************************************************************/
intName(Address*&
L,inti,charnewname[]);
intSex(Address*&
L,inti,charnewsex[]);
intBirthday(Address*&
L,inti,charnewbirthday[]);
intCellphone(Address*&
L,inti,charnewcellphone[]);
intTelephone(Address*&
L,inti,charnewtelephone[]);
intHomeaddress(Address*&
L,inti,charnewhomeaddress[]);
intQq(Address*&
L,inti,charnewQQ[]);
intEmail(Address*&
L,inti,charnewemail[]);
intWorkspace(Address*&
L,inti,charnewworkspace[]);
intWorkcity(Address*&
L,inti,charnewworkcity[]);
voidInput()
if(n1==0)
{
//intn1;
printf("
\t*******************添加联系人功能的实现**********************\n"
);
很高兴为你服务,请输入添加的联系人个数:
"
scanf("
%d"
&
n1);
for(inti=0;
i<
n1;
i++)
printf("
请输入第%d个联系人的详细信息\n"
i+1);
姓名:
scanf("
%s"
t[i].name);
性别:
t[i].sex);
生日日期:
t[i].birthday);
手机号码:
t[i].cellphone);
电话号码:
t[i].telephone);
家庭住址:
t[i].homeaddress);
QQ号码:
t[i].QQ);
电子邮件:
t[i].email);
工作单位:
t[i].workspace);
工作地址:
t[i].workcity);
}
for(intj=0;
j<
n1;
j++)
{
ListInsert(h,j+1,t[j]);
//CreateListR(h,t,n1);
}
添加完成!
\n"
else
n2=n1;
for(inti=n2;
n2+n1;
{
printf("
scanf("
for(intj=n2;
n2+n1;
j++)
{
ListInsert(h,j+1,t[j]);
//CreateListR(h,t,n1);
}
}
n1=n2+n1;
}
voidOutput()
显示好友信息功能\n"
通信录中所有联系人详细信息如下:
\n"
DispList(h);
voidDelete()
intm;
删除功能的实现算法\n"
%s\n"
(ListEmpty(h)?
"
老大,拜托!
通信录是空的!
:
删除功能正常....\n"
));
通信录中共有%d个联系!
\n"
ListLength(h));
if(ListLength(h)==0)
SecondMenu();
通信录中所有联系人姓名如下:
DispName(h);
请输入你想删除的联系人前面的序号(1——%d):
m);
ListDelete(h,m,e);
你删除的联系人的详细信息有:
*姓名*:
e.name);
*性别*:
e.sex);
*生日日期*:
e.birthday);
*手机号码*:
e.cellphone);
*电话号码*:
e.telephone);
*家庭住址*:
e.homeaddress);
*QQ号码*:
e.QQ);
*电子邮件*:
e.email);
*工作单位*:
e.workspace);
*工作地址*:
e.workcity);
voidSort()
排序功能\n"
排序功能正常....\n"
InsertSort(h,ListLength(h));
voidCorrect()
charnewsex[10];
charnewname[10];
charnewbirthday[20];
charnewcellphone[15];
charnewtelephone[15];
charnewhomeaddress[100];
charnewQQ[15];
charnewemail[20];
charnewworkspace[100];
charnewworkcity[100];
intnum;
intnumber;
AddressListf;
修改功能\n"
修改功能正常....\n"
请输入你想要修改的联系人姓名:
f.name);
你要修改的联系人的序号是%d\n"
LocateElem1(h,f));
***********************你具有的修改权限如下**************************\n"
---------------------------------------------------------------------\n"
||\t1.姓名2.性别3.生日日期4.手机号码5.电话号码\t||\n"
||\t6.家庭地址7.QQ号码8.电子邮件9.工作单位10.工作地址\t||\n"
请输入你想修改的总项数:
num);
for(inti=0;
i<
num;
i++)
请输入你想修改的选项的序号<
1——10>
number);
if(number==1)
姓名修改:
newname);
Name(h,LocateElem1(h,f),newname);
elseif(number==2)
性别修改:
newsex);
Sex(h,LocateElem1(h,f),newsex);
elseif(number==3)
生日日修改:
newbirthday);
Birthday(h,LocateElem1(h,f),newbirthday);
elseif(number==4)
手机号码修改:
newcellphone);
Cellphone(h,LocateElem1(h,f),newcellphone);
elseif(number==5)
电话号码修改:
newtelephone);
Telephone(h,LocateElem1(h,f),newtelephone);
elseif(number==6)
家庭住址修改:
newhomeaddress);
Homeaddress(h,LocateElem1(h,f),newhomeaddress);
elseif(number==7)
QQ号码修改:
newQQ);
Qq(h,LocateElem1(h,f),newQQ);
elseif(number==8)
电子邮件修改:
newemail);
Email(h,LocateElem1(h,f),newemail);
elseif(number==9)
工作单位修改:
newworkspace);
Workspace(h,LocateElem1(h,f),newworkspace);
elseif(number==10)
工作地址修改\n"
newworkcity);
Workcity(h,LocateElem1(h,f),newworkcity);
没有其它选项,请重新输入!
//continue;
voidNameFound()
AddressListr;
按照姓名进行查找功能\n"
请输入你想要查询的联系人姓名:
你要查找的联系人在通信录中的位置是%d\n"
//有问题没有解决
%s的详细信息如下:
GetElem(h,LocateElem1(h,f),r);
Thirdmenu();
voidCellFound()
按照手机号进行查找功能\n"
请输入你想要查询的联系人手机号:
f.cellphone);
LocateElem2(h,f));
GetElem(h,LocateElem2(h,f),r);
voidTeleFound()
按照电话号码进行查找功能\n"
请输入你想要查询的联系人电话号码:
f.telephone);
LocateElem3(h,f));
GetElem(h,LocateElem3(h,f),r);
/**************************************************************************************/
voidrelatives()
亲人模块\n"
SecondMenu();
};
voidfriends()
朋友模块\n"
voidclassmates()
同学模块\n"
voidworkmates()
同事模块\n"
voidothers()
其他模块\n"
/******************************************************************************************/
/*--------一级主菜单-----------*/
voidmenu()
inti;
intnum1;
\t*********************<
<
通讯录管理程序>
>
**********************\n"
\t***亲人<
1>
*****朋友<
2>
*****同学<
3>
*****同事<
4>
*****其他<
5>
***\n"
很高兴能为你服务,请输入你的选择(1、2、3、4、5):
num1);
for(i=1;
5;
if(num1<
1||num1>
5)