ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:129.20KB ,
资源ID:8697305      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8697305.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(课程设计电话簿管理系统 1.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

课程设计电话簿管理系统 1.docx

1、课程设计电话簿管理系统 1电话簿设计文档设计者:董昊李月婷2014/6/28一、问题分析与任务定义电话簿是用户用来存储联系人信息的一个软件,用户通过电话簿可以对联系人信息进行删除、添加、修改、查询等功能。实现一个电话簿管理系统需要设计以下几个模块。(1)、添加:将需要存储的联系人信息添加进去。(2)、删除:先根据联系人的名字进行搜索,同名的根据号码进行选择性删除。(3)、查询:根据指定的人名查找联系人信息。(4)、修改:对指定的人的姓名先进行搜索,找到后,再根据该联系人信息进行选择性修改。(5)、显示:显示文件中所有的联系人信息。(6)、排序:将显示出的联系人信息按姓名进行升序排序显示出(7)

2、、翻页:一页显示5个联系人的信息,根据给定的操作,选择上下翻页操作。(8)、退出系统二、数据结构选择与概要设计1本程序的基本算法设计(1)tell结构体定义 定义了结点对应的数据信息,有联系人的姓名name、号码number、QQ、邮箱mail、性别sex以及pre指向其前驱的指针域和next指向其后继的指针域。(2)各模块函数功能的实现2.数据结构设计#include stdlib.h#include stdio.h#include string.h/-结构体定义-typedef struct tell char name20; /姓名 char number20; /号码 char qq2

3、0; /QQ char mail20; /邮件 char sex;/男:M 女:W struct tell *next; struct tell *pre;tell,*tp;3.概要设计首先在浏览菜单中显示文件中原有的联系人信息,一页显示5个人,根据显示的操作进行相应的选择,有上下翻页选择,进入主菜单选择,以及联系人详细信息的选择。进入主菜单界面后根据菜单中的提示进行相应的操作选择。tell *listmenu(tell *L,int *n,int *m,int *Flag) /浏览菜单,程序刚运行时所显示的菜单界面void mainmenu(tell *L) /功能菜单,进行相应操作模块选择

4、主功能函数:tell *add(tell *L); /添加tell *search(tell *L); /查询tell *del(tell *L); /删除tell *modify(tell *L); /修改void show(tell *L); /显示void writetxt(tell *L); / 写文件int readtxt(tell *L); /读文件void SelectSort(tell *L); /排序tell *next_page(tell *p,int *n); /下翻页tell *pre_page(tell *p,int *n); /上翻页三、详细设计和编码1.简述设计思

5、路:(流程图方式显示) 2、详细设计思路(主要操作函数的实现)(1)、增加联系人信息函数tell *add(tell *L); 该函数实现的流程为新建一个新结点,给新结点赋值,然后从头结点开始找链表的尾结点,将新结点作为链表的尾结点,插入到链表的尾部,然后在实现该功能函数时,调用排序函数SelectSort(L)和写文件函数writetxt(L)。这样就实现了将信息写入到文件中和联系人信息会排序显示出。(2)删除联系人信息函数tell *del(tell *L);该函数的实质是链表的删除,从头结点开始查找要删除的结点,同时用n记录相同的人名的个数,找到后对相同姓名的联系人再根据号码进行选择性删

6、除。在实现该函数功能时,再调用writetxt(L)函数进行保存。(3)、修改联系人信息tell *modify(tell *L);该函数先查找到需要修改的节点,对其信息进行修改,然后选择要修改的选项,后调用writetxt(L)函数,将新修改的信息写入文件中(4)、查询联系人信息tell *search(tell *L)这个函数的实质都是从头结点开始依次寻找符合条件的信息,然后将符合条件的联系人输出。(5)、显示所有联系人信息void show(tell *L),将所有的联系人信息显示出来。(6)、上下翻页显示联系人信息tell *next_page(tell *p,int *n); /下翻

7、页,tell *pre_page(tell *p,int *n); /上翻页。界面一页显示5个人,根据提示选择上、下翻页。(7)、退出free(L);退出时调用writetxt(L);函数将变更的信息进行保存,释放链表。3、存储分析联系人的信息有姓名、号码、邮箱、性别等信息,建立联系人结构体,然后每次操作后通过调用writetxt()函数进行信息存储,存储到文件中。4、界面显示设计界面1:(联系人显示)界面2:(主功能函数选择)电话簿设计总结董昊 李月婷不足之处:该程序是用来给用户对电话簿进行管理的,虽然这个程序已经基本达到老师的要求,但还有一个功能队友和我没有完成,那就是用索引表将联系人的信

8、息进行存储,用索引表存储可以节约存储空间,这个程序我们只用了链表进行存储,联系人的所有信息都存储之中,空间占用比较大。收获:通过这次为期一周的C培训,我们弥补了自己知识上的一些漏洞,这次实训让我们对链表的操作有了更深层次的认识,以及文件的读写,没有培训之前,自己对文件的读写可以说是一窍不通,但幸运的是,队友对这一块的知识比较熟,所以在写程序过程中,很多问题都是队友教的。除此之外,运用链表实现各个函数功能,在这个过程中,我们遇到过很多问题,比如在实现上下翻页时,上翻的操作老是出错,后来慢慢调试成功了。通过这次培训使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知

9、识与实践相结合起来,从理论中得出结论,才能真正学以致用,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,往往自己就题目的想法很难用代码实现,所以难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。通过这次培训之后,一定把以前所学过的知识重新温故。我们深刻体会到C语言和数据结构这两门课程并不是轻而易举就可以学好的,学习这两门课程不仅需要细心严谨认真的态度,还需要有坚持不懈的毅力。细节决定成败这句话在程序设计中最恰当不过了,因为一个小小的错误代码就可以使你的整个的程序无法进行,有时候绞尽脑汁也没能找出错误所在。所以课程不仅理论性强,实际操作性更强,没有一个好的心态很难学好这门课程。我们学习的不仅是科学的方法,还包括用什么样的态度去对待这门课程,并且让自理论性和实践性在自身得到充分的发挥,用细心严谨的态度去认识事物。这次培训顺利完成了,我们感觉又把C语言和数据结构学习了一遍,在设计中遇到了很多编程问题,最后在学长及老师的指引下得以顺利完成。同时,在学长和老师的身上我学得到很多实用的知识,其中有一个编程习惯的问题,他让我明白了有一个好的编程习惯是多么重要,在此我表示衷心的感谢!最后也很感谢老师对我们的严格要求,因为老师的严格,所以我们才不敢怠慢,才学到很多实用的东西

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1