c++课程设计报告.doc

上传人:good****022 文档编号:116422263 上传时间:2022-07-05 格式:DOC 页数:24 大小:195KB
返回 下载 相关 举报
c++课程设计报告.doc_第1页
第1页 / 共24页
c++课程设计报告.doc_第2页
第2页 / 共24页
c++课程设计报告.doc_第3页
第3页 / 共24页
点击查看更多>>
资源描述
计算机学院信息管理与信息系统专业程序设计综合课程设计报告 (2010/2011学年 第一学期)学生姓名: 谷浩 学生班级: 信息管理与信息系统092001班 学生学号: 200920020109指导教师: 荀亚玲 2010年 1月 7日目录第一章 课程设计的目的和要求-1 1.1 课程设计的主要目的-1 1.2 课程设计报告的内容要求-11.3 课程设计报告的质量要求-2第二章 课程设计的任务内容-3 2.1 功能需求-3 2.2 模块流程图-3第3章 详细设计内容-5 3.1 主函数-53.2 机位查询-63.3 机位预订-73.4 退出预定-83.5 查询等待信息-9第四章 软件使用说明-104.1 软件使用说明-104.2 编码及调试-10第五章 课程设计心得体会-13附录一 参考文献-14附录二 程序清单-15程序设计综合课程设计机房机位预定系统第一章 课程设计的目的和要求1.1 课程设计的主要目的我学习C+课程设计的主要目的是培养自己综合运用C+程序设计课程所学到的知识,编写C+程序解决实际问题的能力,以及严谨的工作态度和良好的程序设计习惯。通过课程设计的训练,我应该能够了解程序设计的基本开发过程,掌握编写、调试和测试C+程序的基本技巧,充分理解结构化程序设计的基本方法。C+程序设计的主要任务是要求我遵循软件开发过程的基本规范,运用结构化程序设计的方法,按照课程设计的题目要求,分析、设计、编写、调试和测试C+程序及编写设计报告。1.2 课程设计报告的内容要求课程设计报告应该能够反映我完成课程设计题目的全部情况,包括对课程设计题目要求的分析、应用程序的设计、程序的测试过程以及程序的运行情况等,因此,编写课程设计报告是课程设计一个不容忽视的重要环节。我认为课程设计报告应该包括下列主要内容:1)题目描述的内容详细地描述课程设计题目的要求。要用简练、清晰的语言将课程设计的题目描述清楚,包括题目的背景、题目的功能需求。2)用户文档的内容用户文档是面向使用该应用程序的用户编写的,因此,应该将用户需要知道的所有内容用简练、清晰的语言描述清楚。下面是用户文档应该包含的主要内容:(1)应用程序功能的详细说明;(2)应用程序运行环境的要求;(3)应用程序的安装与启动方法;(4)程序的界面、交互方式和操作方法;(5)输入数据类型、格式和内容限制。3)技术文档的内容技术文档是面向技术人员编写的,因此,应该将应用程序的所有设计思路和实现成果描述清楚,以便将来能够根据该文档提供的信息对应用程序进行维护。下面是技术文档应该包含的主要内容:(1)程序整体结构(模块划分)以及各模块的功能描述;(2)主要模块的算法(用流程图描述)和数据结构解释;(3)在各模块中,使用的变量名称及用途;(4)选用的测试用例及测试结果;(5)程序的源代码清单;(6)程序开发环境以及有关信息。1.3 课程设计报告的质量要求我认为一个高质量的课程设计报告应该满足下列条件:1)报告内容完整、观点正确;2)层次清晰、语言流畅、用词准确且无二义性;3)能够反映结构化程序设计方法的基本原则;4)绘制的所有图表规范且正确。第二章 课程设计任务内容 在编写“机房机位预定系统”的程序之前,明确此题目的功能需求是非常重要的。只有在清楚其功能需求的情况下,才能更准确、更快速的编写出此程序,也保证了程序的准确性,实用性。下面我就自己对其理解做详细的说明。2.1 功能需求 根据题目要求在程序中需实现机位查询,机位预定,机位退订,查询等待信息,退出程序等功能需求的操作,所以需要建立相应的模块来实现;另外还需要提供键盘式选择菜单实现功能,在运行时达到所需目的。具体功能需求说明如下:假设20台机器,编号1到20,从早八点到晚八点。两小时一个时间段,每次可预定一个时间段。功能要求:(1)系统以菜单方式工作;(2)查询,根据输入时间,输出机位信息;(3)机位预定,根据输入的时间查询是否有空机位,若有则预约,若无则提供最近的时间段,另:若用户在非空时间上机,则将用户信息列入等待列表;(4)退出预定,根据输入的时间,机器号撤销该事件的预定;(5)查询是否有等待信息,若有则提供最优解决方案(等待时间尽量短),若无则显示提示信息。2.2 功能模块图根据要求,可将整个程序分成四个模块,即:机位查询,机位预定,退出预定,查询等待信息几大模块;并在各模块之前建立主菜单,要求简洁明了,在各模块功能执行完之后都返回主菜单,可随时从任一模块开始运行,使各模块充分独立,使程序更加灵活。其系统功能模块图如下:机房机位预订系统退出查询等待信息退出预订预订机位查询机位提供最近时间段的空机位查询机位预定空机位退出预定无顾客等待退出程序等 待图 2-1 功能模块图第三章 详细设计说明详细的设计说明可以使读者更加清楚明白的了解该软件,以致更加快速、熟练的使用该软件。下面是该软件的详细设计说明。3.1 主函数主函数为整个函数做铺垫,执行Display函数,显示一系列功能菜单,然后根据需要选择相应的功能模块。开 始显示一系列功能菜单N输入n,判断n是否是1-5?结束根据n的值调用各功能模块Y图 3-1 主函数流程图3.2 机位查询机位查询模块运用Search函数,system(“cls”)为清屏,while(time19)为一个while循环,选择主菜单机位查询,输入要查询的时间,之后,系统将显示机位信息,然后输入Y或者N选择是否继续查询。 开 始输入时间N判断是否输入有效Y显示提示语句预定条件语句YN输出预订机位及信息输出未预定机位及信息结 束图 3-2 机位查询函数流程图3.3 机位预订机位预订运用Book函数,system(“cls”)为清屏,while(time19)为一个while循环,if(computernum(time-8)/20)为一个if循环,for(i=(time-8)/2+1;i6;i+)为一个for循环,选择主菜单机位预订这一项,输入要预定的时间,之后,输入姓名,系统会提示预定成功,并且显示预定的座位号。开 始输入时间N判断是否输入有效? Y 显 示 提 示 语 句 判断是否有机位?2NY就近查找选择判断?1预订机位预订机位加入等待序列结束图 3-3 机位预订函数流程图3.4 退出预定 退出预定模块运用Quit函数,while循环(条件为时间小于8或大于19),选择主菜单的“退出预定”这一项之后,输入要退定的时间和要退定的座位号,之后,系统将会显示退定成功。开 始输入时间N判断输入是否有效?Y显示提示输入要退订机位判断输入机位是否已预订?NY预 定结 束图 3-4 退出预定函数流程图3.5 查询等待信息 查询等待信息模块运用Search Wait函数,While循环(条件为时间小于8或大于19),if(wait(time-8)/2.next=NULL)循环,选择主菜单的“查询等待信息”这一项之后,输入要查询的时间, 之后,系统将会显示有无顾客在等待。开始输 入 姓 名通过链表指向等待信息输出等待信息结 束图 3-5 查询等待信息函数流程图第四章 软件使用说明4.1 软件使用说明 首先选择菜单1,查询机位:输入时间,则系统将显示未被占用的机位;再选择菜单2,输入预定时间和自己的姓名,预定机位若显示“预订成功”则机位预订成功。若想退定机位,则选择菜单3,输入退订时间和座位号,确定,则机位退订成功。若想查询某时间是否有空机位,则选择菜单4,再输入时间,则显示有无空机位。操作完成后,选择菜单5,退出程序。4.2 编码及调试 1)机位查询图 4-1 机位查询运行结果2)机位预订图 4-2 机位预订运行结果3)退订图 4-3 退订运行结果4)查询等待信息图 4-4 查询等待信息运行结果图 4-5 退出运行结果5) 退出第五章 课程设计心得与体会经过一个学期对C+程序设计和数据结构的学习,我学习到了基本的理论知识,了解到了C+语言程序设计的思想,这些知识都为我的课程设计和进一步的学习打下了坚实的基础。通过C+课程设计,一方面是为了检查这一个学期来C+编程语言的学习成果,另一方面也是为了让我们进一步掌握和熟练地运用它,与此同时,也能够让我们认清自己在C+学习方面的不足之处和薄弱环节,并加以弥补和巩固。通过对机房机位预定系统的程序设计,进一步的巩固了用C+语言编写程序的能力,并且利于更好的掌握C+语言!在为期三周的C+课程设计中,我体会颇多,学到了很多东西。我加强了对C+程序设计这门课程的认识,并且复习了自己以前学习到的知识,自己的逻辑思考能力也提高不少。这些都使得我对C+编程语言的学习有了更深入的认识!总之,通过这次课程设计,我收获颇丰,相信会为自己以后的学习和工作带来很大的好处。最重要的还是激发了我编程的兴趣和热情,让我从一个只懂理论变成了能做一些小型程序。整体地评价这次课程设计,我认为收获很大,正如上面所说的那样,通过课程设计,既复习了以前的旧知识,又学到了一些新的知识。像机房机位预定系统这样的应用程序的设计和创建,经历了平时在课堂和考试中不会出现的难题和考验。而这些问题,又都是课本上很少提到的、更深一层的实践与知识相结合的问题,这并不是我们平时只靠课本,就可以轻易解决的。所以,锻炼了我们面对难题,学会用已掌握的知识去解决具体问题的能力,进一步培养了独立思考问题和解决问题的能力。总而言之,这次C+程序设计实践让我收获很大。附录一 参考文献1杨秀金编著:数据结构(c+版),北京:人民邮电出版社,2009.42谭浩强编著:C+程序设计,北京:清华大学出版社,20043湛为芳编著:C+程序设计技术习题解答和实验指导,北京:清华大学出版社, 2009.104刁成嘉主编,面向对象C+程序设计,北京:机械工业出版社,20045刘瑞新主编,曹建春,沈淑娟,张连堂等编著,Visual C+面向对象程序设计 过程, 北京:机械工业出版社,20046陈文宇,张松梅编著,C+语言教程,北京:电子科技大学出版社,20047张凯主编,付兴宏主审,VC+程序设计,辽宁省 大连市:大连理工大学出版社, 20028钱能主编,C+程序设计教程,北京:清华大学出版社,1999附录二 程序清单#include /预处理命令#include #include#include #include using namespace std; /函数外部声明void Display(); /定义函数void Search();void Book();void Quit();void Wait(int time);void SearchWait();void Exit();int computernum6=20,20,20,20,20,20; /定义整型数组struct waitlist /定义结构体变量 char phonenumber12; waitlist *next;waitlist wait6=0,NULL,0,NULL,0,NULL,0,NULL,0,NULL,0,NULL;int main() /主函数 Display(); /运行函数Display return 0; void Display() /定义函数Display system(cls); /清屏 coutendlendlendlendl;/printf(nnnnn); /输出换行 coutt=n; coutt| COMPUTER BOOK SYSTEM |n;coutt=n; coutt| Choice: |n;coutt-n; coutt| 1: Search! |n;coutt-n; coutt| 2: BOOK! |n;coutt-n; coutt| 3: Quit! |n;coutt-n; coutt| 4: SearchWait! |n;coutt-n; coutt| 5: Exit! |n; coutt-n; coutc; /char c=getche(); coutendl; switch(c) case 1: Search(); break; case 2: Book(); break; case 3: Quit(); break; case 4: SearchWait(); break; case 5: Exit(); break; default: coutnttWarning: ERROR chocie!n; /*输出Warning: ERROR chocie!*/ / Sleep(1000); system(cls); /清屏 Display(); void Search() /定义函数Search int time; /定义整型变量time char c; /定义字符型变量c system(cls); coutt=n; coutt| Search() |n; coutt=n; couttime; /输入时间 while(time19) / while循环,条件为时间小于8或大于19 couttWarning : Wrong time!n; couttime; couttRemain computer(s) : ncomputernum(time-8)/2; coutc; cin.get(); if(c=Y|c=y) / if循环,条件为c=y或c=Y Search(); else Display();void Book() /定义函数Book int time,i; /定义整型变量time,i char c; /定义字符型变量c system(cls); coutt=n; coutt| Book() |n; coutt=n; couttime; while(time19) / while循环,条件为时间小于8或大于19 couttWarning : Wrong time!n; couttime; if(computernum(time-8)/20) /*if循环,条件为时间数减8的一半大于0*/ computernum(time-8)/2-; couttBook successed!n; cin.get(); Display(); else couttNo computer left at that time!n; for(i=(time-8)/2+1;i0) /if循环 couttRecent free time is ni+8i+10; coutntWait or not : Y/N? ; if(c=Y|c=y) /if循环 Wait(time); else Display(); void Wait(int time) /定义函数Wait且其时间定义为整型变量 waitlist *p,*p1,*p2; p=(waitlist *)malloc(sizeof(waitlist); system(cls); coutt=n; coutt| Wait() |n; coutt=n; coutp-phonenumber; p1=wait(time-8)/2.next; while(p1!=NULL) / while循环 p1=p1-next; /交换地址 p-next=p1-next; p1-next=p; coutt OK,Wait our phone please!; cin.get(); Display();void Quit() /定义函数Quit int time; /定义整型变量time system(cls); coutt=n; coutt| Quit() |n; coutt=n; couttime; while(time19) / while循环 couttWarning : Wrong time!n; couttime; computernum(time-8)/2+; couttQuit successed!n; cin.get(); Display();void SearchWait() int time; waitlist *p; system(cls); coutt=n; coutt| SearchWait() |n; coutt=n; couttime; while(time19) couttWarning : Wrong time!n; couttime; if(wait(time-8)/2.next=NULL) couttNo customer wait!n; else p=wait(time-8)/2.next; while(p!=NULL) coutphonenumbernext; cin.get(); Display();void Exit() /定义函数Exit system(cls); coutnnnnnntttSee you next time!nnnnnnn; exit(0);22
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 研究报告 > 食品饮料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!