c语言通讯录源代码文档格式.docx
《c语言通讯录源代码文档格式.docx》由会员分享,可在线阅读,更多相关《c语言通讯录源代码文档格式.docx(33页珍藏版)》请在冰豆网上搜索。
voidsearchbyname();
//*按姓名查询*//
voidsearchbycelephone();
//*按手机号码查询*//
voidsearchbyhomephone();
//*按家庭电话号码查询*//
voidsearchbyqq();
//*按QQ查询*//
voiddeletemenu();
//*删除菜单*//
voiddeleteall();
//*删除所有信息*//
voiddeleteone();
//*删除单个*//
voidshowall();
//*输出全部信息*//
voidreadfromfile();
//*读取文件*//
voidwritetofile();
//*写入文件*///
voiddeletebycelephone();
//*按手机号码删除*//
voiddeletebyname();
//*按姓名删除*/
voidlistbycelephone();
//*按手机号码排序*//
voidlistbyname();
//*按姓名排序*//
voidlistmenu();
//*排序菜单*//
voidmain()//*主函数*//
{
system("
cls"
);
readfromfile();
while
(1)
{
mainmenu();
}
}//*主函数结束*//
voidmainmenu()//*主菜单函数*//
inta;
color2a"
printf("
\n\t您好!
欢迎使用通讯录!
\n"
1:
添加个人信息\n"
2:
查询个人信息\n"
3:
删除个人信息\n"
4:
修改个人信息\n"
5:
信息排序\n"
6:
输出全部信息\n"
7:
写入文件\n"
8:
读取文件\n"
9:
删除所有\n"
0:
退出\n"
请输入您的数字选择:
"
loop1:
scanf("
%d"
&
a);
switch(a)
case1:
newrecord();
break;
case2:
searchmenu();
case3:
deletemenu();
case4:
xiugaimenu();
case5:
listmenu();
case6:
showall();
case7:
writetofile();
case8:
readfromfile();
case9:
deleteall();
case0:
exit(0);
default:
printf("
对不起!
您的输入有误!
请重新输入:
gotoloop1;
}
voidnewrecord()//*添加纪录*//
{
loop:
\n\n\n\n\t\t请输入您要添加的联系人的信息:
\n"
printf("
\n请输入姓名:
name:
%s"
per[num].name);
if(strlen(per[num].name)>
15)
请重新输入"
gotoname;
}
\n请输入性别:
sex:
per[num].sex);
if(strlen(per[num].sex)==0)
gotosex;
\n请输入年龄:
"
nianling:
scanf("
per[num].nianling);
if(per[num].nianling<
10||per[num].nianling>
110)
gotonianling;
\n请输入邮编\n"
youbian:
per[num].youbian);
if(per[num].youbian<
10000||per[num].youbian>
999999)
gotoyoubian;
\n请输入地址\n"
addr:
per[num].addr);
if(strlen(per[num].addr)>
50||strlen(per[num].addr)<
4)
请重新输入\n"
gotoaddr;
\n请输入手机号码:
celephone:
per[num].celephone);
if(strlen(per[num].celephone)!
=11)
gotocelephone;
\n请输入家庭电话号码:
homephone:
per[num].homephone);
if(strlen(per[num].homephone)!
=11)
gotohomephone;
\n请输入公司名称:
company:
per[num].company);
if(strlen(per[num].company)>
20||strlen(per[num].company)<
10)
gotocompany;
\n输入电子邮箱:
email:
per[num].email);
if(strlen(per[num].email)>
30||strlen(per[num].email)<
gotoemail;
\n输入QQ号码:
QQ:
%ld"
per[num].QQ);
if(per[num].QQ>
00||per[num].QQ<
)
gotoQQ;
num++;
\n是否继续添加?
\n请按1和2(1代表继续;
2代表不继续)\n"
请输入您的选择"
if(a==1)
gotoloop;
else
return;
voidsearchmenu()//*查询菜单*//
\n\t\t欢迎使用查询菜单"
\n\t\t1-按手机号码查询"
\n\t\t2-按姓名查询"
\n\t\t3-按家庭电话号码查询"
\n\t\t4-按QQ查询"
\n\t\t5-返回主菜单"
\n\t\t"
searchbycelephone();
searchbyname();
searchbyhomephone();
searchbyqq();
mainmenu();
voidsearchbycelephone()//*按手机号码查询*//
intmark=0;
inti,j;
inta=0;
charcelephone[11];
\n按手机号码查找\n"
celephone);
for(i=0;
i<
num;
i++)
if(strcmp(per[i].celephone,celephone)==0)
{
printf("
\n以下是您查找的联系人的信息"
\n________________________________"
\n名字:
%s"
per[i].name);
\n性别:
per[i].sex);
\n年龄:
%d"
per[i].nianling);
\n邮编:
%ld"
per[i].youbian);
\n地址:
per[i].addr);
\n手机号码:
per[i].celephone);
\n家庭电话号码:
per[i].homephone);
\n公司名称:
per[i].company);
\n电子邮件:
per[i].email);
\nQQ号码:
per[i].QQ);
\n请按任意数字键返回主菜单"
mark++;
j);
return;
}
if(mark==0)
\n对不起!
没有该联系人的信息!
}
voidsearchbyname()//*按姓名查询*//
inti,j,findmark=0;
\n按姓名查找"
name);
for(i=a;
if(strcmp(per[i].name,name)==0)
findmark++;
\n\t\t以下是您查找的联系人的信息"
\n\t\t________________________________"
\n\t\t名字:
\n\t\t性别:
\n\t\t年龄:
\n\t\t邮编:
\n\t\t地址:
\n\t\t手机号码:
\n\t\t家庭电话号码:
\n\t\t公司名称:
\n\t\t电子邮件:
\n\t\tQQ号码:
if((i+1)<
num)
{
printf("
\n是否继续查找相同名字的联系人的信息?
(1代表继续;
2代表不继续)"
scanf("
if(j==1)
{
a=i;
mark++;
continue;
}
else
break;
}
else
{
}
if(mark!
=0)
没有相同名字的该联系人的信息!
!
elseif(findmark==0)
voidsearchbyhomephone()//*按家庭电话号码查询*//
charhomephone[11];
\n\t\t按家庭电话号码查找"
homephone);
if(strcmp(per[i].homephone,homephone)==0)
\n\t\t以下是您要查找的联系人的信息"
\n\t\t请按任意数字键返回主菜单"
mark++;
\n\t\t对不起!
voidsearchbyqq()//*按QQ查询*//
\n\t\t按QQ号码查找\n"
\n请输入QQ号码:
QQ);
if(per[i].QQ==QQ)
voiddeletemenu()//*删除菜单*//
color3b"
if(num==0)
文件中无任何纪录!
\n\t\t请先添加个人信息!
\n\t\t删除菜单"
\n\t\t1-删除单个"
\n\t\t2-返回主菜单"
\n\t\t"
\n\t\t请输入您的数字选择:
loop4:
i);
switch(i)
deleteone();
gotoloop4;
voiddeleteone()//*删除单个*//
inti;
\n\t\t1-按手机号码删除2-按姓名删除"
\n\t\t请输入您的选择:
loop5:
scanf("
;
case1:
deletebycelephone();
case2:
deletebyname();
default:
gotoloop5;
voiddeletebyname()//姓名删除*//
intfindmark=0;
inti,j,k;
intdeletemark=0;
\n\t