第一次通讯录管理Word文件下载.docx
- 文档编号:21517926
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:10
- 大小:220.64KB
第一次通讯录管理Word文件下载.docx
《第一次通讯录管理Word文件下载.docx》由会员分享,可在线阅读,更多相关《第一次通讯录管理Word文件下载.docx(10页珍藏版)》请在冰豆网上搜索。
4.2为了实现通讯录管理的集中操作功能,设计一个含有多个菜单项的主控菜单程序,再为这些菜单配上相应的功能。
4
4.3主界面设计6
4.4菜单内容6
运行与测试7
5.1程序编译运行后输入如下:
建表7
5.2通讯链表的插入如下:
7
5.3通讯者的查询如下:
8
5.4通讯者结点的删除:
5.5通讯录链表的输出如下:
9
5.6退出系统:
总结与心得9
7.1.调试分析9
7.2调试中遇到的问题:
10
参考文献11
附加代码11
概述
1.用〈〈数据结构〉〉中的双向链表作数据结构,结合C语言基本知识。
编写一个通讯录管理系统。
了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;
初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;
2.本课程设计可加深对课堂理论学习的理解,增强动手能力,以培养学生合作的能力,通讯录系统是在学校常见的计算机信息管理系统。
它的主要任务是对学生信息进行管理,如学生信息的输入、查询、修改、增加、删除,迅速准确地完成各种学生信息的统计和查询。
系统分析
2.1要求
2.2各功能模块分析
(1)主函数:
可让用户选择用系统的哪个功能,从而去连接到相应的子函数;
(2)建立数据:
让用户输入通讯录里的内容,并将内容保存好;
(3)插入数据:
显示通讯录里已保存的数据;
(4)查找数据:
通过用户输入需要找的名字来找到相关资料;
(5)删除数据:
让用户删除想要删除的资料;
(6)输出数据:
使通讯录里的数据输出来;
概要设计
3.1功能流程图(调用关系图)
详细设计
4.1设计内容
现假设链表结点仅含有一个数据域和一个指针域,数据域是为了描述通讯者的相关信息,定义通讯者的结点类型:
Typedefstruct{
Charnum[5];
Charname[9];
Charsex[3];
Charphone[13];
Charaddr[31];
}DataType;
因此,线性表的链式存储结构定义如下:
Typedefstructnode{
DataTypedata;
Structnode*next;
}ListNode;
TypedefListNode*LinkList;
ListNode*p;
LinkListhead;
#include<
stdio.h>
string.h>
voidmain()
{for(;
;
){
switch(menu_select()){
case1:
printf("
通讯录链表的建立\n"
);
break;
case2:
通讯者结点的插入\n"
Break;
case3:
通讯者结点的查询\n"
case4:
通讯者结点的删除\n"
case5:
通讯录链表的输出\n"
break;
case0:
再见\n"
return;
}
}
2.设计一个函数menu_select()来输出提示信息和处理输入。
3.设计五个功能函数。
*建立通讯录链表的函数LinkListCreateList(void)
*通讯者信息的插入函数voidInsertNode(LinkList&
head,LinkNode*p)
*通讯者信息查找的函数LinkNode*ListFind(LinkListhead)
*通讯者记录的删除函数voidDelNode(LinkListhead)
*通讯链表的输出函数
4.3主界面设计
通过switch语句调用各种函数,实现各种操作。
然后把switch嵌套到无限的for循环(for(;
))中,使完成每一步操作都回到到选择操作的主界面。
4.4菜单内容
程序运行后,给出6个菜单的输入内容和输入提示:
1通讯录链表的建立
2通讯者结点的插入
3通讯者结点的查询
4通讯者结点删除
5通讯录链表的输出
0退出管理系统
选择0--5:
运行与测试
建表
总结与心得
7.1.调试分析
经过反复测试,最终提供了一个较为友好的界面和操作模式,而且容错能力较好,稳定性很强。
下面做一些简单的说明:
(1)2级菜单只是作为一种尝试,并非必须!
(2)在界面排版上,我学习了互联网上部分程序的界面编排,其中以格式控制方式显示提高了界面显示的稳定性,较为理想。
(3)在文件读取和保存方面,该程序做到了实时保存保存和读取,操作非常简便。
(4)在查找方面,我将其设计为一次多记录的显示方式,也更合乎操作习惯,界面较为友好,对于无符合条件的结果,只是结果集为空,界面保持不变。
同时,它是实时读取的,可以将刚刚输入而未保存的记录也读取到!
另外,一次查询结束后返回的是查询菜单,可以直接进行下一次的查询,也较为合理。
(5)删除功能我做了较多的工作,但是还是没有成功。
对于输入的姓名,查找出结果后提示是否删除。
若有重名,则会二次显示,提示是否删除,一直到所有记录查询结束(可以在重名中选中需要的进行删除,并不需要删除每一个纪录)。
结束之后可以直接再次删除其他纪录,因为它提供循环删除操作功能。
(1)对于continue,很多时候要慎重,它似乎容易导致与go类似的错误!
我曾遇到了这么个问题:
调用了search函数之后再调用enter函数输入新的记录,输入结束之后会直接转入search函数在continue之后的部分,执行结果使得界面混乱!
后来将continue后面的部分移出循环体,这个问题得到了解决!
但还是不甚明了其中内含!
(2)对于文本的排版还有些问题。
您可以看到,通讯录文件的内容相对较乱,没有以一行一记录的形式保存。
多次尝试后无果,希望老师能给以解答!
参考文献
[1]严蔚敏,吴伟民编著.数据结构(C语言版)——北京:
清华大学出版社,2007.
[2]谭浩强编著C程序设计(第三版)——北京:
清华大学出版社,2008
[3]刘振安,孙忱,刘燕君编著C程序设计课程设计——北京:
机械工业出版社,2007
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第一次 通讯录 管理