通讯录1.0

    xiaoxiao2021-08-15  191

    #include<stdio.h> #include<string.h> #include<stdlib.h> void add_person(); //添加联系人 void del_person(); //删除联系人 void research_person();  //查找联系人 void show_all();       //显示所有联系人 void repair_person();   //修改联系人信息 void inter_face();       //显示主菜单 void write_file();      //写入文本 void read_file();       //读取文本 int N=0;               //表示所有联系人的个数 FILE *fp; struct Person { char name[20];                  //姓名 char home_phonenumber[30];      //家庭联系方式 char move_phonenumber[30];      //手机联系方式 char beizhu[50];                //备注 char address[100];              //家庭地址 }person[1000],datachance; void main() { read_file(); while(1); { inter_face(); } } void read_file() { char ch; if((fp=fopen("system.txt","r"))==NULL) { printf("\n\t\t   通讯录不存在!\n"); if((fp=fopen("system.txt","w"))==NULL) { printf("\n\t\t 建立失败!\n"); exit(0); } else { printf("\t\t*****************欢迎使用通讯录管理系统*******************\n"); printf("\t\t                 通讯录文件已建立                         \n"); printf("\t\t                按任意键进入主菜单                        \n"); printf("\t\t**********************************************************\n"); getchar(); inter_face(); } exit(0); } fseek(fp,0,SEEK_SET); if(ch=fgetc(fp)!=EOF) { rewind(fp); for(N=0;!feof(fp)&&fread(&person[N],sizeof(struct Person),1,fp);N++); printf("\n\t***************欢迎使用通讯录管理系统*******************\n"); printf("\n\t                   文件导入成功                         \n"); printf("\n\t                按任意键返回主菜单                      \n"); printf("\n\t********************************************************\n"); getchar(); inter_face(); } else { printf("\n\t********************欢迎使用通讯录管理系统******************\n"); printf("\n\t                        文件导入成功                        \n"); printf("\n\t                     通讯录文件中无任何记录                \n"); printf("\n\t                      按任意键返回主菜单                    \n"); printf("\n\t************************************************************\n"); getchar(); inter_face(); } } void write_file() { int i; if((fp=fopen("system.txt","w"))==NULL) { printf("\n\t\t文件打开失败!\n"); } for(i=0;i<N;i++) { if(fwrite(&person[i],sizeof(struct Person),1,fp)!=1) { printf("\n\t\t写入文件错误!\n"); } } fclose(fp); printf("\n\t*****************************************\n"); printf("\n\t\t通讯录文件已保存\n"); printf("\n\t\t谢谢使用\n"); printf("\n\t\t欢迎再次使用\n"); exit(0); printf("\n\t******************************************\n"); } void inter_face() { int choose; printf("\t\t****************************************\n"); printf("\t\t           通讯录管理系统               \n"); printf("\t\t                                        \n"); printf("\t\t  1.添加联系人        4.修改联系人信息  \n"); printf("\t\t  2.删除联系人        5.查询联系人      \n"); printf("\t\t  3.显示所有联系人    6.关闭通讯录      \n"); printf("                                            \n"); printf("\t\t****************************************\n"); printf("\t\t请输入:"); scanf("%d",&choose); switch(choose) { case 1: add_person(); break; case 2: deleteall(); break; case 3: show_all(); break; case 4: repair_person(); break; case 5: research_person(); break; case 6: write_file(); break; default: printf("请重新输入!\n"); system("cls"); inter_face(); } } void add_person() { char n; printf("\t\t***********您已经进入了增加联系人系统***********\n"); one:printf("请输入联系人的姓名\n\n"); scanf("%s",person[N].name); printf("\n"); printf("请对联系人进行备注\n\n"); scanf("%s",person[N].beizhu); printf("\n"); printf("您输入的联系人已经保存!\n\n\n"); N++; printf("您是否继续添加联系人:Y.是 N.否\n"); two:scanf("%c",&n); if(n=='Y'||n=='N') { if(n=='Y') { goto one; } else { inter_face(); } } else { goto two; printf("您是否继续添加联系人:Y.是  N.否\n"); } } void del_person() { int i,m,z=1; int deletemark=0; char q; printf("\t\t************您已经进入删除联系人的系统**************\n\n"); printf("请根据显示的联系人的序号,选择要删除的联系人\n\n"); for(i=0;i<N;i++) { printf("%d\t",i); printf("%s\n",person[i].name); } three:scanf("%d",&m);  printf("确定是否要删除联系人:%s",person[m].name);  printf("\tY.确定\tN.否 \n\n");  scanf("%s",&q);  if(q=='Y'||q=='N')  {  if(q=='Y')  {  for(m=i;m<N-1;m++)  {  person[m]=person[m+1];  N--;  }  deletemark++;  printf("该联系人已经删除\n\n");  }    }  else  {  goto three;  printf("输入有误,请重新输入\n");  }  inter_face(); } void show_all() { int i; for(i=0;i<N;i++) { printf("\t姓名:%s",person[i].name); printf("\t家庭电话号码:%s",person[i].home_phonenumber); printf("\t    手机号码:%s",person[i].move_phonenumber); printf("\t    家庭地址:%s",person[i].address); printf("\t        备注:%s",person[i].beizhu); } printf("\n"); inter_face(); } void repair_person() { int i,a,b; if(N>0) { four:printf("请输入您修改的联系人的序号\n"); for(i=0;i<N;i++) { printf("%d\t",i); printf("姓名:%s\n",person[i].name); } printf("\n"); scanf("%d",&a); printf("\n"); printf("请输入要修改的对象: "); printf("0.姓名 1.家庭电话号码 2.本人手机号码 3.家庭地址 4.备注\n"); scanf("%d",&b); if(a>=0&&a<N) { switch(b) { case 0: { scanf("%s",datachance.name); strcpy(person[i].name,datachance.name); }break; case 1: { scanf("%s",datachance.home_phonenumber); strcpy(person[a].home_phonenumber,datachance.home_phonenumber); }break; case 2: { scanf("%s",datachance.move_phonenumber); strcpy(person[a].move_phonenumber,datachance.move_phonenumber); }break; case 3: { scanf("%s",datachance.address); strcpy(person[a].address,datachance.address); } break; case 4: { scanf("%s",datachance.address); strcpy(person[a].beizhu,datachance.beizhu); }break; default: { goto four; } break; } printf("%s被修改后的信息\n",person[a].name); printf("姓名: %s",person[a].name);          printf("\t家庭电话号码:%s",person[a].home_phonenumber); printf("\t本人手机号码:%s",person[a].move_phonenumber); printf("\t家庭地址:%s",person[a].address); printf("\t备注:%s\n",person[a].beizhu); } else { printf("输入有错,请重新输入"); goto four; } } inter_face(); } void research_person() { int i,a; printf("请输入您要查找的联系人的序号\n"); for(i=0;i<N;i++) { printf("%d\t",i); printf("姓名:%s\n",person[i].name); } printf("\n"); scanf("%d",&a); printf("  姓名:%s\n",person[a].name); printf("\t家庭电话号码:%s\n",person[a].home_phonenumber); printf("\t本人手机号码:%s\n",person[a].move_phonenumber); printf("\t家庭地址:%s\n",person[a].address); printf("\t备注:%s\n\n\n",person[a].beizhu); inter_face(); }
    转载请注明原文地址: https://ju.6miu.com/read-676355.html

    最新回复(0)