/************************************************************************
************************************************************************/
if((fp=fopen("c:\通讯录.txt","r"))==NULL)
if ((fp=fopen("通讯录2.txt","w"))==NULL)
printf("nt-----------------欢迎使用通讯录管理系统------------------");
printf("nt---------------------------------------------------------");
fseek(fp,0,2); /*文件位置指针移动到文件末尾*/
if (ftell(fp)>0) /*文件不为空*/
rewind(fp); /*文件位置指针移动到文件开始位置*/
for (n=0;!feof(fp) && fread(&MESS[n],sizeof(struct message),1,fp);n++);
printf("nt---------- 欢迎使用通讯录管理系统 ----------------");
printf("nt---------------------------------------------------------");
printf("nt------------ 欢迎使用通讯录管理系统 --------------");
printf("nt 通讯录文件中无任何纪录 ");
printf("nt---------------------------------------------------------");
/************************************************************************
************************************************************************/
printf("ntt|------- 欢迎您使用通讯录管理系统 -----|");
printf("ntt| 1-添加联系人 2-查询和显示联系人 |");
printf("ntt| 3-删除联系人 4-修改联系人 |");
printf("ntt| 5-保存退出 0-不保存退出 |");
printf("ntt|------------------------------------------------|");
printf("ntt请选择您所所要的服务:");
case '2':findMessage();break;
case '5':writefile();break;
/************************************************************************
************************************************************************/
printf("ntt------------------ 请输入联系人信息 --------------------n");
scanf("%s",MESS[n].name);
scanf("%s",MESS[n].phone);
scanf("%s",MESS[n].email);
scanf("%s",MESS[n].addr);
printf("ntt是否继续添加联系人?(Y/N):"); /*是否继续输入联系人.*/
/************************************************************************
************************************************************************/
void writefile() /*联系人写入文件*/
if ((fp=fopen("c:\通讯录.txt","w"))==NULL)
if (fwrite(&MESS[i],sizeof(struct message),1,fp)!=1)
printf("nt------------------------------------------------------"); /*输出提示信息*/
printf("ntt谢谢使用,欢迎再次使用!n");
printf("ntt按任意键退出程序ntt"); /*输出完毕*/
printf("nt------------------------------------------------------");
/************************************************************************
************************************************************************/
printf("ntt------------------- 显示和查询联系人 ------------------");
printf("ntt| 1-显示所有 2-按姓名查询 |");
printf("ntt| 3-按电话查询 4-返回主菜单 |");
printf("ntt|------------------------------------------------------");
printf("ntt请选择您所所要的服务:");
case '1':printMessage();break; /*显示所有号码*/
case '2':findMessage_name();break; /*调用按姓名查询函数*/
case '3':findMessage_phone();break; /*调用按号码查询函数*/
case '4':mainMenu();break; /*主菜单*/
/************************************************************************
************************************************************************/
printf("ntt----------欢迎您查询通讯录所有联系人信息-------------");
for (i=0;i<n;i++) /*依次序显示*/
printf("ntt姓名: %s",MESS[i].name);
printf("ntt电话: %s",MESS[i].phone);
printf("ntt QQ : %s",MESS[i].QQ);
printf("ntt邮箱: %s",MESS[i].email);
printf("ntt地址: %s",MESS[i].addr);
printf("ntt--------------------------------------------------");
printf("ntt-----------------------");
//system("pause");//返回错误信息
printf("ntt---------------------------------------------");
/************************************************************************
************************************************************************/
printf("ntt------------------- 按电话查找 -------------------------");
if (strcmp(MESS[i].phone,phone)==0)//对比查找函数
printf("ntt------------ 以下是您查找的学生信息 ------------");
printf("ntt姓名: %s",MESS[i].name);
printf("ntt电话: %s",MESS[i].phone);
printf("ntt QQ : %s",MESS[i].QQ);
printf("ntt邮箱: %s",MESS[i].email);
printf("ntt地址: %s",MESS[i].addr);
printf("ntt------------------------------------------------");
/************************************************************************
************************************************************************/
printf("ntt----------------按姓名查找 --------------------");
printf("ntt请输入您要查找的姓名:");
if (strcmp(MESS[i].name,name)==0)
printf("ntt------------ 以下是您查找的联系人信息 ---------------");
printf("ntt姓名: %s",MESS[i].name);
printf("ntt电话: %s",MESS[i].phone);
printf("ntt QQ : %s",MESS[i].QQ);
printf("ntt邮箱: %s",MESS[i].email);
printf("ntt地址: %s",MESS[i].addr);
printf("ntt---------------------------------------------------");
/************************************************************************
************************************************************************/
if(n==0) /*如果通讯录中没有一个记录输出以下部分*/
printf("ntt对不起,文件中无任何纪录");
printf("ntt----------------- 删除菜单 ----------------------");
printf("ntt| 1-删除所有 2-删除单个 |");
printf("ntt| 3-返回主菜单 |");
printf("ntt|-------------------------------------------------");
printf("ntt请选择您所所要的服务:");
case '1':del_all();break;
case '2':del_dange();break;
case '3':mainMenu();break;
default:mainMenu();break;
/************************************************************************
************************************************************************/
printf("nt----------------------------------------------------------");
printf("ntt 1-按姓名删除 2-按电话删除");
printf("ntt请选择您所所要的服务:");
printf("nt----------------------------------------------------------");
case '1':del_name();break;
case '2':del_phone();break;
/************************************************************************
************************************************************************/
if ((fp=fopen("通讯录.txt","w"))==NULL) /*文件空输出*/
printf("ntt不能打开文件,删除失败");
printf("ntt纪录已删除,按任意键返回主菜单");
/************************************************************************
************************************************************************/
printf("ntt请输入要删除联系人姓名:");
scanf("%s",name); /*键盘输入姓名*/
if (strcmp(MESS[i].name,name) == 0) //对比字符串查找到要删除的联系人
printf("ntt以下是您要删除的联系人纪录:");
printf("ntt--------------------------------");
printf("ntt姓名: %s",MESS[i].name);
printf("ntt电话: %s",MESS[i].phone);
printf("ntt地址: %s",MESS[i].addr);
printf("ntt--------------------------------");
if (getch()=='y') // 实现删除功能
MESS[m]=MESS[m+1]; /*将通讯录的想前移*/
printf("ntt是否继续删除?(y/n)");
printf("ntt是否继续删除?(y/n)");
/************************************************************************
************************************************************************/
printf("ntt请输入要删除联系人电话号码:");
printf("ntt对不起,文件中无任何纪录");
if (strcmp(MESS[i].phone,phone)==0)
printf("ntt以下是您要删除的联系人纪录:");
printf("ntt姓名: %s",MESS[i].name);
printf("ntt电话: %s",MESS[i].phone);
printf("ntt地址: %s",MESS[i].addr);
for (m=i;m<n-1;m++) //递推替换实现删除
printf("ntt是否继续删除?(y/n)");
printf("ntt是否继续删除?(y/n)");
/************************************************************************
************************************************************************/
printf("ntt对不起,文件中无任何纪录");
printf("ntt-----------------修改联系人菜单-----------------------");
printf("ntt| 1-按姓名修改 2-按电话修改 |");
printf("ntt| 任意键-按返回主菜单 |");
printf("ntt------------------------------------------------------");
case '1':modify_name();break;
case '2':modify_phone();break;
default:mainMenu();break;
/************************************************************************
************************************************************************/
printf("ntt请输入要修改的联系人姓名:");
if(strcmp(MESS[i].name,name)==0)
printf("ntt以下是您要修改的联系人信息");
printf("ntt姓名: %s",MESS[i].name);
printf("ntt电话: %s",MESS[i].phone);
printf("ntt QQ : %s",MESS[i].QQ);
printf("ntt邮箱: %s",MESS[i].email);
printf("ntt地址: %s",MESS[i].addr);
printf("nt------------请选择修改信息---------------");
printf("nt 1-修改姓名 2-修改电话 ");
printf("nt 3-修改QQ 4-修改邮箱 ");
printf("nt-----------------------------------------");
case '1': printf("nt请输入新姓名: ");
scanf("%s",MESS[i].name);break;
case'2':printf("nt请输入新电话: %s");
scanf("%s",MESS[i].phone);break;
case'3':printf("nt请输入新QQ: ");
scanf("%s",MESS[i].QQ);break;
case'4':printf("nt请输入新邮箱: ");
scanf("%s",MESS[i].email);break;
case'5':printf("nt请输入新地址: ");
scanf("%s",MESS[i].addr);break;
printf("nt是否继续修改?(Y/N):");
/************************************************************************
************************************************************************/
printf("ntt请输入要修改联系人的号码:");
if(strcmp(MESS[i].phone,phone)==0)
printf("ntt以下是您要修改的联系人信息");
printf("ntt姓名: %s",MESS[i].name);
printf("ntt电话: %s",MESS[i].phone);
printf("ntt QQ : %s",MESS[i].QQ);
printf("ntt邮箱: %s",MESS[i].email);
printf("ntt地址: %s",MESS[i].addr);
printf("nt------------请选择修改信息---------------");
printf("nt 1-修改姓名 2-修改电话 ");
printf("nt 3-修改QQ 4-修改邮箱 ");
printf("nt-----------------------------------------");
case'1': printf("nt请输入新姓名: ");
scanf("%s",MESS[i].name);break;
case'2':printf("nt请输入新电话: ");
scanf("%s",MESS[i].phone);break;
case'3':printf("nt请输入新QQ: ");
scanf("%s",MESS[i].QQ);break;
case'4':printf("nt请输入新邮箱: ");
scanf("%s",MESS[i].email);break;
case'5':printf("nt请输入新地址: ");
scanf("%s",MESS[i].addr);break;
printf("nt是否继续修改?(Y/N):");
评论