




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1目录1系统需求分析 . 错误!未定义书签。2总体设计 . 错误!未定义书签。3详细设计 . 错误!未定义书签。4界面设计与各功能模块实现 . 错误!未定义书签。5系统调试 . 错误!未定义书签。6实验心得体会 . 错误!未定义书签。7附:源程序 . 错误!未定义书签。21 系统需求分析(1 1)、本系统是针对高校学生的选修课程而设计, 通过本系统高校学生可以 很方便地进行自由选课。主要的问题描述是(功能要求):n n 门课程,每门课程 有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分, 开课学期等信息,学生可按要求(如总学分不得少于 6060)自由选课。(2 2)、主要
2、要求实现的功能如下:1课程信息录入功能:能根据提示将各课程的相关信息进行输入并 保存;2课程信息浏览功能:能将已经录入并保存的信息进行浏览;3查询功能:可根据不同的查询方式查询相应的课程信息。其中查询方式 有按学分查询和按课程性质查询两种;系统流程图如下:(3 3)、输入输出要求:系统以菜单方式工作。用户根据每一个功能模块输入相应内容,然 后进行相3应的操作。如需进行其他操作,可返回主菜单。输出的内容要有一个良 好的界面,使用户看清楚明白。2 总体设计(1 1)、系统功能分析本系统主要由一个 ClassClass 类及其五个成员函数组成。课题所要求的功能由各 个函数分别得以实现。首先,在 Cl
3、assClass 类内定义了一些成员变量,用来保存课程 编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课 学期等信息,还对它的成员变量进行了声明,如:然后,在类外,通过作用域运算符将类内声明的成员函数定义,以及进行相应的操作,以实现相应的功能。主要包括功能要求中的五大功能,即信息输入、 信息浏览、按学分查询课程、按课程性质查询课程等。最后,在主函数中设置目录显示。用 switchswitch 瓜分不同的功能选项。系统根 据用户输入的符号,调用相应的成员函数,完成功能的实现。(2 2)、各个模块之间的关系如下图:43 详细设计(1)(1)数据库需求分析该程序主要包含一个 C
4、lassClass 类和一个 main()main()函数。其中 ClassClass 类中有InIn put(),OutPut(),Search(),SearchByscore(float),SearchByKiput(),OutPut(),Search(),SearchByscore(float),SearchByKi nd(strind(stri n ng)g)函数来实现各功能。像在 Input()Input()信息输入函数中,ofstreamofstream outfileoutfile 创 建一个文件输出流对象语句就要用到系统库函数fstreamfstream,而则是 ConCon
5、solesole( (键盘和屏幕) )输出输入函数的头文件,concon - - ConCon solesole,ioio - i i nput,outputnput,output。程序中各功能函数如 SearchBySearchBy (float)(float) 按分数查询和 SearchByKSearchByK inin d(strid(stri ng)ng)按性质查询,显然是两个独立的函数,但其实现过程很像似。(2)(2)数据库概念结构设计(E E R R 图)(3)(3)数据库逻辑结构设计(4 4)类层次图5课程课程编号课程名字课程性质 总学时授课学时实验或上机学时学分开课学期课程信息
6、录入功能课程信息浏览功能查询功能 按学分查询 按课程性质查询 学生选修课程4 界面设计与各功能模块实现(1 1)、功能实现的文件模块:在主函数中设置目录显示。设计一个友好、漂亮的界面,通过 switchswitch 语句进行选择进入相应的功能模块,建立一个classclass 类的对象 a,a,用对象名调用classclass 类的功能函数,恰当的使用清屏函数。通过对象a a 调用相应的成员函数,如()、()、()等等,这些公有函数成员就是这个系统要求设计的功能模块。各个 功能函数的具体实现如下:、录入函数模块:首先,创建一个文件输出流对象 outfileoutfile ,打开文件,判断文件是
7、否存在。通过 whilewhile 设一个无限循环,当给出指定条件时退出。在循环中,调用coutcout 函数来提示用户输入相应的信息,如课程编号、名称、课程性质、总学时、授课学6时、实验或上机学时、学分、开课学期等等。将需要的课程输入完毕之后,可根 据提示再输入“ f f”即可返回主菜单,重新进行功能的选择。该步骤界面设计操 作图如下:-IO r -心亠L口自儿自d“nife.倩倩a程售B课课课&入览询?1霉一其12 3 *1Z请选择操作=显示(浏览)函数模块:该函数首先创建了输入流文件对象infileinfile ,使用语句(filefile),然后定义一个 stringstrin
8、g 类型的二维数组,用来保存从文本内读取的信息,用forfor 循环保证保存不止一门课程的信息。最后,coutcout 输出显示所有保存的信息。操作界面图如 下:期编名性时学fiJ.学裸验竄谍0心授蓋亍开入入入入入入入入HH土ollRHt主呈闻臺垦冃 q输入输入F退出退出自 信息录入输入输入F退出退出HRL:DUCUMENT5 AHO(输入“ 1 1 ”,根据提示输入课程信息:)意任按意任按44学fL-统系与01号倏监葬籍鲁息录入可7查找功能,即按学分查找和按课程性质查找,具体的实现如下:按课程性质查找:创建输入流文件对象 inin filefile ,然后定义一个 stristri ngng
9、 类型 的二维数组,用来保存从文本内读取的信息,比较用户输入的字符和保存的信息 中那些课程的性质相对应,将相应的课程信息进行输出显示,界面设计操作图如 下:8按课程学分查找:原理同上,如果用户输入的学分与所保存的信息想对应, 则将对应的课程信息输出显示。输入“ 0 0”可返回主菜单。具体程序见源程序清 单。该步骤界面显示如下:请造择揀年请造择揀年: :愉狗拼音半:愉狗拼音半:询查畫查方巽刀询课学回查養返旷号;叱称:谦程性质大大一彗朝一彗朝选修选修2:询杳:刮询桑查r專询课学回杳養返择-佻20克自心息息VSS性Tt-ststw123曆修曆修484髙数髙数dAsri课课程编号程编号: :课程名称课
10、程名称;课程性质课程性质;总学时总学时! !授课学时授课学时! !实验上机学时实验上机学时! !学分学分: :开课圭开课圭 期期1信号与系统信号与系统必修必修&44120大二上学期大二上学期F ”UDO匸UM阳巧AND莊TTING蓟甌3桌面 2 皀bu蓟谭搴口|95 系统调试(1 1)、 在查找功能函数当中,刚开始我输入的课程性质用数字代替,而后 面我的查找函数在进行输入比较时是用汉字进行比较的,这样就导致了查找错 误,刚开始我找了好久也找不出来, 后来还是在同学的帮助下终于找到了这个错 误,并改正。输出了正确的结果。(2 2)、在 classclass 类当中我刚开始把成员变量如课程
11、性质只简单的设置为字符 型 charchar ,当在类外进行初始化时出现了错误,因为把要获得字符串的函数只简 单的设置为字符型是不行的,它的返回得不到一个字符串,要把其设置 stringstring 类型或者数组类型,这样就可以通过编译了。(3 3)、进行程序调试时, 事先函数中没有用到清屏, 导致界面繁琐不清 晰。后来在头文件中加了 #include#include ,又在程序中适当地添加了 systemsystem(clscls) 语句,这才使得界面友好清晰。6 实验心得体会心得连续三天的课程设计终于要接近尾声了。虽然接下来还要面临紧张的期 末考试,但总算可以稍微松一口气。说实话,每次做课
12、程设计、写实验报告,我都好上火长痘好几天。本来因为 上学期的课程设计没有认真做, 在网上下载了一篇类似的题目, 自己作了一些修 改,便跑去答辩,被老师当众批评,心里羞愧得要死!心里暗下决心,这次试验 报告一定要自己写,不管写得多差,只要自己很努力地认真在写就好了。这次题目初看不是很难,一个类,一些成员变量,几个成员函数,将它们组合起来就 OKOK 了。可是越写下去,便觉得处处是难题。到最后感觉自己像处在一个大迷宫里,四周到处是出口,走近了一看,却发现那只是上面画着门的墙壁.我只会定义一个类和它的成员变量以及成员函数,但要求是要有 N N 门课程 呢,还要能显示你所输入的课程信息,还要按要求将分
13、类不同的信息挑选出 来天哪,这可怎么办呢看来,要将自己输入的信息有记录地保存起来就好了。可是老师没教这个呀 (后来才知道相关内容在 C C 语言教科书上有, 上学期 的课程10设计也有涉及到, 但由于上次的没有认真做, 所以对该知识点没有印象) 。 还跑去图书馆找资料,找到了相关内容,可是,答辩的时间也逼近了.第三天上午进实验室,问同学,发现已经有人将这个题目完整地做了出来,我不得不感叹人家的才思敏捷。也难怪哦,人家是脚踏实地,C C 语言的基础打得好,谁让我上学期玩去了呢呵.老师在实验室里鼓励大家积极答辩,我盯着自己的作品,这个连“半成品” 都谈不上的程序,这能去答辩吗老师也没要求必须答辩,
14、要不,直接 copycopy 他们 的程序写了实验报告交差完事了! 但这不跟上学期一样了么我这近三天的寝食难 安不都白熬了么去答辩吧,就算给自己的付出一个结果吧.老师很仁慈, 我的那个程序对于题目要求根本没什么意义, 也就是说我根本 没完成任务。估计老师是看我熬了这三天太可怜了,勉强让我过了。实验做完了,心情还是有点沉重,但没上次那样难过了。毕竟自己写的,通 过思考,查资料,还是学到了不少东西的,对 C C 语言也进行了巩固。我要尽快将 所缺的知识填补上来,然后再下次的课程设计中打个漂亮的胜仗!117 附:源程序#include#include#include#include #include
15、 using namespace std;class Courseprivate:i nt courseNumber;string courseName;string courseKind;i nt coursePeriod;i nt schoolPeriod;i nt experimentPeriod;float credithour;string courseterm;public:void CourseInfoInput(); _str()=tempch) cout (2).按学分查询 endl; cout (0).返回i; switch(i)case 1:cout 请输入课程类型:n;课程类型查询 strtmp;SearchByCourseKind(strtmp); break;case 2:cout ftemp;SearchByCredithour(ftemp); break;if(i=0)break;int main()Course Excourse;while(1)cout (); break;case 2:(); break;case 3:(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年高端医用耗材项目合作计划书
- 2025年甘肃省平凉市灵台县梁原中学中考模拟化学试题(含答案)
- 怎制作系统操作指引
- 企业管理责任与担当
- 中考数学高频考点专项练习:专题15 圆综合训练 (2)及答案
- 护士护理工作礼仪培训
- 小学科学老师培训
- 2025年轻水堆核电站及配套产品项目发展计划
- 甘肃省武山一中2025届高三适应性调研考试化学试题含解析
- 2025年证券经纪代理与营业部服务项目合作计划书
- 高三励志班会主题高考冲刺主题班会
- 无锡旅游景点攻略惠山古镇
- JGJT411-2017 冲击回波法检测混凝土缺陷技术规程
- 邮寄快递丢失索赔起诉状范本
- 艺术导论(公共艺术通识课)第二版全套教学课件
- 阿氏圆问题课件
- 【课件】探究影响感应电流方向的因素(课件)
- 《红军长征与遵义会议》开辟新的发展道路课件
- 标准化知识竞赛考试题库(含答案)
- 3岁入园期陪孩子顺利走进幼儿园
- 年产10吨功能益生菌冻干粉的工厂设计改
评论
0/150
提交评论