{ int i;
if((fp=fopen(\打开文件 文件指针名=fopen(文件名,使用文件方式); {
printf(\文件打开失败\ }
for(i=0;i if(fwrite(&student[i],sizeof(struct record),1,fp)!=1)//将数据写入文件 { printf(\写入文件错误!\\n\ } printf(\请输入用户信息 ****************\\n\ printf(\输入姓名:\ scanf(\ printf(\输入电话号码:\ scanf(\ printf(\输入地址:\ scanf(\ printf(\输入邮编:\ scanf(\ printf(\输入e-mail:\ scanf(\ num++; printf(\是否继续添加?(Y/N):\ if(getch()=='y') adduser(); return 0; } fclose(fp);//关闭打开文件 printf(\通讯录文件已保存\ printf(\按任意键退出程序\\n\\t\\t\ exit(0); return 0; } int deletebyphone()//按电话号码删除 { int i,j; int deletemark=0; char phone[20]; printf(\请输入要删除用户电话号码:\ scanf(\ if(num==0) { printf(\对不起,文件中无任何纪录\ printf(\按任意键返回主菜单\ getch(); return 0; } for(i=0;i printf(\以下是您要删除的用户纪录:\ printf(\姓名: %s\ printf(\电话: %s\ printf(\地址: %s\ printf(\:%s\ printf(\是否删除?(y/n)\ if(getch()=='y') { for(j=i;j deletemark++; printf(\删除成功\ printf(\是否继续删除?(y/n)\ if(getch()=='y') deletebyphone(); return 0; } else return 0; } continue; } if(deletemark==0) { printf(\没有该用户的纪录\ printf(\是否继续删除?(y/n)\ if (getch()=='y') deletebyphone(); return 0; } } int deletebyname()//按姓名删除,与按电话号码删除相同 { int a=0; int findmark=0; int j; int deletemark=0; int i; char name[20]; printf(\请输入要删除用户姓名:\ scanf(\ for(i=a;i printf(\ printf(\姓名: %s\ printf(\电话: %s\ printf(\地址: %s\ printf(\:%s\ printf(\ printf(\是否删除?(y/n)\ if(getch()=='y') { for(j=i;j deletemark++; printf(\删除成功\ if((i+1) continue; } } printf(\是否继续删除?(y/n)\ if(getch()=='y') deletebyname(); return 0; } if((i+1) { a=i; continue; } } } else continue; } if((deletemark==0)&&(findmark==0)) { printf(\没有该用户的纪录\ printf(\是否继续删除?(y/n)\ if(getch()=='y') deletebyphone(); return 0; } else if(findmark!=0) { printf(\没有重名信息\ printf(\没有该用户的纪录\ printf(\是否继续删除?(y/n)\ if(getch()=='y') deletebyphone(); return 0; } } int dele()//删除记录 { char choic; printf(\按电话号码删除 2-按姓名删除\ printf(\请选择:\ choic=getch(); switch(choic) { case '1':deletebyphone();break; case '2':deletebyname();break; } return 0; } int listbyname()//按姓名升序排序 { int i,j; struct record tmp; for (i=1;i }while((strcmp(tmp.name,student[j].name)<0&&j>=0)); student[j+1]=tmp; } } printf(\排序成功,是否显示?(y/n)\ if(getch()=='y') list(); return 0; } int save()//保存文件 { int j; FILE*fp; fp=fopen(\ if(fp==NULL) printf(\ if(num!=0) { for(j=0;j printf(\保存成功!\ fclose(fp); return 0; }