个人通讯录管理系统源程序绝对无错.docx

上传人:b****1 文档编号:23139426 上传时间:2023-05-08 格式:DOCX 页数:22 大小:19.01KB
下载 相关 举报
个人通讯录管理系统源程序绝对无错.docx_第1页
第1页 / 共22页
个人通讯录管理系统源程序绝对无错.docx_第2页
第2页 / 共22页
个人通讯录管理系统源程序绝对无错.docx_第3页
第3页 / 共22页
个人通讯录管理系统源程序绝对无错.docx_第4页
第4页 / 共22页
个人通讯录管理系统源程序绝对无错.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

个人通讯录管理系统源程序绝对无错.docx

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

个人通讯录管理系统源程序绝对无错.docx

个人通讯录管理系统源程序绝对无错

#include/*头文件*/

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

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

#include//控制台输入输出

//定义结构体

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

{

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

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

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

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

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

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

//程序用到的所有函数

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

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

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

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

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

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

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

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

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

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

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

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

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

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

//程序主函数模块六

voidmain()/*主函数main*/

{readfile();/*二进制读入文件*/

while

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

{

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

}

}

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

voidreadfile()

{

if((fp=fopen("c:

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

{

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

if((fp=fopen("txl.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;

}

//读取文件函数结束

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

voidmenu()

{

charchoic;

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请选择您所所要的服务:

");

choic=getch();

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

{

case'1':

addnew();break;

case'2':

search();break;

case'3':

deletecd();break;

case'4':

modify();break;

case'5':

writefile();break;

case'0':

exit(0);

default:

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

}

}

//文件主菜单函数结束

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

voidaddnew()

{

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

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

");

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

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

");

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

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

");

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

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

printf("\n\t\t是否继续添加联系人?

(Y/N):

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

if(getch()=='y')

addnew();

return;

}

//添加新联系人结束

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

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

{

inti;

if((fp=fopen("c:

\\txl.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------------------------------------------------------");

}

//写入文件函数结束

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

voidsearch()

{

charchoic;

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请选择您所所要的服务:

");

choic=getch();

switch(choic)

{

case'1':

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

case'2':

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

case'3':

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

case'4':

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

}

}

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

{

inti;

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

if(n!

=0)

{

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

for(i=0;i

{

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

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

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

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

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

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

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;

}

//按手机号码查询函数

voidsearchphone()

{

intmark=0;

inti;

charphone[15];

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

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

");

scanf("%s",phone);

for(i=0;i

{

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

{

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

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

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

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

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

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

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

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

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

");

mark++;

getch();

return;

}

}

if(mark==0)

{

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

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

getch();

return;

}

}

voidsearchname()//按姓名查询

{

intmark=0;

inti;

charname[20];

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

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

");

scanf("%s",name);

for(i=0;i

{

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

{

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

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

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

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

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

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

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

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

mark++;

getch();

return;

}

}

if(mark==0)

{

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

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

getch();

return;

}

}

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

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

voiddeletecd()

{

charchoic;

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请选择您所所要的服务:

");

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

switch(choic)

{

case'1':

deleteall();break;

case'2':

deleteone();break;

case'3':

menu();break;

default:

menu();break;

}

}

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

{

printf("\n\t\t确认删除?

(y/n)");

if(getch()=='y')

{

fclose(fp);

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

{

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

readfile();

}

n=0;

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

getch();

return;

}

else

return;

}

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

{

inti,j,deletemark=0,a=0;

charname[20];

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

");

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

for(i=a;i

{

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

{

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

");

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

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

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

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

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

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

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

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

printf("\n\t\t是否删除?

(y/n)");

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

{

for(j=i;j

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

n--;

deletemark++;

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

printf("\n\t\t是否继续删除?

(y/n)");

if(getch()=='y')

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

return;

}

else

return;

}

continue;

}

if(deletemark==0)

{

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

printf("\n\t\t是否继续删除?

(y/n)");

if(getch()=='y')

deletename();

return;

}

}

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

{

inti,j,deletemark=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].phone,phone)==0)

{

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

");

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

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

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

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

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

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

printf("\n\t\t是否删除?

(y/n)");

if(getch()=='y')

{

for(j=i;j

txl[j]=txl[j+1];

n--;

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

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

printf("\n\t\t是否继续删除?

(y/n)");

if(getch()=='y')

deletephone();

return;

}

else

return;

}

continue;

}

if(deletemark==0)

{

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

printf("\n\t\t是否继续删除?

(y/n)");

if(getch()=='y')

return;

}

}

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

{

charchoic;

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

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

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

");

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

choic=getch();

switch(choic)

{

case'1':

deletename();break;

case'2'

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

当前位置:首页 > 表格模板 > 书信模板

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

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