个人通讯录管理系统C语言源程序优秀版Word格式.docx
- 文档编号:7646707
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:20
- 大小:37.47KB
个人通讯录管理系统C语言源程序优秀版Word格式.docx
《个人通讯录管理系统C语言源程序优秀版Word格式.docx》由会员分享,可在线阅读,更多相关《个人通讯录管理系统C语言源程序优秀版Word格式.docx(20页珍藏版)》请在冰点文库上搜索。
voidmain(){readfileQ;
while(l)
(
/*+函数mam*/
/*读入文件*/
/*循环(永远进行)*/
zliucaidanQ;
}
/*调用主菜单函数*/
〃读取文件函数部分开始模块七
voidieadfile()
if((俎=fopen("
c:
\\通讯录.txt”,T))==NULL)/*以只读方式打开判定文件是否为空*/{
prmtf("
\ii\t\t\t通讯录文件不存在”);
/*判断结论*/
if((fp=fopen(”同通讯录.txfTWR—NULL)/*只写方式判断*/
严为空结论勺
严退出*/
prmtf(n\ii\t\t建立失败J;
exit(O);
else/*不为空则执行else*/
prmtf(n\ii\t欢迎使用通讯录管理系统n);
通讯录文件已建立”);
pimtf("
\ii\t按任意键进入主菜单”);
prmtf(n\ii\t”);
getchQ;
return;
exit(O);
fseek(俎,0,2);
/*文件位置指针移动到文件末尾*/if(ftell(fp)>
0)/*文件不为空*/
rewmd(fp);
/*文件位置指针移动到文件开始位置*/
for(n=0:
!
feof(fp)&
&
fiead(&
txl[n],sizeof(structtongxunlu),1
pnmf(”\n\t欢迎使用通讯录管理系统l.Obeat版”);
”);
\ii\t文件导入成功
\ii\t按任意键返回主菜单
〃读取文件函数结束〃文件主菜单函数开始模块六
voidzhucaidan()
clwc;
system(,,clsM);
pnntf("
\ii\t\t|欢迎您使用通讯录管理系统l.Obeat版——|”);
pnntfC\n\t\t|1-添加联系人2-查询和显示联系人|”);
pnntf(-\n\t\t|3■删除联系人4■修改联系人门;
pnntf(-\n\t\t|5■保存退出0■不保存退出|”);
pnntf(H\n\t\t||M);
请选择您所所要的服务:
c=getch();
switch(c)/*对于上边的选择项目*/
case^^zengjiaQibreak;
case2:
chazhao();
bieak;
case31:
shanchu();
break;
case'
4】xiugai();
b[eak;
caser51:
writefileQ;
caserO\exit(O);
default:
zliucaidanQ;
/*如果没有则返回主菜单等待输入*/
〃文件主菜单函数结束
〃添加新联系人函数开始模块一
voidzengjia()
pmitf(”\n\t\t请输入联系人信息\n"
);
pnntf(H\ii\t\t输入联系人姓名:
”);
scanf("
%s"
.txl[n].xingmuig);
/*键盘输入*/pnntf(H\n\t\t输入联系人电话号码:
scanf("
.txl[ii].diaiiliua);
pnntfC'
\n\t\t输入联系人地址:
%s'
\txl[ii].dizlu);
n++;
/*统计个数*/
\ii\t\t是否继续添加联系人?
(Y/N):
/*是否继续输入联系人.*/if(getchO==y)
zengjiaQ;
retinn;
〃添加新联系人结束
〃写入文件函数开始模块七
voidwritefileQ/*联系人写入文件*/
inti;
if((如=fbpen("
\\通讯录.txt"
"
w"
))=NULL)
文件打开失败”);
for(i=O;
i<
n;
i++)
if(fwiite(&
txl[i],sizeof(stiiicttongxunlu),1.fp)!
=1)
prmtf(n\n\t\t写入文件错误
fclose(fp);
/*关闭文件*/
\n\t”);
/*输出提示信息*/
pnntf(H\ii\t\t通讯录文件已保存“);
pnntf(H\ii\t\t谢谢使用,欢迎再次使用
如果对本软件有疑问,请到我们官网(www.shj.com)提出您的问题,我们将为您解答An"
);
pnntf(哦们的软件有不足之处,欢迎到官网()反映,我们将努力改正!
pnntfCWt按任意键退出程序\n\t\f);
/*输出完毕*/
pnntfC\n\t”);
〃写入文件函数结束
/〃查询联系人函数开始模块四
voidchazliao()
charc;
显示和查询联系人
pnntf(H\ii\t\t|1-逐个显示所有2-按姓名查询
\ii\t\t|3-按电话查询4-返回主菜单
pnntf(H\n\t\t|”);
putf(%\佗请选择您所所要的服务:
switch(c)
{_
casefr:
xianshi();
产显示所有号码可
chazhao_xmgming();
/*调用按姓名查询函数*/
casey:
chazhao_dianhua();
/*调用按号码查询函数*/
case^^zhucaidanOibreak;
/*主菜单*/
voidxianslii()//显示所有联系人函数
system(”cls”);
〃清楚屏幕
if(ii!
=O)
\ll\t\t欢迎您查询通讯录所有联系人信息”);
for(i=0;
i-H-)/*依次序显示*7
姓名:
%s"
txl[i].xingming);
电话:
%sM,txl[i].diaiiliua);
priiitf(n\n\t\t地址:
%sH,txl[i].dizhi);
prmtf(H\n\t\tM);
if(i+l<
n)
prmtf(n\ii\t\t”);
system(”pause"
//返回错误信息
M);
else/*无联系人*/
\n\t\t通讯录中无任何纪录”);
pnntf(”\n\t\t按任意键返回主菜单:
"
getchQ;
return;
〃按号码查询函数
voidchazliao_dianliua()
intmaik=0;
chaiphone[15];
\n\t\t按电话查找”);
\n\t\t请输入电话号码:
scanf(”%s"
、phone);
fbr(i=O;
if(strcix)p(txl[i].dianhua,phone)=0)〃对比查找函数
{pimtfC'
\n\t\t以下是您查找的学生信息"
姓名:
%s”,txl[i].xingming);
prmtf(H\n\t\t”);
\n\t\t按任意键返回主菜单:
niark++;
if(mark==0)
没有找到联系人的信息”);
按任意键返回主菜单”);
getchQ;
voidchazliao_xingniHig()//按姓名查询
clwnaine[20];
pmitf(”\n\t\t按姓名查找”);
pnntfC\n\t\t请输入您要查找的姓名:
scanf(H%sn4iame);
if(strcmp(txl[i].xmgnuiig,name)==O)
\ii\t\t以下是您查找的联系人信息”);
电话:
piiiitf(n\n\t\t地址:
%sr\txl[i].dizhi);
H);
niark++;
prmtfC'
\ii\t\t没有找到联系人的信息”);
////查询联系人函数结束
////删除联系人函数部分开始
voidshanchu()
if(n==O)严如果通讯录中没有一个记录输出以下部分引
prmtf(n\ii\t\t对不起,文件中无任何纪录按任意键返回主菜单”);
system(HclsM);
严清屏*/
\n\t\t删除菜单”);
\n\t\t|1-删除所有2-删除单个
pnntf(H\n\t\t|3-返回主菜单|”);
pnntf(H\n\t\t|
pnntfC\n\t\t请选择您所所要的服务:
/*输入的赋予choice*/
caseT:
shaiichu_quanbu();
bwak;
casef2*:
shanchu_dange();
case3*:
zhucaidanQ;
zliucaidan();
break:
voidshanchu_quanbuQ//删除所有联系人
\ii\t\t确认删除?
(y/n)”);
if(getchO==y)
if((fp=fopen(H通讯录.txfi,,,wH))=NULL)严文件空输出*/
pnntfC\n\t\t不能打开文件,删除失败J;
readfile();
n=0;
纪录已删除,按任意键返回主菜单”);
else
voidshaiichu_xmgming()〃按姓名删除联系人
inti,m,mark=0,a=0:
charnaine[20];
pgtf(”\n\t\t请输入要删除联系人姓名:
scanf(H%sn4iame);
/*键盘输入姓名*7
for(i=a;
if(strcmp(txl[i].xmgnuiig.name)==0)//对比字符串查找到要删除的联系人{
pnntf(“\n\t\t以下是您要删除的联系人纪录:
”);
姓名:
priiitf(n\n\t\t地址:
%sM,txl[i].dizhi);
是否删除?
(y/n),r);
if(getcli()=='
y'
)//实现删除功能
for(m=i;
m<
n-l;
m++)
txl[m]=txl[m+1];
/*将通讯录的想前移*/
mark++;
pimtfC'
Wt删除成功”);
\ii\t\t是否继续删除?
if(getch()=y)shanchu_xuigniHig();
/*继续调用删除函数*/
contmue;
prmtf(n\ii\t\t没有该联系人的纪录J;
Wt是否继续删除?
if(getchO—y1)
shanchu_xmgniuigQ;
voidshanchu_diaiiliua()//按电话号码删除联系人
intijn,mark=0:
/*变量定义*/
charphone[20];
pmtf(%\t\t请输入要删除联系人电话号码:
phone);
if(n==0)
prmtf(n\ii\t\t对不起,文件中无任何纪录J;
pimtfC'
Wt按任意键返回主菜单”);
if(strcmp(txl[i].diaiiliua.phone)=0)
以下是您要删除的联系人纪录:
piiiitf(n\n\t\t姓名:
%s*\txl[i].xiiiginiiig);
%s,\txl[i].diaiiliua);
地址:
%s,\txl[i].dizhi);
prmtf(H\ii\t\t是否删除?
(v/n)H);
if(getchO—y'
)
n-1;
m++)//递推替换实现删除txl[m]=txl[m+l];
n—;
//记录删除次数
prmtfC'
if(getch()='
shanchu_dianliua();
continue;
pnntf(”\n\t\t没有该联系人的纪录”);
pnntf(”\n\t\t是否继续删除?
(y/n)"
if(getchO—yr)
voidshanchu_daiige()〃删除单个联系人
pmirffS'
tH);
\n\t\t1-按姓名删除2-按电话删除”);
c=getch();
switch(c)
case1r:
shanchu_xingniHig();
caset2,:
shanchu_diaiiliua();
///删除函数部分结束
///修改联系人函数开始
voidxiugaiQ/*修改函数*/
if(n=0)
prmtf(n\ii\t\t对不起,文件中无任何纪录
按任意键返回主菜单”);
getchO;
system^cls”);
\n\t\t修改联系人菜单”);
pnntfC\n\t\t|1-按姓名修改2-按电话修改
pnntf(H\n\t\t|任意键-按返回主菜单|"
WtM);
switch(c)
caseT[xii】gai_xingmiiig();
2】xiugai_duinhua();
bTeak;
voidxiugaLxmgnungO
mti,maik=0;
clwname[20];
请输入要修改的联系人姓名:
scaiiHM%sn4iame);
if(n==O)
Wt文件中无任何联系人”);
niaik++;
if(strcmp(txl[i].xnigmmg4iame)==0)
Wt以卞是您要修改的联系人信息”);
printf(H\ii\t\t姓名:
%s,\txl[i].xmgnung);
printf(H\n\t\t电话:
%s,\txl[i].dianliua);
printf(H\n\t\t地址:
%s,\txl[i].dizhi);
pnntf(H\n\t\t是否修改(y/n)”);
if(getch()==y)
prmtf(^i\t请选择修改信息”);
1-修改姓名2-修改电话”);
prmtf(H\ii\t3■修改地址”);
prmtf(H\ii\tM);
\ii\t请选择您所所要的服务:
scjnf("
%s役&
c);
printf(H\n\t请输入新姓名:
scanf(n%s,\txl[i].xmgniuig);
case21:
printf(n\n\t请输入新电话:
scanf(n%s,\txl[i].diaiiliua);
case3,:
prmtf(n\ii\t请输入新地址小);
scanf(n%s,\txl[i].dizlu);
if(maik=O)
Wt没有找到联系人信息”);
pnntfC^Xt是否继续修改?
“);
if(getchQ=='
xiugai.xingnwigQ;
retuin;
voidxiugai_dianliua()
clwc,phone[15];
mtijnaik=0;
\ll\t\t请输入要修改联系人的号码:
scanf(”%s”,phone);
文件中无任何联系人”);
mark++;
i-H-)
if(strcmp(txl[i].dianiiua,phone)=0)
pnntf(H\n\t\t姓名:
printf(H\ii\t\t地址:
Wt是否修改(y/n)”);
pnmf(%i\t请选择修改信息”);
pnntf(”\n\t1-修改姓名2-修改电话”);
prmtf(n\ii\tM);
\n\t请选择您所所要的服务:
scanf(”%s役&
case*r:
请输入新姓名:
scanfC%s»
txl[i]・xingming);
case2:
printf{”\n\t请输入新电话:
scanf(”%sjtxl[i]・dianlnm);
cas&
3【pnntfC\n\t请输入新地址小);
scanf(”%s役txl[i]・dizlu);
\ii\t没有该联系人信息”);
pnntfC^Xt是否继续修改?
“);
if(getchQ=='
xiugai_diaiiliua();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 个人 通讯录 管理 系统 语言 源程序 优秀