通讯录管理系统的C语言设计学号:姓名:小满班级:103511指导教师:完成日期:2012年5月《通讯录管理系统的C语言设计》I目录[摘要].................................................................................................................................................................21.引言................................................................................................................................................................22.系统设计.......................................................................................................................................................22.1、设计目的.........................................................................................................................................22.2模块设计............................................................................................................................................32.3详细设计............................................................................................................................................33.程序代码设计...............................................................................................................................................43.1模块设计............................................................................................................................................43.1.1菜单模块................................................................................................................................43.1.2.新增模块...............................................................................................................................43.1.3查找模块................................................................................................................................43.1.4修改模块................................................................................................................................53.1.5删除模块................................................................................................................................53.1.6.导出模块...............................................................................................................................53.1.7.导入模块及查找返回模块...................................................................................................53.2主要功能实现——代码....................................................................................................................53.2.1主界面的实现........................................................................................................................53.2.2模块函数的实现....................................................................................................................63.2.3详细代码..............................................................................................................................104.总结..............................................................................................................................................................16参考文献:......................................................................................................................................................17《通讯录管理系统的C语言设计》第1页[摘要]《C语言数据结构课程设计》是我国高校计算机相关专业在近几年来所面临的一个新课题。笔考提出用数据结构实验来深化课程设计的观点,并对此进行一系列的论述。强调首次设计的重要性,就如何进行选题,调动学生产生浓厚的兴趣,发挥团队精神与运用综合知识的能力等方面采取具体的措施,以其达到课程设计的目标,为今后从事项目开发积累经验。本次设计,设计一个“通讯录管理系统”,使其具有数据插入、修改、删除、显示和查询等功能。[关键词]:C语言;数据结构;通讯录;经验;兴趣1.引言数据结构是一门理论性强、思维抽象、难度较大的课程,是基础课和专业课之间的桥梁。该课程的先行课程是计算机基础、程序设计语言、离散数学等,后续课程有操作系统、编译原理、数据库原理、软件工程等。通过本门课程的学习,我们应该能透彻地理解各种数据对象的特点,学会数据的组织方法和实现方法,并进一步培养良好的程序设计能力和解决实际问题的能力,而且该课程的研究方法对我们学生在校和离校后的学习和工作,也有着重要的意义。数据结构是计算机科学与技术专业的一门核心专业基础课程,在该专业的课程体系中起着承上启下的作用,学好数据结构对于提高理论认知水平和实践能力有着极为重要的作用1。学习数据结构的最终目的是为了获得求解问题的能力。对于现实世界中的问题,应该能从中抽象出一个适当的数学模型,该数学模型在计算机内部用相应的数据结构来表示,然后设计一个解此数学模型的算法,再进行编程调试,最后获得问题的解答。基于此原因,暑期放假前我们开设了数据结构课程设计。针对数据结构课程的特点,着眼于培养我们的实践能力。实习课程是为了加强编程能力的培养,鼓励学生使用新兴的编程语言。相信通过数据结构课程实践,无论是理论知识,还是实践动手能力,同学们都会有不同程度上的提高。2.系统设计2.1、设计目的设计“通讯录管理系统”使其具有数据插入、修改、删除、显示和查询等功能。使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法。使学生掌握软件设计的基本内容和设计方法,并培养学生进行规范化软件设计的能力。使学生掌握使用各种计算机资料和有关参考资1王敬华,陈静.C语言程序设计.北京:清华大学出版社。《通讯录管理系统的C语言设计》第2页料,提高学生进行程序设计的基本能力。其功能包括以下各项:建立学生信息,每个通讯者的信息包括:姓名、电话号码、QQ、类别(小学,初中,高中,大学);新增通讯录信息;根据姓名,电话号码,QQ等查找该通讯者的信息并输出;输入通讯者的姓名,进行查找并修改信息,若不存在该通讯者,则提示说明;根据姓名删除指定信息;显示全部的通讯者信息;能够将输入信息导出文件,同时能把文件导入到内存中;退出整个系统操作。2.2模块设计根据要求,电话簿数据以文本文件存放在文件中,故需要提供文件的输入、输出等操作;还需要保存记录以进行修改,删除,查找等操作;另外还应提供键盘式选择菜单实现功能选择。主函数main():根据选单的选项调用各函数,并完成相应的功能。菜单函数menu():显示提示选单。新增函数add():在通讯录结构体总追加入新的通讯录信息,并返回选单。查找函数find():查询某人的信息,如果找到了,则显示该人的信息,如果未找到,则提示通讯录中没有此人的信息,并返回选单。修改函数alter():修改某人的信息,如果未找到要修改的人,则提示通讯录中没有此人的信息,并返回选单。删除函数Delete():删除某人的信息,如果未找到要删除的人,则提示通讯录中没有此人的信息,并返回选单。显示函数list():显示通讯录中的所有记录。导入函数input():能从指定的文件中读入通讯录的信息.导出函数output的:能将通讯录的信息写入指定的文件中。退出函数quit():退出选单。名字查找函数Find():作为查找,输入修改,删除时调用的名字查找函数,判断是否存在要查找的记录,若存在则返回‘0’,不存在则返回其他值。电话号码查找函数Find_num(),QQ查找函数Find_qq(),类别查找函数Find_type()与名字查找函数功能一致。系统功能模块图如下:通讯录管理系统建立通讯录修改记录删除记录添加记录查找记录退出系统系统功能模块图2.3详细设计函数设计要求简洁,只提供部分提示语和函数的调用。函数简单流程如下图:《通讯录管理系统的C语言设计》第3页显示一系列功能选项输入n,判断n是否是0~5?根据n的值调用各功能模块函数结束开始ny3.程序代码设计3.1模块设计