资源描述:
《数据结构课程设计 通讯录管理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验课程名称数据结构课程设计专业班级计科(2)班学生姓名黄家元学号10410902031指导教师冯韵2012至2013学年第1学期第1至2周目录1概述31.1现状分析31.2存在问题31.3实现的意义32系统分析32.1用户需求分析32.2管理员需求分析33概要设计44详细设计44.1通讯录建立模块设计44.2通讯录插入模块设计54.3通讯录查询模块设计54.4通讯录删除模块设计64.5通讯录输出模块设计65运行与测试85.1主界面输出显示85.2通讯录建立模块的输出85.3通讯录插入模块的输出85.4通讯录查询模块的输出95.4.1按编号查询95.4.2按姓名
2、查询95.5通讯录删除模块的输出95.5.1按编号删除105.5.2按姓名删除105.6显示通讯录中所有成员106总结与心得117参考文献:118、附加程序代码111概述1.1现状分析此系统利用线性表中的链表来建立一个通讯录,通讯录包括通讯者的编号、姓名、性别、电话及地址等信息,管理员对通讯录中的每一个通讯者的信息可以作插入、查询、删除、更新、排序操作。同样每一个通讯者对自己的信息进行插入、查询、删除、修改等操作。1.2存在问题利用线性表中的链表怎样建立一个通讯录?在通讯录中管理员和通讯者对此各有的相关操作?1.3实现的意义通过这个实验更加较熟练掌握C语言的基本
3、内容及程序设计的基本方法。通过设计一个完整程序,当中运用了数据结构的算法知识,并运用C语言上机调试的基本方法,更加掌握数据结构中链表的相关知识。2系统分析2.1用户需求分析每一个用户能在通讯录对自己的信息进行建立、插入、查找、删除等相关操作。实现方便用户随时登陆进行相关操作。2.2管理员需求分析管理员能很方便地对通讯录的所有用户进行管理,能在通讯录中进行建立、插入、查找、删除等相关操作。3概要设计主菜单建立链表插入查询删除显示退出按编号查询按姓名查询按编号删除按姓名删除4详细设计4.1通讯录建立模块设计通讯录的建立通过链表来实现,先分配新的结点,向通讯录中建立新
4、的成员的详细信息,然后按头插入法继续建立新的成员的详细信息。程序代码如下:LinkListCreateList(void){LinkListhead=(ListNode*)malloc(sizeof(ListNode));ListNode*p,*rear;intflag=0;rear=head;while(flag==0){p=(ListNode*)malloc(sizeof(ListNode));printf("编号(4)姓名(8)性别(2)电话(11)地址(31)");printf("*****************************");s
5、canf("%s%s%s%s%s",p->data.num,p->data.name,p->data.sex,p->data.phone,p->data.addr);rear->next=p;rear=p;printf("结束建表吗?(1/0):");scanf("%d",&flag);}rear->next=NULL;returnhead;}4.2通讯录插入模块设计在链表中采用头插入法,向通信录中添加新的成员的详细信息程序代码如下:voidInsertNode(LinkListhead,ListNode*p){ListNode*p1,*p2;p1=head;p
6、2=p1->next;while(p2!=NULL&&strcmp(p2->data.num,p->data.num)<0){p1=p2;p2=p2->next;}p1->next=p;p->next=p2;}4.3通讯录查询模块设计通过顺序查找的方法进行查找,采用了按编号、姓名查找两种方法。程序代码如下:ListNode*ListFind(LinkListhead){//有序通讯录链表上的查找ListNode*p;charnum[5];charname[9];intxz;printf("===============");printf("1.按编号查询
7、");printf("2.按姓名查询");printf("=================");printf("请选择:");p=head->next;//假定通讯录表带头结点scanf("%d",&xz);if(xz==1){printf("请输入要查找者的编号:");scanf("%s",num);while(p&&strcmp(p->data.num,num)<0)p=p->next;if(strcmp(p->data.num,num)==0)printf("%s,%s,%s,%s,%s",p->data.num,p->data.name,p
8、->data.sex,p