data.number); printf(" 输出新姓名: \n"); scanf("%s",p->data.name); printf(" 输出新性别: \n"); scanf("%s",p->data.sex); printf(" 输出新电话: \n"); scanf("%s",p->data.telephone); printf(" 输出新地址:" /> data.number); printf(" 输出新姓名: \n"); scanf("%s",p->data.name); printf(" 输出新性别: \n"); scanf("%s",p->data.sex); printf(" 输出新电话: \n"); scanf("%s",p->data.telephone); printf(" 输出新地址:" />

全文预览

(参考)数据结构-通讯录管理系统的设计与实现

上传者:upcfxx |  格式:doc  |  页数:28 |  大小:0KB

文档介绍
新编号: "); scanf("%s",p->data.number); printf(" 输出新姓名: \n"); scanf("%s",p->data.name); printf(" 输出新性别: \n"); scanf("%s",p->data.sex); printf(" 输出新电话: \n"); scanf("%s",p->data.telephone); printf(" 输出新地址: \n"); scanf("%s",p->data.address); printf(" 修改成功!\n"); } if(ch=='n'||ch=='N') printf(" 无需修改\n"); }} 4.7 通讯录输出模块设计输出的基本思想是:只要将表头的指针赋给一个指针变量 p ,然后用 p向后扫描,直到表尾, p 为空值。具体算法如下: /**********************************/ /* 通讯录链表的输出函数*/ /**********************************/ void PrintList(LinkList head) { ListNode *p; p=head->next; // 因为链表带头结点,使 p 指向链表开始结点 printf(" 编号姓名性别联系电话地址\n"); printf("----------------------------------\n"); while(p!=NULL) { printf("%s,%s,%s,%s,%s\n",p->data.num,p->data.name,p->data.sex,p->data.phone,p->data.addr); printf("----------------------------------\n"); p=p->next;// 后移一个结点}}

收藏

分享

举报
下载此文档