1、通讯录青岛工学院C语言课程设计报告书题 目通讯录管理系统学生姓名唐珺 周家齐 郑鑫指导教师刘伟学 院信息工程学院专业班级2013级通信工程(1)班 组内分工姓名主要任务占系统比例周家齐程序编写 设计报告制作40%唐珺设计报告制作35%郑鑫设计报告制作35%目 录1 前言 22 需求分析 43 模块设计图 64各模块流程图清单 74.1添加:添加通讯录记录 74.2显示:显示通讯录记录 8 4.3删除:删除通讯录记录 84.4修改:修改通讯录记录 115 存储结构及函数说明 126 课程设计结果 166.1显示的主菜单界面 166.2添加界面 166.3显示界面 176.4 删除界面 176.5
2、查询界面 186.6修改界面 197 实践心得体会 221 前言 该章主要描述课程设计的目的,以及对题目本身的理解加强对c语言课程所学知识的理解,进一步巩固c语言编程方法。学会编制结构清晰、风格良好、数据结构适当的c语言程序,从而具备解决实际性综合问题的能力,加强综合能力。培养良好的编程方法。通过前四单元温故而知新、庖丁解牛、举一反三、熟能生巧等过程的练习之后能够解决实际问题。设计一个简易的通讯录管理系统。该题目要求熟练地掌握c语言的基本知识,:数据类型(整型、实型、字符型、指针型、数组、结构等);运算类型(算数运算、逻年辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、选择判断结构、循
3、环结构);大程序的功能分解方法(即函数的使用等)。进一步掌握c语言基本知识的应用,包括链表、结构体、指针、文件读写,以及函数的调用操作等。其中结构体、函数的调用、算法的设计是尤为重要的。该课题为通讯录管理系统,为通信专业将来的就业打下良好的基础,建立起了通信专业与C语言之间的联系,使我们更加了解C语言和自己的专业。培养学生在项目开发中团队合作精神、创新意识及能力。课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力。 本设计报告共分为七个章节,我尽力把每个章节写的详细一些。在编写的过程中
4、遇到了很多问题,由于能力有限,没有做到非常理想的效果,希望谅解。2 需求分析设计题目及要求: 建立通讯录信息,信息至少包含编号、姓名、年龄、电话、通讯地址、电子邮箱等; 能够提供添加、删除和修改通讯录信息的功能; 能够提供安不同方式查询的功能;如按姓名或年龄、电话等查询;能够按表格方式输出通讯录信息系统功能需求分析:主要包含一下多种功能:添加通讯录记录显示通讯录记录删除通讯录记录查询通讯录记录修改通讯录记录3 模块设计图 系统功能模块图:添加:可以添加通讯录记录,依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱后,会提示是否继续添加。显示:可以以表格形式输出所有通讯录里的记录删除:输入欲
5、删除的那个人的名字后,会自动删除他(她)的记录内容查询:可以选择用姓名、电话、地址三种方式查询修改:输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱即可完成修改4各模块NS图清单4.1:添加通讯录记录NS图4-14.2显示通讯录记录NS 4-2 4.3删除:删除通讯录记录 NS 4-3 4.4查询:查询通讯录记录NS 4-44.5修改:修改通讯录记录NS 4-55 存储结构及函数说明实现了通讯录的添加,显示,删除,查找,修改,保存,结束程序。各个函数的详细设计说明分别如下:1 主函数 main()选项来调用相应的函数2 菜单选择函数 void menu()这
6、是一个无参函数,主要实现“功能选择”的界面,在这个界面里有显示系统的六大功能,根据每个功能前面的序号进行选择,等执行完每一个函数功能的时候,按任意键回到主界面也要通过这个函数来实现。3 输入记录函数int Input(Person per,int n)这是一个有参函数,用来执行每个人信息的输入,当键入Y时,继续添加信息,键入N或n时,停止输入。4 显示记录函数void Display(Person per,int n)这是一个没有返回值的有参函数,负责对人们的记录输出。5 删除信息函数int Delete_a_record(Person per,int n)这是一个有参函数,通过其中的字符串处
7、理函数来确定想要删除的内容是否存在。若存在,则删除此人信息,并用字符串处理函数strcpy(s1,s2)将后一个人的信息存到已删除的人的所占空间。不存在则返回到系统中。6 查询信息函数void Query_a_record(Person per,int n)这是有一个没有返回值的有参函数,通过字符串处理函数strcmp(s1,s2)和i循环将输入的信息和系统已有的信息作比较进行查找,并显示所查到的记录。7 修改函数信息void Change(Person per,int n)这是一个没有返回值的有参函数,通过字符串处理函数strcmp(s1,s2)将输入的信息与系统原有的信息作比较,若查到则显
8、示修改信息界面。8 保存函数信息void WritetoText(Person per,int n) 将所有函数信息进行保存6 课程设计结果 6.1显示的主菜单界面 图6-1 6.2添加界面 图6-26.3显示界面 图6-36.4 删除界面 6.5查询界面图6-5-1以姓名方式查询图6-5-26.6修改界面图6-6-17 实践心得体会 当我在进行删除、查询、修改等功能时,以查询为例,输入名字按回车后,虽然会显示该人的所有记录,但是显示后,它马上自动消失了,还没来得及等我看内容。因此,向别人请教后,在一些地方加入了system(pause);这个语言,用来对某项操作完成后进行暂停。 现在这个程序
9、的界面个人感觉很清爽。但在最初,每次进行一项操作,运行窗口里的内容会一直保留着,感觉很杂乱,如下图(添加后,进行显示操作之后,我去网上寻求解决办法,知道可以使用system(cls);这一语句可以解决这个问题,最后,修改成功。当我选择通讯录这个题目时,一开始想运用大量链表及指针来完成,但是在慢慢琢磨之后,觉得这个不一定要用链表,于是改变了编程思路。另外一点要说的就是这个程序用了很多的循环,因此对于循环的控制要十分小心,有时while和do-while的区别也是十分重要的。还有一点体会就是,书上和老师教的内容是有限的,我们需要不断地靠自己去学习,向他人请教,了解和掌握更多的知识,这样我们才能编出更好的C程序。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1