Person pe[80]; int menu_select() { char c; do{ system(\"cls\"); printf(\"\\ *****通讯录***** \\n\"); printf(\"\\┌───────┐\\n\"); printf(\"\\│ 1. 注册 │\\n\"); printf(\"\\│ 2. 登陆 │\\n\"); printf(\"\\│ 3. 添加记录 │\\n\"); printf(\"\\│ 4. 显示记录 │\\n\"); printf(\"\\│ 5. 查询记录 │\\n\"); printf(\"\\│ 6. 修改记录 │\\n\"); printf(\"\\│ 7. 删除记录 │\\n\"); printf(\"\\│ 8. 拨号 │\\n\"); printf(\"\\│ 9. 保存记录 │\\n\"); printf(\"\\│ 0. 退出程序 │\\n\"); printf(\"\\└───────┘\\n\"); printf(\"\\请您选择(0-9):\"); c=getchar(); }while(c<'0'||c>'9'); return(c-'0'); }
void CHS() {
Person per[3]={ {\"A\ {\"B\ {\"c\ }; FILE *fp; fp=fopen(\"shuju.dat\ fwrite(per,sizeof(Person),3,fp); fclose(fp); }
void zhuce( ) { FILE *fp; if((fp=fopen(\"mima.dat\ { printf(\"cannot open file!\\n\"); exit(0); } int sign=1; int k=1; int j,i=1; int m=1; int len=0; char code1[N],code2[N],user[N]; printf(\"用户名仅限于字母\"); while(m!=0) { printf(\"\\n输入用户名\\n\"); getchar(); gets(user); len=strlen(user); for(j=0;j printf(\"密码权限仅限数字或字母\"); while(k!=0) { printf(\"输入密码\\n\"); gets(code1); len=strlen(code1); for(j=0;j fclose(fp); } void denglu( ) { int i=0; char user[N]; FILE *fp; if((fp=fopen(\"mima.dat\ { printf(\"cannot open file!\\n\"); exit(0); } while(!feof(fp)) { fgets(user,20,fp); } char s1[N],s2[N]; printf(\"输入用户名\\n\"); getchar(); gets(s1); printf(\"输入密码\\n\"); gets(s2); strcat(s1,s2); if(strcmp(s1,user)==0) printf(\"登陆成功\\n\"); else printf(\"登陆失败\\n\"); fclose(fp); } int Input(Person per[],int n) { int i=0; char sign=1; while(sign!=0) { printf(\"\请在以下类别选择: p.个人类 b.商务类 w.办公类\"); scanf(\"%s\ printf(\"\编号:\"); scanf(\"%d\ printf(\"\姓名:\"); scanf(\"%s\ printf(\"\年龄:\"); scanf(\"%s\ printf(\"\电话号码:\"); scanf(\"%s\ printf(\"\通讯住址:\"); scanf(\"%s\ printf(\"\电子邮箱:\"); scanf(\"%s\ getchar(); printf(\"\\n\是否继续添加?(0,1)); scanf(\"%c\ i++; } return(n+i); } void Display(Person per[],int n) { int i; printf(\"----------------------------------------------------------------------\\n\"); printf(\"分类 编号 姓名 年龄 电话号码 通讯地址 电子邮箱\\n\"); printf(\"----------------------------------------------------------------------\\n\"); for(i=1;i void Query_a_record(Person per[],int n) { int m; system(\"cls\"); printf(\"\\\n请选择查询方式:\\n\"); printf(\"\┌──────——┐\\n\"); printf(\"\│1------准确姓名 │\\n\"); printf(\"\│2------准确电话 │\\n\"); printf(\"\│3------模糊查询 │\\n\"); printf(\"\│4------分类查询 │\\n\"); printf(\"\│5------返回 │\\n\"); printf(\"\└──────——┘\\n\"); printf(\"请选择:\"); scanf(\"%d\ while(m!=1&&m!=2&&m!=3&&m!=4&&m!=5) { printf(\"输入错误,请重新选择:\"); scanf(\"%d\ } if(m==1) { char s[20]; int i=0; printf(\"\请输入想查询的姓名:\"); scanf(\"%s\ while(strcmp(per[i].name,s)!=0&&i printf(\"\请输入想查询的姓名首字:\"); scanf(\"%s\ for(i=0;i printf(\"\请输入想查询的号码首位:\"); scanf(\"%s\ for(i=0;i scanf(\"%s\ while(strcmp(per[i].name,s)!=0&&i scanf(\"%s\ printf(\"\此人编号:\"); scanf(\"%d\ printf(\"\姓名:\"); scanf(\"%s\ printf(\"\年龄:\"); scanf(\"%s\ printf(\"\电话号码:\"); scanf(\"%s\ printf(\"\通讯住址:\"); scanf(\"%s\ printf(\"\电子邮箱:\"); scanf(\"%s\ printf(\"\修改成功!\"); } void bohao(Person per[],int n) { char s[20]; int i=0; system(\"cls\"); printf(\"请输入要拨号的联系人姓名:\\n\"); scanf(\"%s\ while(strcmp(per[i].name,s)!=0&&i int Delete(Person per[],int n) { char s[20]; int i=0,j; printf(\"\请输入想删除记录中的名字:\"); scanf(\"%s\ while(strcmp(per[i].name,s)!=0&&i /* fprintf(fp,\"******************************************通讯录******************************************\\n\"); fprintf(fp,\" 类别 编号 姓名 年龄 电话号码 通讯地址 电子邮箱 \\n\"); fprintf(fp,\"------------------------------------------------------------------------------------------\\n\"); while(i break; case 2: denglu(); system(\"pause\"); break; case 3: printf(\"\\n\添加记录到通讯录\\n\"); n=Input(pe,n); break; case 4: printf(\"\\n\显示通讯录记录表\\n\"); Display(pe,n); break; case 5: printf(\"\\n\在通讯录中查找记录\\n\"); Query_a_record(pe,n); printf(\"\\"); system(\"pause\"); break; case 6: printf(\"\\n\修改通讯录中的记录\\n\"); Change(pe,n); printf(\"\\"); system(\"pause\"); break; case 7: printf(\"\\n\从通讯录中删除记录\\n\"); n=Delete(pe,n); printf(\"\\"); system(\"pause\"); break; case 8: printf(\"\\n\拨号功能\\n\"); bohao(pe,n); printf(\"\\"); system(\"pause\"); break; } } case 9: printf(\"\\n\保存功能\\n\"); save(pe,n); printf(\"\\"); system(\"pause\"); break; case 0: printf(\"\\n\\谢谢使用,再见!\\n\"); printf(\"\\n\\\"); system(\"pause\"); exit(0); } 因篇幅问题不能全部显示,请点此查看更多更全内容