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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

通讯录程序设计方案C语言课程设计方案.docx

1、通讯录程序设计方案C语言课程设计方案课 程 设 计课程名称C语言程序设计课程设计题目名称通讯录程序设计专业班级20 15级计算机科学与技术1班学生姓名学 号指导教师二一六年六月二十日蚌埠学院计算机科学与技术系课程设计任务书课 程C语言程序设计课程设计班级2015级计算机科学与技术1班指导教师题 目通讯录程序设计完成时间2016年5月23日至2016年6月19日主要内容要求完成以下功能:1.系统以菜单方式工作2.能够完成信息录入功能3.能够完成信息浏览功能4.能够完成信息查询功能5.能够完成信息修改功能6.能够完成信息退出功能设计报告要求1封面: 2课程设计任务书3课程设计报告: 系统总体方案

2、设计思路和主要步骤 各功能模块和流程图 设计代码 心得体会和参考资料说明:学生完成课程设计后,提交课程设计报告及软件,要求文字通畅、字迹工整(可以打印),文字不少于5000 字,并装订成册。版面要求1 题目用黑体三号,段后距18磅(或1行),居中对齐;2 标题用黑体四号,段前、段后距6磅(或0.3行);3 正文用小四号宋体,行距为1.25倍行距;4 标题按“一”、“”、“1”、“”顺序编号。上机时间安排第14-17周, 周二 3-4节, 周四 5-6节指导地点实验室(A502) 分工协作说明(以列表形式具体说明每个人所做的工作)课题名称学生姓名学号所做的工作通讯录程序设计项目框架总体设计、整体

3、项目指导、综合设计文档编写、代码编写需求分析、校检、打印需求分析、校检、整理资料部分代码编写、分模块测试后台代码测试、 部分代码编写蚌埠学院计算机科学与技术系本科课程设计成绩评定表项目权重分值具体要求得分文献阅读与调查论证0.20100能独立查阅文献和从事其它调研;有收集、加工各种信息的能力设计质量0.30100设计合理、功能齐备,程序运行正常,实验数据准确可靠;有较强的实际动手能力论文撰写质量0.20100设计说明书完全符合规范化要求,用A4复印纸打印成文学习态度0.20100学习态度认真,科学作风严谨,严格按要求开展各项工作,按期完成任务学术水平与创新0.10100设计有创意,有一定的学术

4、水平或实用价值总分评语:等级: 指导教师: 年 月 日一 概述 1二 系统分析 2 功能需求 2 性能需求 4三 总体设计 4 功能模块设计 4 系统设计方案 8四 运行、调试与测试 8 运行 8 调试 12 测试 12五 结论 12参考文献 13附录源程序 13通讯录系统一 概述整个程序的设计实现大致分为五个模块,其中每一个模块对应一个函数,他们的功能分别是:信息录入功能函数,信息浏览功能函数,信息查询功能函数,信息修改功能函数,以及信息退出函数。1、信息录入功能函数 主要功能是从键盘输入通讯录信息并将其写入文件中,作为通讯录的信息库,以便对下面的函数进行运行,此函数是基础.2、信息浏览功能

5、函数 主要是进行信息浏览的功能3、信息查询功能函数 主要实现对通讯录信息查询的功能3、信息修改功能函数 实现的功能是实现对通讯录信息的修改;5、信息退出函数函数 进行完信息的浏览、查询、修改,是实现信息退出功能整个程序的设计实现大致分为五个模块,其中每一个模块对应一个函数,他们的功能分别是:信息录入功能函数,信息浏览功能函数,信息查询功能函数,信息修改功能函数,以及信息退出函数。二 系统分析 功能需求设计一个通过链表实现对通讯录信息进行管理的程序,要求完成以下功能:1、新建联系人姓名、籍贯、手机号码1、手机号码2和电子邮箱2、删除联系人可以根据输入联系人的姓名删除查询到的联系人3、查询联系人根

6、据输入联系人的姓名找到该联系人4、浏览联系人对通讯录所有联系人进行浏览5、修改联系人可以根据输入的联系人姓名找到该联系人对其信息进行修改6、退出系统通讯录录入联系人删除联系人查询联系人浏览联系人修改联系人保存退出系统用联系人姓名联系人籍贯联系人手机1联系人手机2联系人邮箱输入查询姓名输入修改姓名保存文件修改籍贯修改手机号1修改手机号2修改邮箱修改姓名图1 系统功能图 性能需求需要向系统输入姓名、号码、电子邮箱等信息。在运行本程序时只要按照正确的操作方法不会出现无法运行的情况,系统稳定性好,安全,可靠。三 总体设计1 功能模块设计根据分析整个系统主要划分为6个功能模块,分别执行要求中的功能。该系

7、统需要有添加,删除,查询,修改,循环显示主菜单,保存信息功能。要求有循环显示菜单工能。1、 输入选项5修改联系人6保存退出4浏览联系人3查询联系人1录入联系人2删除联系人通讯录首页选择模块 图2系统首页图2、录入联系人模块选择1进入录入联系人模块添加姓名添加籍贯添加手机号1添加手机号2添加邮箱是否继续 选择“Y” 图3 录入联系人模块3、删除联系人模块 联系人不存在 联系人存在 选择“Y”继续操作选择“N”退出 图4删除联系人模块4、查询联系人模块 选择“Y”继续选择“N”退出 图5 查询联系人模块5、浏览联系人模块 图6浏览联系人模块6、修改联系人模块选择5进入修改联系人模块输入要修改的联系

8、人姓名输入修改后姓名输入修改后籍贯输入修改后手机1输入修改后手机2输入修改后邮箱是否继续 选择“Y”继续修改 图7 修改联系人模块2 系统设计方案设计一个总菜单,1录入信息,2删除管理,3查询信息,4信息浏览,5修改信息,6退出系统。基本功能的实现都将体现在这几个菜单选项中。函数原型和数据结构如下:struct address_book /结构体/ char name20; char place20; long num1; long num2; char mail40; stud200;void add() /联系人添加/void del() /联系人删除/void arrange() /联系

9、人浏览/void change() /联系人修改/void find() /联系人查询/printf(tttt*n); printf(tttt*主菜单*n); printf(tttt*nnnnnn); printf(tt 1、录入联系人信息 2、删除联系人信息nn); printf(tt 3、查询联系人信息 4、联系人信息游览nn); printf(tt 5、修改联系人信息 6、保存退出系统nn); printf(nnnnnnnnn请选择1/2/3/4/5/6:);四 运行、调试与测试1 运行1、 点击运行,首先出现的是菜单界面,选择菜单选项进行操作,可进行如图8所示的系统主界面(选择数字进入

10、,退出系统)。图8菜单界面2、选择1进入联系人添加系统。可以输入想要添加的联系人姓名、籍贯、手机号码1、手机号码2、电子邮箱等信息。输入完毕后可以选择是否退出或者进行下一次输入。如图9所示。图9录入功能3、选择3,然后出现修改功能菜单。可以输入想要修改的联系人的姓名然后找到该联系人进行修改。可以对该联系人全部联系信息进行修改,修改完成后会出现提示修改成功。如图10所示。图10 修改界面4、选择4,进入联系人浏览功能,可以浏览文件保存的所有联系人姓名,籍贯、手机号码1,手机号码2,电子邮箱。如图11所示。 图11信息浏览界面5、选择输入3,进入查询联系人信息界面。然后输入想要查询的联系人姓名即可

11、查询该联系人的所有个人信息,然后系统会提示是否退出,不退出即可查询下一个联系人。如图12所示。 图12联系人查询页面6、输入6,退出系统,如图13所示。图13退出系统 调试调试是软件开发过程中的一个重要环节,也是最复杂,对软件开发者者来说也是最艰巨的任务。调试的任务是及时改正测试过程中发现的软件错误。具体地说,调试过程由两个步骤组成,它从表示程序中存在错误的某迹象开始,首先确定错误的准确位置,也就是找出哪个模块或哪个语句引起的错误。然后仔细研究推断代码以确定问题的原因,并设法改正。调试过程主要是运行编制好的程序,然后遇到错误后根据系统的提示,找到相关的问题所在。本系统调试过程中遇到问题、原因和

12、解决方法如下面介绍。设计过程中的想法与程序中的不足总的来说这个程序大致实现了题目的要求,但是这套程序仍然存在着很多的问题与不足。比如,程序中主函数写的有点繁琐,有太多的嵌套,不是那么井然有序,条理清晰,程序注释也不是很完善,对信息处理功能还有些不足之处,提示信息不明确。还有就是没能做到模糊查询。系统主要是参照课本手机通讯录模版编写的,同时也得到了老师和同学的一些帮助。我在做系统的过程中也遇到了很多问题,有的是知识不足,有的是考虑不够周全。事实证明,只靠自己的知识面还是很窄,独立处理问题能力不是很强,以后还要加强对c语言的学习。 对于C语言编写的程序来说,使用方法大致都是一样的,如果要改进的话,

13、就是要改进一些算法,尽量把界面编写清楚,提示信息全面,方便易用。 测试软件测试是软件生存期中的一个重要阶段,是软件质量保证的关键步骤从用户的角度来看,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,所以软件测试应该是“为了发现错误而执行程序的过程”。或者说,软件测试应该根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误或缺陷。过度测试则会浪费许多宝贵的资源。到测试后期,即使找到了错误,然而付出了过高的代价。五 结论C语言程序设计课程顺利完成,任务书中所提出的要求全部实现。在这次课程设计中,通过编写这个

14、图书管理系统,体会到了C语言学习的实用性。将理论和实践结合在一起,用先进的计算机工具方便人们的生活。C语言程序的编写首先要从大局考虑,把自己编写整个程序的思想都写在草稿上,这样有助于自己编写程序,在编写时要完善注释,方便其他人理解程序。编写的程序从理论上来说并没有错,但一上机就问题不断。甚至有些课本上的知识照搬不变,也不能得到正确的结果。有时一个程序改了一遍又一遍,但就是不能成功,编程显得枯燥乏味,看似简单的程序题,在调试时却屡屡出错。经反复的修改后,结果正确了,这时所有的乏味都显得那么无力,一切都是值得的。开发一套系统,最重要的是细心,并且思考要全面,结合实际,充分考虑到客户的需求和现实意义

15、。不管什么系统,只用运用到实际应用中,才具有现实意义。 所以C语言程序的实用性很强,我们以后还要更加努力认真地学习编程语言。参考文献1谭浩强.程序设计M,北京:北京大学出版社,1999.236-249.2徐孝凯,魏荣.数据结构M,机械工程出版社,1996:121-132.3耿国华.数据结构-C语言描述M,北京:高等教育出版社,2008:248-253.4杨路明.C语言程序设计教程M,北京:北京邮电大学出版社.2005:170 -186.附录源程序#include #include #include int n=0,i; struct address_book char name20; char

16、 place20; long num1; long num2; char mail40; stud200; void add() char j; front1: printf(n请输入要添加的姓名:); scanf(%s,studn.name); printf(n请输入要添加的籍贯:); scanf(%s,studn.place); printf(n请输入要添加的电话号码一:); scanf(%s,&studn.num1); printf(n请输入要添加的电话号码二: ); scanf(%s,&studn.num2); printf(n请输入要添加的电子邮箱:); scanf(%s,studn

17、.mail); getchar(); n+; printf(是否继续(Y/N)?:); j=getchar(); getchar(); if(j=y|j=Y) goto front1;/再次输入记录/ void del() int k=0,i; char m20;char j; front2: printf(n请输入要删除的联系人:); gets(m) ;getchar(); for(i=0;in;i+)/查找记录/if(strcmp(m,studi.name)=0) k=1; break; if(k=1)/删除记录/ for(k=i;kn-1;k+) studk=studk+1; n-; p

18、rintf(已删除nn); else printf(找不到要删除的记录: n); printf(按回车键返回:); getchar(); printf(是否继续(Y/N)?:); j=getchar(); getchar(); if(j=y|j=Y) goto front2; getchar(); void arrange() int k,i; struct address_book t; printf(姓名 籍贯 电话号码一 电话号码二 电子邮箱n); for(k=0;kn-1;k+) for(i=0;in-k-1;i+) if(strcmp(studi.name,studi+1.name)

19、0) t=studi; studi=studi+1; studi+1=t; for(i=0;i=n-1;i+) printf(%-10s%-8s %-15ld %-15ld %-20s,studi.name,studi.place,studi.num1,studi.num2,studi.mail); printf(按回车键返回!); getchar(); getchar(); void change() int k=0; char j,m20; front5: printf(n请输入要修改记录的姓名:); scanf(%s,m); getchar(); for(i=0;in;i+)/查找/if

20、(strcmp(m,studi.name)=0) k=1; break; if(k=1) printf(n); printf(n请输入修改后的姓名:); scanf(%s,studi.name); printf(n请输入修改后的籍贯:); scanf(%s,studi.place); printf(n请输入修改后的电话号码一:); scanf(%d,&studi.num1); printf(n请输入修改后的电话号码二:); scanf(%d,&studi.num2); printf(n请输入修改后的电子邮箱:); scanf(%s,studi.mail); printf(修改成功n); get

21、char(); if(k=0) printf(找不到要修改的记录!n); printf(按回车键返回:); getchar(); getchar(); printf(是否继续(Y/N)?:); j=getchar(); getchar(); if(j=y|j=Y) goto front5; void find() int k=0; char j,m20; front3: printf(n请输入要修改记录的姓名:); scanf(%s,m); getchar(); for(i=0;in;i+)/查找/if(strcmp(m,studi.name)=0) k=1; break; if(k=1) p

22、rintf(姓名 籍贯 电话号码一 电话号码二 电子邮箱n); printf(%-10s%-8s %-15ld %-15ld %-20s,studi.name,studi.place,studi.num1,studi.num2,studi.mail); else printf(找不到该联系人!请重新输入!按回车返回!); getchar(); goto front3; printf(是否继续(Y/N)?:); j=getchar(); getchar(); if(j=y|j=Y) goto front3; void main() char j; loop: printf(n); printf(

23、tttt*n); printf(tttt*主菜单*n); printf(tttt*nnnnnn); printf(tt 1、录入联系人信息 2、删除联系人信息nn); printf(tt 3、查询联系人信息 4、联系人信息游览nn); printf(tt 5、修改联系人信息 6、保存退出系统nn); printf(nnnnnnnnn请选择1/2/3/4/5/6:); j=getchar(); if(j=n) goto loop;/返回主菜单/switch(j) case 1: add();goto loop;/返回主菜单/case 2: del();goto loop; case 3: find();goto loop;case 4: arrange();goto loop; case 5: change();goto loop; case 6: FILE *fp; fp=fopen(student.dat,w); for(i=0;in;i+) fwrite(&studi,sizeof(struct address_book),1,fp); fclose(fp); exit(0); default: goto loop;

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

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