您好,欢迎来到五一七教育网。
搜索
您的当前位置:首页DASDA

DASDA

来源:五一七教育网
#include #include #include typedef struct{ ist;

linklist head; listnode *p;

int menu_select( ); linklist createlist(void);

void insertnode(linklist head,listnode *p); listnode *listfind(linklist head); void delnode(linklist head); void printlist(linklist head); void main() {

for( ; ; ){

switch(menu_select() ) {

case 1:

printf(\" ***********************************************\\n\");

printf(\" ************** 通讯录链表的建立 ***************\\n\");

printf(\" ***********************************************\\n\"); head=createlist(); break; case 2:

printf(\" ***********************************************\\n\"); printf(\" ************** 通讯录信息添加 *****************\\n\");

printf(\" ***********************************************\\n\"); printf(\" ** 编号(4) 姓名(8) 单位(20) 电话(11) 地址(30)**\\n\"); printf(\" ***********************************************\\n\"); p=(listnode *)malloc(sizeof(listnode));

scanf(\"%s%s%s%s%s\e,p->data.addr);

insertnode(head,p); break; case 3:

printf(\" ******************************\\n\"); printf(\" ******* 通讯录信息查询 *******\\n\");

printf(\" ******************************\\n\"); p=listfind(head); if(p!=NULL){

printf(\" ** 编号 姓名 单位 电话 地址**\\n\"); printf(\" ------------------------------\\n\");

printf(\"%s,%s,%s,%s,%s\\n\phone,p->data.addr);

printf(\" ------------------------------\\n\"); } else

printf(\"没有你要找的人 ! \\n\"); break; case 4:

printf(\" ***********************************\\n\"); printf(\" **********通讯信息的删除***********\\n\"); printf(\" ***********************************\\n\"); delnode(head); break; case 5:

printf(\" ***********************************\\n\");

printf(\" **********通讯录链表的输出*********\\n\"); printf(\" ***********************************\\n\"); printlist(head); break; case 0:

printf(\"\ 谢谢您的使用! \\n\"); return; } } }

int menu_select() {

int sn;

printf(\" \\n\"); printf(\" \\n\"); printf(\" \\n\");

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( \" 请选择操作0-5 \\n\\n\"); for(; ;) {

scanf(\"%d\ if(sn<0||sn>5)

printf(\"\输入错误\\n\"); else break; }

return sn; }

linklist createlist(void) {

linklist head=(listnode *)malloc(sizeof(listnode)); listnode *p,*rear; int flag=1; rear=head; while(flag==1) {

p=(listnode *)malloc(sizeof(listnode));

printf(\" 编号(4) 姓名(8) 单位(20) 电话(11) 地址(31) \\n\"); printf(\" --------------------------------------------\\n\");

scanf(\"%s%s%s%s%s\e,p->data.addr);

rear->next=p; rear=p;

printf(\" 继续建表吗? (1.是/0.不):\"); scanf(\"%d\ }

if(flag==1)

printf(\"创建成功!\\n\"); rear->next=NULL; return head; }

void insertnode(linklist head,listnode *p) {

listnode *p1,*p2;

p1=head; p2=p1->next;

while(p2!=NULL && strcmp(p2->data.num,p->data.num)<0) {

p1=p2;

p2=p2->next; }

p1->next=p; p->next=p2;

printf(\"插入成功!\\n\"); }

listnode * listfind(linklist head) {

listnode * p; char num[6]; char name[10]; int xz;

printf(\"--------------------\\n\"); printf(\" 1.编号查询\\n\"); printf(\" 2.姓名查询\\n\"); printf(\"--------------------\\n\"); printf(\"请选择: \\n\"); p=head->next; scanf(\"%d\ if (xz==1){

printf(\" 请输入要查找的编号: \"); scanf(\"%s\

while(p && strcmp(p->data.num,num)<0) p=p->next;

if (p==NULL || strcmp(p->data.num,num)>0) p=NULL; }

else

if(xz=2){

printf(\"请输入要查询者的姓名: \"); scanf(\"%s\

while(p && strcmp(p->data.name,name)!=0) p=p->next; } return p; }

void delnode(linklist head)

{

int jx;

listnode *p,*q; p=listfind(head); if(p==NULL){

printf(\"没有要删除的通讯者!:\\n\"); return; }

printf (\"真的要删除该结点吗?(1.是/0.不):\"); scanf(\"%d\ if (jx==1){ q=head;

while(q!=NULL && q->next!=p) q=q->next;

q->next=p->next; free(p);

printf(\"通讯者已被删除!\\n\"); } }

void printlist(linklist head) {

listnode * p;

p=head->next;

printf(\" 编号 姓名 单位 电话 地址\\n\"); printf(\" -----------------------------\\n\"); while(p!=NULL) {

printf(\" %s, %s, %s, %s, %s\\n\ata.unit,p->data.phone,p->data.addr); printf(\" ------------------------------\\n\"); p=p->next; } }

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务