#include "stdio.h"#include "stdlib.h"#include "string.h"typedef struct Content//........................................结构体{char name[20];long number;char dress[100];struct Content *next;}ML;//ML* head=NULL;ML* Found(){ML *p;p=(ML *)malloc(sizeof(ML));//指针申请空间if(p==NULL){printf("创建失败!!!");exit(0);}p->name;p->number=0;p->dress;p->next=NULL;return p;}void Imput(ML *head)//......................................联系人增添{ML*p=Found();p->next=head->next;head->next=p;printf("\n请输入联系人姓名:");getchar();gets(p->name);printf("\n请输入电话号码::");scanf("%ld",&p->number);printf("\n请输入联系人地址:");getchar();gets(p->dress);}void Revise(ML *head)//.........................................修改{char s[10];int ch;long nu;ML *p=Found();printf("输入需要修改的联系人姓名:");getchar();gets(s);p=head->next;while(strcmp(p->name ,s)){p=p->next;}printf("\n-------------------------------------\n");printf("|**********请输入操作编号***********|\n");printf("| |\n");printf("| 1、联系人姓名|\n");printf("| 2、联系人电话|\n");printf("| 3、联系人地址|\n");printf("| 0、退出|\n");printf("| |\n");printf("|-----------------------------------|\n");printf("请选择需要修改的内容:");scanf("%d",&ch);switch(ch){case 1:{printf("\n请输入名字:");getchar();gets(p->name);printf("修改成功!\n");break;}case 2:{printf("\n请输入电话:");scanf("%ld",&nu);p->number=nu;printf("修改成功!\n");break;}case 3:{printf("\n请输入地址:");getchar();gets(p->dress);printf("修改成功!\n");break;}default:break;}}void Delete(ML *head)//........................................删除{char s[10];ML *p,*d;p=Found();d=Found();p=head->next;head->next=p;printf("输入要删除的联系人姓名:\n");getchar();gets(s);d=head;do{if(!strcmp(p->name ,s)){d->next=p->next;free(p);printf("删除成功!\n");return;}d=p;p=p->next;}while(p!=NULL);printf("该联系人不存在!!!\n");}void Res(ML *head)//.............................................查找{char s[10];ML *p=Found();p=head->next;printf("输入要查找的联系人姓名\n");getchar();gets(s);for(;p!=NULL;p=p->next){if(!strcmp(p->name ,s)){printf("\n名字:%s",p->name);printf("\n电话:%ld",p->number);printf("\n地址:%s\n",p->dress);return;}}printf("该联系人不存在!!!\n");}void Browse(ML *head)//........................................浏览{ML *p=Found();printf("\n**********************************");if(head->next!=NULL){printf("\n..................................\n");printf("名字\t电话\t地址\t\n");for(p=head->next;p!=NULL;p=p->next){printf("%s\t%ld\t%s\t\n",p->name,p->number,p->dress);}}elseprintf("\n通讯录为空!!!\n");printf("\n**********************************\n");}int Menu(ML *head)//....................................................菜单{int ch;printf("-------------------------------------\n");printf("|**********请输入操作编号***********|\n");printf("| |\n");printf("| 1、添加联系人|\n");printf("| 2、修改联系人|\n");printf("| 3、删除联系人|\n");printf("| 4、查找联系人|\n");printf("| 5、浏览联系人|\n");printf("| 0、退出|\n");printf("| |\n");printf("|-----------------------------------|\n");printf("请选择:");scanf("%d",&ch);switch(ch){case 1:Imput(head);break;case 2:Revise(head);break;case 3:Delete(head);break;case 4:Res(head);break;case 5:Browse(head);break;default:break;}return ch;}void main()//........................................主函数{ML *head=Found();printf("-------------------------------------\n");printf("|* * * * * * |\n");printf("| * * * * |\n");printf("| * * * * |\n");printf("| * * * * * * |\n");printf("| * * * 通讯录. * * * |\n");printf("| |\n");printf("| * * * * * * |\n");printf("| * * * |\n");printf("| * * * ---XXX * * |\n");printf("|-----------------------------------|\n");while(Menu(head));}。