利用c语言实现电话簿管理系统课程设计精选.doc

利用c语言实现电话簿管理系统课程设计精选.doc

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
利用c语言实现电话簿管理系统课程设计精选

课程设计(论文) 电话簿管理系统VER1.0 系 别 : 计算机科学与技术系 专业(班级): 作者(学号): 指导教师: 完成日期: 2011年6月15日 蚌埠学院教务处制 目 录 摘要 3 第一章 前言 4 第二章 电话簿管理系统介绍 5 2.1 流程图 5 2.2 程序编写概要 6 第三章 主要功能实现 7 3.1 删除功能设计 7 3.2 添加功能设计 7 第四章 源程序 9 第五章 系统测试 20 第六章 结语 25 致谢 26 参考文献 26 摘要 电话簿管理系统是利用单链表实现电话簿管理,进而掌握C语言中的结构体、链表,指针、函数(系统函数,自定义函数)等C语言知识。 本文通过利用模块化程序设计思想,使用单链表和结构体等编写出的可以实现存储、打印、删除等功能的电话簿管理系统。通过完成这个课程设计让我们熟悉并掌握在c语言中使用结构体、单链表,指针,函数,和模块化设计思想。 关键词 结构体,链表,指针,函数 第一章 前言 在前面我们学习了c语言的一些基础知识对c语言有了初步的认识和了解,为了让我们更加全面地了解c语言程序设计的步骤和方法,在老师的指导下 我们进行了一次综合实训。设计一个简单的电话簿管理系统,可以存储,删除等电话号码。为了方便使用DEV-C++来编写程序,可以添加汉字备注方便理解程序。根据前面所学的单链表、指针、函数、结构体等知识在使用模块化设计思想去编写。设计“通讯录管理系统”使其具有数据插入、修改、删除、显示和查询等功能。使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法。使学生掌握软件设计的基本内容和设计方法,并培养学生进行规范化软件设计的能力。使学生掌握使用各种计算机资料和有关参考资料,提高学生进行程序设计的基本能力。 其功能包括以下各项: 1)数据包括:人名、电话号码。 2)可对记录中的姓名和电话号码进行修改。 3)可增加或删除记录。 4)可显示所有保存的记录。 第二章 电话簿管理系统介绍 2.1 流程图 电话簿管理系统因具备以下功能有流程图表示,如下图2.10 图2.10 2.2程序编写概要 1 主函数 main() 主函数使用户进入电话簿管理系统主界面——用户选择界面,用户可以选择要使用的功能并选择相应的选项进入该功能。使用printf函数和switch case结构来编写主函数。 2 creat()函数 creat函数用来建立新的电话号码簿,用户可以通过它来向系统输入数据。为下面的操作提供数据。 3 delete函数 delete函数用来删除不需要的数据,可以用单链表来实现,并要记住用free函数来释放被删除链表的空间,避免浪费空间。 4 save函数 当需要保存已输入的数据时就需要用到save函数,该函数可以将数据存储到指定的地方为以后使用。 5 load函数 顾名思义load函数是将所存的数据从文件所在位置读取出来以便做打印等处理。 6 search函数 当存入很多文件时候,再用普通的方法打印输出所有数据再查找文件中的目标文件就会很麻烦,这时你需要从已存文件中快速找出你所想要的用户的电话号码就要选择此功能,他可以快速找出你所输入用户名的电话号码,简单方便。 7 append函数 Append函数用来像已有的文件中添加新的电话号码文件。 8 modify函数 在你无意中或心急的时候很有可能将数据输入错误,所以你还需要具有修改数据的功能,将错误的数据重新输入在进行保存工作,确保数据的正确性,modify函数具有该功能。 第三章 主要功能实现 3.1 删除功能设计 单链表中的元素是可以删除的,要想删除指定的元素逻辑上是把它从单链表中分离出来,并调用free函数释放其储存空间。 算法如下: 删除链表中的第i个结点,就是要让其前驱的指针绕过该结点,指向该结点的后续结点。假设指针P已经指向链表中的第i-1个结点,如图3.10所示。则删除a[i]结点最基本的操作可以用一条语句实现:p-next=p-next-next。 head p … 图3.10 这样操作会浪费掉所有删除的结点空间。如果被删除的结点不再使用了,则释放其存储空间,因此需要按如下方式实现: temp=p-next; p-next=temp-next; free(temp); 3.2 添加功能设计 链表的插入是指将一个结点插入到一个已有的链表中去。 算法如下: 首先产生新结点,并放入数据,然后搜索要插入的位置,

文档评论(0)

beoes + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档