数据结构以文件设计通讯表

数据结构以文件设计通讯表

ID:35342798

大小:61.68 KB

页数:12页

时间:2019-03-23

数据结构以文件设计通讯表_第1页
数据结构以文件设计通讯表_第2页
数据结构以文件设计通讯表_第3页
数据结构以文件设计通讯表_第4页
数据结构以文件设计通讯表_第5页
资源描述:

《数据结构以文件设计通讯表》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、•设计要求:⑴定义通讯录链表结点结构类型,以txlList和*TxlLink命名,数据域:好友姓名Name、手机号MTel、固定电话Tek邮箱地址Email>籍贯BomAddr、博客名BroadN,指针域:*next;⑵实现创建通讯录链表函数voidBuild(TxlLink&T),输入好友姓名、手机号、固定电话、邮箱地址、籍贯、博客名,建议用文件操作来输入数据;⑶实现函数voidUpdate(TxlLinkT,char*Name,char*MTel),将姓名为Name的好友的手机号改为MTel;⑷实现输出通讯录voidOutPut(TxlLinkT),输岀所有好友的姓名、手机号、

2、固定电话、邮箱地址、籍贯、博客名;(5)实现函数voidInsert(TxlLinkT,char*Name,char*MTel),插入姓名为Name、手机号为MTel的好友信息,将链表中姓名WName的结点放到该结点的前面,将姓名〉Name的结点放到该结点后面;(6)实现函数voidSort(TxlLinkT),将该通讯录按照好友姓名进行非递减排序;(7)实现函数voidMerge(TxlLink&T1,TxlLink&T2),将两个按姓名非递减排序的通讯录合并为一个,姓名相同且手机号相同的好友记录在结果中只保留一个;⑻实现函数intCount(TxlLinkT);统计籍贯是“广州

3、”的好友人数;(9)实现函数voidMoveK(TxlLinkT,intk),将通讯录中倒数第k个结点之后的所有结点移到头结点后面(保持结点间的先后顺序),注意:严禁采用先计算链表长度n再减k(即n・k)的方法;(10)实现函数voidReverseN(TxlLinkT),将通讯录的正川间位置结点之后的全部结点倒置,注意:严禁采用先计算链表长度n再除以2(即n/2)的方法;(11)主控函数main()调用以上函数,分别输出(2)、(3)、(5)、(6)、(7)、(8)、(9)(10)处理后的链表内容、输出籍贯是“广州”的好友人数。#include#include<

4、stdlib.h>#include#defineNewsp(TxlList*)malloc(sizeof(structTxlList))typedefstructTxlList{charName[16];〃姓名charMTel[llJ;〃手机号charTel[9];〃固定电话charEMailfl6];〃邮箱地址charBomAddr[20];//籍贯(值域:”北京“、”上海“、”大连”等等,只写城市名称)charBroadN[50];〃博客名structTxlList*next;//指针域}TxlList,*TxlLink;voidLbuildl(TxlLin

5、kT){〃创建文件FILE*fp;TxlLinkq;q=Newsp;q=T;intNUM;charfilename[20];printf(H请输入要创建的通讯表名:”);gets(filename);if((fp=fopen(filename,nwbn))==NULL){/*以写方式在当前目录打开(新建)文件*/printf("can'topenfile");exit(O);//如果文件无法打开,关闭已经打开的其它文件,结束程序。}printfC*请输入要储存的人数:“);scanf(”%d“,NUM);getchar();for(inta=0;a

6、xlLinkp;p=Newsp;printf(u请输入第%4个人的数据,按Enlei•键结束擞据若为空请输“无””,a+1);printf(M姓名:”);gets(p->Name);printf(”手机号:”);gets(p->MTel);printfC*@定电话:“);gets(p->Tel);printf(H邮箱地址:“);gets(p->EMail);printf(”籍贯gets(p->BomAddr);printf(”博客名:“);gets(p->BroadN);q->next=p;q=q->next;if(fprintf(fp,"%s%s%s%s%s%s,',

7、p->Name,p->MTel,p->Tel,p->EMail,p->BomAddr,p->BroadN)==l)〃向文件中一次写一个结构体量值{printf("filewriteerror");break;fclose(fp);voidLbuild2(TxlLink&T){〃读取文件FILE*fp;TxlLinkq;q=Newsp;q=T;charfilename[20J;printf(H请输入要读取的通讯表名:”);gets(filename);if(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。