主菜单处理程//结点类型定义//结点数据域//定义一个指向结点的指针变量/*本通讯录系统包括通讯者结点信息的插入、查询、删除、更新及通讯录信息的输出等功能。*/*/*/#include#include#include//定义通讯者结点类型typedefstruct{charnum[5];//编号charname[9];//姓名charsex[3];//性别charphone[13];//电话charaddr[15];//地址}DataType;//定义线性表的链式存储结构 typedefstructnode{DataTypedata;structnode*next;}ListNode,*LinkList;ListNode*p;LinkListhead;//函数说明intmenu_select();LinkListCreateList(void);voidInsertNode(LinkListhead,ListNode*p);ListNode*ListFind(LinkListhead);voidDelNode(LinkListhead);voidChangeNode(LinkListhead);voidPrintList(LinkListhead);"*********************************\n");通讯录链表的建立*\n");\n");"*********************************\n");通讯者信息的查询*\n");\n");printf("编号姓名性电地//主函数 voidmain()for(;;)switch(menu_select())case1:printf(printf("*printf("*********************************head=CreateList();break;case2:printf("********************************\n");printf("*通讯者信息的插入*\n");printf("********************************\n");printf("请输入编号、姓名、性别、电话和地址\n");printf("********************************\n");p=(ListNode*)malloc(sizeof(ListNode));scanf("%s%s%s%s%s",p->data.num,p->data.name,p->data.sex,p->data.phone,p->data.addr);InsertNode(head,p);break;case3:printf(printf("*printf("*********************************p=ListFind(head);if(p!=NULL)\\\n");printf("printf("%s%s%s%s%s\n",p->data.num,p->data.name,p->data.sex,p->data.phone,p->data.addr);printf("}elseprintf("没查到要查询的通讯者!\n");"*********************************\n");通讯者信息的删除*\n");\n");"*********************************\n");通讯录链表的输出*\n");\n");printf("********************************\n");printf("*通讯者信息的修改*\n");printf("********************************\n");ChangeNode(head);break;case5:printf(printf("*printf("*********************************DelNode(head);break;case6:printf(printf("*printf("*********************************PrintLis...