#include #include //#define NULL 0 #define LEN sizeof(struct message) struct message //定义结构体 { char name[15]; char number[15]; char phone[15]; char qq[13]; char addr[25]; struct message *next; //指向下一数据 }; int n; void creat() //建立电话簿 { int num; char choice[5]={'2'}; FILE *fp; struct message *head; struct message *p,*q; n = 0; p = q = (struct message *) malloc(LEN); fp=fopen("通讯录 1.txt","wb"); system("cls"); printf("\n 请输入姓名:"); scanf("%s",p->name); printf("\n 请输入电话号码:"); scanf("%s",p->phone); printf("\n 请输入学号:"); scanf("%s",p->number); printf("\n 请输入 QQ:"); scanf("%s",p->qq); printf("\n 请输入住址:"); scanf("%s",p->addr); fwrite(p,LEN,1,fp); fclose(fp); head = 0; num = 1; while(num!=0) { n = n+1; if(n==1) head = p; else q->next = p; q = p; p = (struct message *) malloc(LEN); //分配存储区 while(choice[0]!='1' && choice[0]!='0') //判断是否继续 { printf("\n1 继续输入\n 0 返回\n"); printf("请选择操作:"); scanf("%s",choice); } switch(choice[0]) { case '1': { fp=fopen("通讯录1.txt","rb"); system("cls"); printf("\n 请输入姓名:"); scanf("%s",p->name); printf("\n 请输入电话号码:"); scanf("%s",p->phone); printf("\n 请输入学号:"); scanf("%s",p->number); printf("\n 请输入QQ:"); scanf("%s",p->qq); printf("\n 请输入住址:"); scanf("%s",p->addr); fwrite(p,LEN,1,fp); fclose(fp); choice[0] = '2'; } continue; case '0': num = 0; system("cls"); } } q->next = 0; } void add() //添加通讯录 { int num; char choice[5]={'2'}; FILE *fp; struct message *head; struct message *p,*q; n = 0; p = q = (struct message *) malloc(LEN); //分配空间 fp=fopen("通讯录1.txt","ab"); system("cls"); printf("\n 请输入姓名:"); //输入内容 scanf("%s",p->name); printf("\n 请输入电话号码:"); scanf("%s",p->phone); printf("\n 请输入学号:"); scanf("%s",p->number)...