logo资料库

个人通讯录管理系统C语言课程设计报告(内有详细设计过程与源码).doc

第1页 / 共36页
第2页 / 共36页
第3页 / 共36页
第4页 / 共36页
第5页 / 共36页
第6页 / 共36页
第7页 / 共36页
第8页 / 共36页
资料共36页,剩余部分请下载后查看
第一章 软件需求分析说明书
1.1设计软件的目的分析
1.2软件的界面要求
1.3详细的功能分析
1.3.1创建文件
1.3.2 添加联系人
1.3.3显示和查询联系人
1.3.4 删除联系人
1.3.5 修改联系人
1.3.6 保存退出与不保存退出
1.4设计要求分析
1.5软件的数据结构分析
1.5.1 软件的函数
1.5.2 文件的调用和保存
第二章 系统分析与设计
2.1 软件界面设计
2.2 软件的数据(结构)设计
2.2.1 软件的文件功能
2.2.2 文件内部的数据格式
2.3 软件的模块图
2.4 软件的流程图
2.4.1 添加联系人程序流程图
2.4.2 显示和查找联系人程序流程图
2.4.3 删除联系人流程图
2.4.4 修改联系人流程图
第三章 软件的实现
3.1 函数声明
3.2 zhucaidan()主菜单函数
3.3 main()主函数
3.4 readfile()读取文件函数
3.5 writefile()联系人写入文件函数
3.6 zengjia()增加联系人函数
3.7 shanchu()删除函数主界面
3.8 xianshi()显示和查询函数
3.9 xianshi()显示所有人函数
3.10 chazhao_xingming()姓名查询函数
3.11 chazhao_dianhua()按号码查询函数
3.12 shanchu_dange()删除单个联系人函数
3.13 shanchu_quanbu()删除所有联系人函数
3.14 shanchu_xingming()按姓名删除联系人函数
3.15 shanchu_dianhua()按电话号码删除函数
3.16 xiugai()修改函数主体界面
3.17 xiugai_xingming()按姓名修改
3.18 xiugai_dianhua()按号码修改联系人函数
第四章 软件测试
4.1 文件导入界面
4.2 软件的主界面
4.3 添加联系人模块
4.4 显示和查找联系人界面
4.4.1主界面
4.4.2无联系人的显示界面
4.4.3有联系人的显示界面
4.4.4按姓名查找
4.4.5 按电话号码查找
4.5 删除联系人模块
4.5.1删除联系人主界面
4.5.2没有对应联系人的删除界面
4.5.3按姓名删除
4.5.4按电话号码删除
4.6 修改联系人模块
4.6.1修改联系人主菜单
4.6.2 按姓名修改
4.6.3按电话修改
4.7 退出
4.7.1 保存退出
4.7.2 不保存退出
第五章总结与体会
致谢
参考文献
重庆 XX 学院 《C 语言程序设计》 课程设计报告 学 院:_软件学院_ 专业班级: 软件 2011-01 学生姓名: 学 号: 设计地点(单位)________ I515 ______________ __ 设计题目:__________个人通讯录管理系统 _____________ 完成日期: 2017 年 12 月 28 日 指导教师评语: ______________________ _________________ __________________________________________________________________________________ __________________________________________________________________________________ _____________________________________ __________ _ 成绩(五级记分制):______ __________ 指导教师(签字):________ ________
重庆科技学院《C 语言程序设计》课程设计报告 摘要 本次课程设计的题目为个人通讯录管理系统,要求将程序中所输入的联系人姓名、 电话和地址信息这三个数据以文本方式保存在磁盘中,并且能够对所储存的联系人信息 进行显示、查询、修改、删除等功能。 我编写的程序从整体上看可分为两个部分,一部分为文件的建立、读取和保存,另 一部分为通讯录功能的实现。在文件部分,我通过 readfile()函数和 writefile()函数从而实 现了对磁盘上数据的进行写和读,通过刚开始的界面提示可以知道文件是否建立,以免 丢失数据,我还为用户设计了保存退出和不保存退出两大功能供用户做选择。在模块功 能实现部分,通过 scanf 从键盘上输入的数字放到 switch() case 循环中来实现调用 zengjia()、shanchu()、xiugai()、chazhao()等十五个函数来实现“添加”、“查询和显示”、 “修改”、“删除”等不同功能。 关键字:文件、数组、循环、函数 1
重庆科技学院《C 语言程序设计》课程设计报告 重庆科技学院 课程设计任务书 设计题目:个人通讯录管理系统 学生姓名 课程名称 点 地 蒋洪山 C 语言程序设计课程设计 专业班级 电自专 2011 I515 起止时间 2012 年 12 月 17 日-12 月 28 日 设 计 内 容 及 要 求 设 计 参 数 进 度 要 求 参 考 资 料 其 它 说 明 建立一通讯录,输入姓名、电话号码、住址等信息,然后对通信簿进行显示、 查找、添加、修改及删除。 进一步掌握利用 C 语言进行程序设计的能力;进一步理解和运用结构化程序设 计的思想和方法;初步掌握开发一个小型实用系统的基本方法;学会调试一个较长 程序的基本方法;学会利用流程图表示算法。 根据题目要求,运用所学知识,完成设计和实现工作,并按照书写规范,撰写 课程设计报告。 (1)系统分析、设计正确。 (2)结果以图表方式显示。 (3)界面简洁、美观。 (4)报告格式规范。 周一:明确设计任务,学习相关基础知识 周二:熟悉各知识点,进行基础练习 周三:根据题目要求,进行设计和实现 周四:根据题目要求,进行设计和实现 周五:撰写报告,进行答辩 [1]何钦铭 颜晖.《C语言程序设计》.高等教育出版社.2008 年 [2]谭浩强 张基温.《C语言程序设计教程》.高等教育出版社.2006 年 1.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份 由负责教师留用。2.若填写内容较多可另纸附后。 3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。 教研室主任: 指导教师:雷亮 2012 年 12 月 10 日 2
重庆科技学院《C 语言程序设计》课程设计报告 目录 第一章 软件需求分析说明书 ...............................................1 1.1 设计软件的目的分析 .................................................1 1.2 软件的界面要求 .....................................................1 1.3 详细的功能分析 .....................................................1 1.3.1 创建文件 ..................................................... 1 1.3.2 添加联系人 ...................................................1 1.3.3 显示和查询联系人 ............................................. 1 1.3.4 删除联系人 ...................................................1 1.3.5 修改联系人 ...................................................1 1.3.6 保存退出与不保存退出 .........................................1 1.4 设计要求分析 .......................................................2 1.5 软件的数据结构分析 .................................................2 1.5.1 软件的函数 ...................................................2 1.5.2 文件的调用和保存 .............................................2 第二章 系统分析与设计 ...................................................3 2.1 软件界面设计 ...................................................... 3 2.2 软件的数据(结构)设计 ............................................ 3 2.2.1 软件的文件功能 ...............................................3 2.2.2 文件内部的数据格式 ...........................................3 2.3 软件的模块图 ...................................................... 3 2.4 软件的流程图 ...................................................... 4 2.4.1 添加联系人程序流程图 .........................................4 2.4.2 显示和查找联系人程序流程图 ...................................5 2.4.3 删除联系人流程图 .............................................5 2.4.4 修改联系人流程图 .............................................6 第三章 软件的实现 .......................................................8 3.1 函数声明 ......................................................... 8 zhucaidan()主菜单函数 ............................................ 8 3.2 main()主函数 ..................................................... 9 3.3 3.4 readfile()读取文件函数 ........................................... 9 writefile()联系人写入文件函数 ................................... 10 3.5 zengjia()增加联系人函数 ......................................... 11 3.6 3.7 shanchu()删除函数主界面 ......................................... 11 xianshi()显示和查询函数 ......................................... 12 3.8 3.9 xianshi()显示所有人函数 ......................................... 13 3.10 chazhao_xingming()姓名查询函数 .................................. 13 3.11 chazhao_dianhua()按号码查询函数 ................................. 14 3.12 shanchu_dange()删除单个联系人函数 ............................... 15 3.13 shanchu_quanbu()删除所有联系人函数 .............................. 15 3.14 shanchu_xingming()按姓名删除联系人函数 .......................... 16 3.15 shanchu_dianhua()按电话号码删除函数 ............................. 17 3.16 xiugai()修改函数主体界面 ........................................ 18 I
重庆科技学院《C 语言程序设计》课程设计报告 3.17 xiugai_xingming()按姓名修改 ..................................... 19 3.18 xiugai_dianhua()按号码修改联系人函数 ............................ 20 第四章 软件测试 ........................................................22 4.1 文件导入界面 ..................................................... 22 4.2 软件的主界面 ..................................................... 22 4.3 添加联系人模块 ................................................... 22 4.4 显示和查找联系人界面 ............................................. 23 4.4.1 主界面 ...................................................... 23 4.4.2 无联系人的显示界面 .......................................... 23 4.4.3 有联系人的显示界面 .......................................... 24 4.4.4 按姓名查找 .................................................. 24 4.4.5 按电话号码查找 ..............................................24 4.5 删除联系人模块 ................................................... 25 4.5.1 删除联系人主界面 ............................................ 25 4.5.2 没有对应联系人的删除界面 .................................... 25 4.5.3 按姓名删除 .................................................. 25 4.5.4 按电话号码删除 .............................................. 26 4.6 修改联系人模块 ................................................... 26 4.6.1 修改联系人主菜单 ............................................ 26 4.6.2 按姓名修改 ..................................................27 4.6.3 按电话修改 .................................................. 27 4.7 退出 ............................................................. 28 4.7.1 保存退出 ....................................................28 4.7.2 不保存退出 ..................................................28 第五章 总结与体会 ...................................................... 29 致谢 .....................................................................30 参考文献 .................................................................31 II
重庆科技学院《C 语言程序设计》课程设计报告 第一章 软件需求分析说明书 1.1 设计软件的目的分析 本软件要求用 C 语言建立一通讯录,输入姓名、电话号码、住址等信息,然后对通 信录进行显示、查找、添加、修改及删除。 1.2 软件的界面要求 本软件要求软件的界面简洁、美观,让人一目了然,使用起来方便。于是我设计的 软件首先提示您是否有通讯录文件存在,如没有文件,则自动建立一个,如有文件存在, 则提示导入成功,让人直观明白的了解文件的情况。按任意键便可以进入主菜单,在主 菜单上显示出软件的功能,通过输入数字 0 到 5 来进行选择便可以实现你所需要的功能, 每个模块进入模块内部实现软件的具体功能,实现您所需要的功能。 1.3 详细的功能分析 该系统用下面六个功能模块编写,每个模块执行不同的功能,体现了模块化设计的 思想。下面六个模块都是利用 C 语言文件,向文件中添加数据、修改数据、查询数据、 删除数据和保存数据。 1.3.1 创建文件 用 fopen()建立一个文本文件,然后向其中输入数据(例如,向文件中输入“姓 名”,“地址”,“号码”等),并对文件进行命名。 1.3.2 添加联系人 通过键盘输入通讯录人员的姓名、电话号码、地址信息便可实现将信息添加到通讯 录文件内,添加完毕后,系统会自动询问你是否继续添加,如你想继续添加,再通过键 盘输入通讯录人员的姓名、电话号码、地址信息即可实现继续添加。 1.3.3 显示和查询联系人 通过前面第一个模块打得录入我们便可以执行第二个模块,通过第二个模块我们可 以进行对联系人进行显示和查找。 我通过调用 showall()函数来进行显示所有的联系人,showall()函数可以实现逐个显 示联系人。 对于查找联系人我则采用了 search()函数来进行查找联系人,我提供了两种查找方 法:①按照姓名查找;②按照电话号码查找。 1.3.4 删除联系人 我调用 deletecd()函数来实现删除功能,同样我也提供给了两种删除方法:①全部删 除;②单个删除。其中全部删除会提示是否全部删除,以免误删。 1.3.5 修改联系人 我调用 modify()函数来实现修改功能,我同样提供了两种修改方法:①对姓名进行 修改;②对电话号码进行修改。修改完毕后会提示是否据需修改。 1.3.6 保存退出与不保存退出 你还在为误添加、误修改、误删除后悔吗?还想回到以前的数据吗?这个担忧在我 的程序中您就不必担心了,我为程序提供了两种退出方式:①保存退出;②不保存退出。 完全解决您的后顾之忧。 1
重庆科技学院《C 语言程序设计》课程设计报告 1.4 设计要求分析 ①进一步掌握利用 C 语言进行程序设计的能力; ②进一步理解和运用结构化程序设计的思想和方法; ③初步掌握开发一个小型实用系统的基本方法; ④学会调试一个较长程序的基本方法; ⑤学会利用流程图表示算法。 ⑥根据题目要求,运用所学知识,完成设计和实现工作,并按照书写规范,撰写课 程设计报告。 1.5 软件的数据结构分析 1.5.1 软件的函数 本软件采用了不同的函数来进行定义不同模块的功能,通过调用不同的函数,可 以实现不同的功能。软件中采用了五个主体函数来实现添加联系人,修改联系人,查 找联系人,显示联系人,删除联系人的功能。 1.5.2 文件的调用和保存 本软件通过文本方式对用户所录入的信息进行保存。通过保存下来的文本,您可以 在电脑磁盘中找到您存入文件的位置,打开后便可以找到您所录入的通讯录信息。 2
重庆科技学院《C 语言程序设计》课程设计报告 第二章 系统分析与设计 2.1 软件界面设计 画出软件全部输入、输出数据的界面,并对每一个界面进行详细的操作说明 2.2 软件的数据(结构)设计 软件调用不同的函数来实现不同的功能,通过反复调用函数来实现反复输入。代 码中通过 scanf 从键盘上输入不同的数字选项,然后通过 swtich case()来实现对不同函数 的调用。 2.2.1 软件的文件功能 软件采用了文本文档进行存取,我在 C 盘建立了一个 txl 文本文档用于存取输入的 信息,打开 C 盘后就能直接看到您录入的信息,很方便和快捷。 2.2.2 文件内部的数据格式 我采用了 readfile()函数来读取文件,使用 if((fp=fopen("c:\\通讯录.txt","r"))==NULL) 以只读方式打开判定文件是否为空,如果不空,则使用 fseek(fp,0,2); 文件位置指针移动 到文件末尾以来进行写入数据。 使用 writefile()将联系人写入文件,用 if ((fp=fopen("c:\\通讯录.txt","w"))==NULL) 以只写的方式来对判定文件是否为空,如果不为空,则从键盘上录入所需要录入的信息 存到相应的文件中。最后通过 fclose(fp)来关闭文件,回到主界面上等待用户输入新的操 作。 2.3 软件的模块图 软件的模块图很直观的反映出软件能够实现的功能,由下面的模块图可以很直观的 看出我设计的通讯录软件能够方便的实现添加联系人、显示联系人、删除联系人、修改 联系人功能,另外,我设计的软件还实现了保存退出和不保存退出功能,这个功能很独 特。 ①在增加联系人部分,我用了三个函数调用来分别实现录入联系人姓名、号码、地 址。 ②在显示和查询联系人部分,我也有三个模块: 逐个显示联系人,按姓名查询,按 号码查询。 ③在删除联系人部分,我设计了三个界面,可以实现全部删除,单个删除,回到主 菜单。 ④在修改联系人模块,我也设计了三个界面,按姓名修改,按号码修改,回到主菜 单。 要。 ⑤最后我设计了保存退出和不保存退出,针对那些修改后却又后悔修改的用户需 3
分享到:
收藏