个人通讯录管理系统c语言源程序优秀版.docx

上传人:b****3 文档编号:3659118 上传时间:2022-11-24 格式:DOCX 页数:18 大小:19.06KB
下载 相关 举报
个人通讯录管理系统c语言源程序优秀版.docx_第1页
第1页 / 共18页
个人通讯录管理系统c语言源程序优秀版.docx_第2页
第2页 / 共18页
个人通讯录管理系统c语言源程序优秀版.docx_第3页
第3页 / 共18页
个人通讯录管理系统c语言源程序优秀版.docx_第4页
第4页 / 共18页
个人通讯录管理系统c语言源程序优秀版.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

个人通讯录管理系统c语言源程序优秀版.docx

《个人通讯录管理系统c语言源程序优秀版.docx》由会员分享,可在线阅读,更多相关《个人通讯录管理系统c语言源程序优秀版.docx(18页珍藏版)》请在冰豆网上搜索。

个人通讯录管理系统c语言源程序优秀版.docx

个人通讯录管理系统c语言源程序优秀版

#include/*头文件*/

#include//包含最常用的系统函数

#include//关于字符数组的函数定义的头文件

#include//控制台输入输出

//定义结构体

structtongxunlu/*定义通讯录结构体变量*/

{

charxingming[20];/*定义输入名字的数组*/

chardianhua[20];/*定义输入电话号码的数组*/

chardizhi[40];/*定义输入地址的数组*/

}txl[100];//默认100个数据

intn=0;//记录数据联系人数量

FILE*fp;/*定义文件*/

//程序用到的所有函数

voidzhucaidan();/*主菜单函数*/

voidzengjia();/*增加联系人函数*/

voidreadfile();/*文件中读入函数*/

voidwritefile();/*文件中写入函数*/

voidxiugai();/*修改联系人函数*/

voidxiugai_xingming();/*姓名修改*/

voidxiugai_dianhua();/*电话号码修改*/

voidchazhao();/*查找联系人函数*/

voidchazhao_xingming();/*按姓名查找*/

voidchazhao_dianhua();/*按号码查找*/

voidshanchu();/*删除联系人函数*/

voidshanchu_quanbu();/*全部删除*/

voidshanchu_dange();/*单个删除*/

voidxianshi();/*号码显示*/

//程序主函数模块六

voidmain()/*主函数main*/

{readfile();/*读入文件*/

while

(1)/*循环(永远进行)*/

{

zhucaidan();/*调用主菜单函数*/

}

}

//读取文件函数部分开始模块七

voidreadfile()

{

if((fp=fopen("c:

\\通讯录.txt","r"))==NULL)/*以只读方式打开判定文件是否为空*/

{

printf("\n\t\t\t通讯录文件不存在");/*判断结论*/

if((fp=fopen("同通讯录.txt","w"))==NULL)/*只写方式判断*/

{

printf("\n\t\t建立失败");/*为空结论*/

exit(0);/*退出*/

}

else/*不为空则执行else*/

{

printf("\n\t-----------------欢迎使用通讯录管理系统------------------");

printf("\n\t通讯录文件已建立");

printf("\n\t按任意键进入主菜单");

printf("\n\t---------------------------------------------------------");

getch();

return;

}

exit(0);

}

fseek(fp,0,2);/*文件位置指针移动到文件末尾*/

if(ftell(fp)>0)/*文件不为空*/

{

rewind(fp);/*文件位置指针移动到文件开始位置*/

for(n=0;!

feof(fp)&&fread(&txl[n],sizeof(structtongxunlu),1,fp);n++);

printf("\n\t----------欢迎使用通讯录管理系统1.0beat版----------------");

printf("\n\t文件导入成功");

printf("\n\t按任意键返回主菜单");

printf("\n\t---------------------------------------------------------");

getch();

return;

}

printf("\n\t------------欢迎使用通讯录管理系统1.0beat版--------------");

printf("\n\t文件导入成功");

printf("\n\t通讯录文件中无任何纪录");

printf("\n\t按任意键返回主菜单");

printf("\n\t---------------------------------------------------------");

getch();

return;

}

//读取文件函数结束

//文件主菜单函数开始模块六

voidzhucaidan()

{

charc;

system("cls");

printf("\n\t\t|-------欢迎您使用通讯录管理系统1.0beat版-----|");

printf("\n\t\t|1-添加联系人2-查询和显示联系人|");

printf("\n\t\t|3-删除联系人4-修改联系人|");

printf("\n\t\t|5-保存退出0-不保存退出|");

printf("\n\t\t|------------------------------------------------|");

printf("\n\t\t请选择您所所要的服务:

");

c=getch();

switch(c)/*对于上边的选择项目*/

{

case'1':

zengjia();break;

case'2':

chazhao();break;

case'3':

shanchu();break;

case'4':

xiugai();break;

case'5':

writefile();break;

case'0':

exit(0);

default:

zhucaidan();/*如果没有则返回主菜单等待输入*/

}

}

//文件主菜单函数结束

//添加新联系人函数开始模块一

voidzengjia()

{

printf("\n\t\t------------------请输入联系人信息--------------------\n");

printf("\n\t\t输入联系人姓名:

");

scanf("%s",txl[n].xingming);/*键盘输入*/

printf("\n\t\t输入联系人电话号码:

");

scanf("%s",txl[n].dianhua);

printf("\n\t\t输入联系人地址:

");

scanf("%s",txl[n].dizhi);

n++;/*统计个数*/

printf("\n\t\t是否继续添加联系人(Y/N):

");/*是否继续输入联系人.*/

if(getch()=='y')

zengjia();

return;

}

//添加新联系人结束

//写入文件函数开始模块七

voidwritefile()/*联系人写入文件*/

{

inti;

if((fp=fopen("c:

\\通讯录.txt","w"))==NULL)

{

printf("\n\t\t文件打开失败");

}

for(i=0;i

{

if(fwrite(&txl[i],sizeof(structtongxunlu),1,fp)!

=1)

{

printf("\n\t\t写入文件错误!

\n");

}

}

fclose(fp);/*关闭文件*/

printf("\n\t------------------------------------------------------");/*输出提示信息*/

printf("\n\t\t通讯录文件已保存");

printf("\n\t\t谢谢使用,欢迎再次使用!

\n");

printf("如果对本软件有疑问,请到我们官网)提出您的问题,我们将为您解答.\n");

printf("我们的软件有不足之处,欢迎到官网反映,我们将努力改正!

");

printf("\n\t\t按任意键退出程序\n\t\t");/*输出完毕*/

exit(0);

printf("\n\t------------------------------------------------------");

}

//写入文件函数结束

///查询联系人函数开始模块四----------------------------------------------------

voidchazhao()

{

charc;

system("cls");

printf("\n\t\t-------------------显示和查询联系人------------------");

printf("\n\t\t|1-逐个显示所有2-按姓名查询|");

printf("\n\t\t|3-按电话查询4-返回主菜单|");

printf("\n\t\t|------------------------------------------------------");

printf("\n\t\t请选择您所所要的服务:

");

c=getch();

switch(c)

{

case'1':

xianshi();break;/*显示所有号码*/

case'2':

chazhao_xingming();break;/*调用按姓名查询函数*/

case'3':

chazhao_dianhua();break;/*调用按号码查询函数*/

case'4':

zhucaidan();break;/*主菜单*/

}

}

voidxianshi()//显示所有联系人函数

{

inti;

system("cls");//清楚屏幕

if(n!

=0)

{

printf("\n\t\t----------欢迎您查询通讯录所有联系人信息-------------");

for(i=0;i

{

printf("\n\t\t姓名:

%s",txl[i].xingming);

printf("\n\t\t电话:

%s",txl[i].dianhua);

printf("\n\t\t地址:

%s",txl[i].dizhi);

printf("\n\t\t--------------------------------------------------");

if(i+1

{

printf("\n\t\t-----------------------");

system("pause");//返回错误信息

}

}

printf("\n\t\t---------------------------------------------");

}

else/*无联系人*/

printf("\n\t\t通讯录中无任何纪录");

printf("\n\t\t按任意键返回主菜单:

");

getch();

return;

}

//按号码查询函数

voidchazhao_dianhua()

{

intmark=0;

inti;

charphone[15];

printf("\n\t\t-------------------按电话查找-------------------------");

printf("\n\t\t请输入电话号码:

");

scanf("%s",phone);

for(i=0;i

{

if(strcmp(txl[i].dianhua,phone)==0)//对比查找函数

{

printf("\n\t\t------------以下是您查找的学生信息------------");

printf("\n\t\t姓名:

%s",txl[i].xingming);

printf("\n\t\t电话:

%s",txl[i].dianhua);

printf("\n\t\t地址:

%s",txl[i].dizhi);

printf("\n\t\t------------------------------------------------");

printf("\n\t\t按任意键返回主菜单:

");

mark++;

getch();

return;

}

}

if(mark==0)

{

printf("\n\t\t没有找到联系人的信息");

printf("\n\t\t按任意键返回主菜单");

getch();

return;

}

}

voidchazhao_xingming()//按姓名查询

{

intmark=0;

inti;

charname[20];

printf("\n\t\t----------------按姓名查找--------------------");

printf("\n\t\t请输入您要查找的姓名:

");

scanf("%s",name);

for(i=0;i

{

if(strcmp(txl[i].xingming,name)==0)

{

printf("\n\t\t------------以下是您查找的联系人信息---------------");

printf("\n\t\t姓名:

%s",txl[i].xingming);

printf("\n\t\t电话:

%s",txl[i].dianhua);

printf("\n\t\t地址:

%s",txl[i].dizhi);

printf("\n\t\t---------------------------------------------------");

mark++;

getch();

return;

}

}

if(mark==0)

{

printf("\n\t\t没有找到联系人的信息");

printf("\n\t\t按任意键返回主菜单");

getch();

return;

}

}

////查询联系人函数结束-----------------------------------------------------

////删除联系人函数部分开始-------------------------------------------------

voidshanchu()

{

charc;

if(n==0)/*如果通讯录中没有一个记录输出以下部分*/

{

printf("\n\t\t对不起,文件中无任何纪录");

printf("\n\t\t按任意键返回主菜单");

getch();

return;

}

system("cls");/*清屏*/

printf("\n\t\t-----------------删除菜单----------------------");

printf("\n\t\t|1-删除所有2-删除单个|");

printf("\n\t\t|3-返回主菜单|");

printf("\n\t\t|-------------------------------------------------");

printf("\n\t\t请选择您所所要的服务:

");

c=getch();/*输入的赋予choice*/

switch(c)

{

case'1':

shanchu_quanbu();break;

case'2':

shanchu_dange();break;

case'3':

zhucaidan();break;

default:

zhucaidan();break;

}

}

voidshanchu_quanbu()//删除所有联系人

{

printf("\n\t\t确认删除(y/n)");

if(getch()=='y')

{

fclose(fp);

if((fp=fopen("通讯录.txt","w"))==NULL)/*文件空输出*/

{

printf("\n\t\t不能打开文件,删除失败");

readfile();

}

n=0;

printf("\n\t\t纪录已删除,按任意键返回主菜单");

getch();

return;

}

else

return;

}

voidshanchu_xingming()//按姓名删除联系人

{

inti,m,mark=0,a=0;

charname[20];

printf("\n\t\t请输入要删除联系人姓名:

");

scanf("%s",name);/*键盘输入姓名*/

for(i=a;i

{

if(strcmp(txl[i].xingming,name)==0)//对比字符串查找到要删除的联系人

{

printf("\n\t\t以下是您要删除的联系人纪录:

");

printf("\n\t\t--------------------------------");

printf("\n\t\t姓名:

%s",txl[i].xingming);

printf("\n\t\t电话:

%s",txl[i].dianhua);

printf("\n\t\t地址:

%s",txl[i].dizhi);

printf("\n\t\t--------------------------------");

printf("\n\t\t是否删除(y/n)");

if(getch()=='y')//实现删除功能

{

for(m=i;m

txl[m]=txl[m+1];/*将通讯录的想前移*/

n--;

mark++;

printf("\n\t\t删除成功");

printf("\n\t\t是否继续删除(y/n)");

if(getch()=='y')

shanchu_xingming();/*继续调用删除函数*/

return;

}

else

return;

}

continue;

}

if(mark==0)

{

printf("\n\t\t没有该联系人的纪录");

printf("\n\t\t是否继续删除(y/n)");

if(getch()=='y')

shanchu_xingming();

return;

}

}

voidshanchu_dianhua()//按电话号码删除联系人

{

inti,m,mark=0;/*变量定义*/

charphone[20];

printf("\n\t\t请输入要删除联系人电话号码:

");

scanf("%s",phone);

if(n==0)

{

printf("\n\t\t对不起,文件中无任何纪录");

printf("\n\t\t按任意键返回主菜单");

getch();

return;

}

for(i=0;i

{

if(strcmp(txl[i].dianhua,phone)==0)

{

printf("\n\t\t以下是您要删除的联系人纪录:

");

printf("\n\t\t姓名:

%s",txl[i].xingming);

printf("\n\t\t电话:

%s",txl[i].dianhua);

printf("\n\t\t地址:

%s",txl[i].dizhi);

printf("\n\t\t是否删除(y/n)");

if(getch()=='y')

{

for(m=i;m

txl[m]=txl[m+1];

n--;

mark++;//记录删除次数

printf("\n\t\t删除成功");

printf("\n\t\t是否继续删除(y/n)");

if(getch()=='y')

shanchu_dianhua();

return;

}

else

return;

}

continue;

}

if(mark==0)

{

printf("\n\t\t没有该联系人的纪录");

printf("\n\t\t是否继续删除(y/n)");

if(getch()=='y')

return;

}

}

voidshanchu_dange()//删除单个联系人

{

charc;

printf("\n\t----------------------------------------------------------");

printf("\n\t\t1-按姓名删除2-按电话删除");

printf("\n\t\t请选择您所所要的服务:

");

printf("\n\t----------------------------------------------------------");

c=getch();

switch(c)

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

当前位置:首页 > 工程科技 > 能源化工

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

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