资源预览内容
第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
第9页 / 共20页
第10页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
信息科学与技术学院信息科学与技术学院程序设计基础课程设计报告程序设计基础课程设计报告题目名称:题目名称: 学生选修课程系统设计学生选修课程系统设计 学生姓名:学生姓名: XXXX 学学 号号: : XXXX 专业班级:专业班级: 计双计双 1111(1 1)班)班 指导教师:指导教师: XXXX 20122012 年年 7 7 月月 1010 日日目 录 1 课程设计题目与要求3 1.1 设计题目3 1.2 设计要求3 1.2.1 问题描述.3 1.2.2 问题解决方案: 3 1.2.3 其他要求: 4 2 总体设计6 2.1 课程信息录入功能.6 2.2 课程信息浏览功能.6 2.3 查询功能7 2.3.1 按学分查询功能.7 2.3.2 按课程性质查询功能.7 3 详细设计9 3.1 类设计9 3.2 主模块设计10 3.2.1 主函数10 如果输入 4,就会执行 4 的功能,因此调用 exit 函数,退出系统 。 3.2.2 录 入课程信息的函数 CourseInput.11 3.2.3 查询函数 Search12 3.2.4 课程信息的浏览 CourseOutPut13 3.2.5 按学分查询 Searchxuefen.14 3.2.6 按课程性质查询 Searchkechen 15 4 运行结果16 4.1 主界面.16 4.2 录入课程信息界面16 4.3 浏览课程信息界面17 4.4 查询课程信息界面18 4.4.1 查询课程信息的按课程性质查询界面18 4.4.2 查询课程信息的按学分查询界面.19 4.4.3 查询课程信息的返回界面.19 4.5 .退出系统界面.19 5 课程设计总结22 6 参考文献.221 课程设计题目与要求课程设计题目与要求1.1 设计题目设计题目我选的程序设计题目是学生选修课程系统设计。1.2 设计要求设计要求1.2.1 问题描述问题描述假定有 n 门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于 60)自由选课。试设计一选修课程系统,使之能提供以下功能:(1)系统以菜单方式工作(2)课程信息录入功能(课程信息用文件保存)输入(3)课程信息浏览功能输出(4)查询功能:(至少一种查询方式)算法按学分查询按课程性质查询(5)学生选修课程(可选项) 1.2.2 问题解决方案问题解决方案:根据系统功能要求,可以将问题解决分为以下步骤:(1)分析系统中的各个实体之间的关系及其属性和行为;(2)根据问题描述,设计系统的类层次;(3)完成类层次中的各个类的描述(包括属性和行为)(4)完成类中的各个成员函数的定义;(5)完成系统的应用模板;(6)功能调试;(7)完成系统总结报告以及系统使用说明书。1.2.3 其他要求其他要求:(1)只能使用 C/C+语言,源代码要有适当的注释,使程序容易阅读 (2)至少采用文本菜单界面 (3)学生可自动增加新功能。2 总体设计总体设计根据对课程设计的要求分析和需求,本课程设计学生选修课程系统设计有3 个功能,有课程信息录入功能,课程信息浏览功能和查询功能。查询功能又分为 2 个按学分查询功能和按课程性质查询功能。系统框架图如图 1.学生选修课学生选修课 程系统设计程系统设计查询功 能课程信 息浏览按学分查 询课程信 息录入按课程性质 查询 图 1 系统功能表2.1 课程信息录入功能课程信息录入功能首先,创建一个文件输出流对象 outfile,打开文件,判断文件是否存在。通过 while 设一个无限循环,当给出指定条件时退出。在循环中,调用 cout 函数来提示用户输入相应的信息,如课程编号、名称、课程性质、总学时、授课学时、实验或上机学时、学分、开课学期等等。2.2 课程信息浏览功能课程信息浏览功能该功能的使用者是我们学生,能将已经录入并保存的信息进行浏览;并相应的浏览我们的想要的信息。通过 coursefile 函数将的我们的信息保存下来。并能够进行相应的显示。2.3 查询功能查询功能2.3.1 按学分查询功能按学分查询功能创建输入流文件对象 infile,然后定义一个 string 类型的二维数组,用来保存从文本内读取的信息,如果用户输入的学分与所保存的信息想对应,则将对应的课程信息输出显示。2.3.2 按课程性质查询功能按课程性质查询功能创建输入流文件对象 infile,然后定义一个 string 类型的二维数组,用来 保存从文本内读取的信息,比较用户输入的字符和保存的信息中那些课程的性 质相对应,将相应的课程信息进行输出显示3 详细设计详细设计3.1 类设计类设计class Coursepublic: void CourseInput(); /信息输入void CourseOutPut(); /信息输出void Search(); /查找信息void Searchxuefen(float); /按照学分查找void Searchkecheng(string); /按照课程;类型查找private:int courseNumber;string courseName;string courseKind;int coursePeriod;int schoolPeriod;int experimentPeriod;float credithour;string courseterm; 该类名为 Course,类中含有五个成员函数和八个数据成员,成员函数为公有的,数据成员为私有。五个成员函数分别为 void CourseInput()功能:信息输入,void CourseOutPut():信息输出,void Search():查找信息, void Searchxuefen(float):按照学分查找,void Searchkecheng(string):按照课程类型查找。八个数据成员为 int courseNumber:课程编号,string courseName:名称,string courseKind:课程性质,int coursePeriod:总学时,int schoolPeriod:授课学时,int experimentPeriod:实验或上机学时,float credithour:学分,string courseterm:开课学期3.2 主模块设计主模块设计3.2.1 主函数主函数输入与功能对应的的数字判断有否开始执行相应功能结束是否图 2 主函数流程图判断输入的数字,如果输入 1,就会执行 1 的功能,因此调用 CourseInput函数,进入学生选修课程系统,录入课程信息功能。如果输入 2,就会执行 2 的功能,因此调用 CourseOutPut 函数,进入学生选修课程系统,录入浏览课程信息功能。 如果输入 3,就会执行 3 的功能,因此调用 Search 函数,进入学生选修课程系统,录入查询课程信息功能。如果输入如果输入 4 4,就会执行,就会执行 4 4 的功能,因此调用的功能,因此调用 exitexit 函数,退出系统函数,退出系统 。 3.2.2 录入课程信息的函数录入课程信息的函数 CourseInput输入与功能对应的的字符是 q开始执行相应功能结束是否图 3 录入课程信息的函数 CourseInput 流程图首先判断打开的文件是否存在,如果不存在,就新建一个 TXT 文件。输出打开文件失败。执行相应的功能,再次判断输入的字符是否为“q” ,如果是“q” ,本程序直接结束,如果不是“q” ,输入相应的信息:课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等等。最后关闭文件输出流。3.2.3 查询函数查询函数 Search输入与功能对应的的数字判断有否开始执行相应功能结束是否图 4 查询函数 Search 流程图该函数首先判断输入的数字,如果输入的是“1”调用 Searchkecheng 函数,执行按课程性质查询功能如果输入的是“1”调用 Searchkecheng 函数,执行按课程性质查询功能。如果输入的是“2”调用 Searchxuefen 函数,执行按学分查询功能。如果输入的是“3” ,执行直接结果功能。3.2.4 课程信息的浏览课程信息的浏览 CourseOutPut新建一个文件文件有否开始执行相应功能结束是否图 5 课程信息的浏览 CourseOutPut 流程图首先打开一个文件,判断文件是否存在,如果不存在,就新建一个文件。如果存在,本程序用 for 循环进行排序,按照:课程编号 | 课程名称 | 课程性质 | 总学时 | 授课学时 | 实验上机学时 | 学分|开课学期 这样的格式输出,再用 for 循环进行输出。最后关闭输入流。3.2.5 按学分查询按学分查询 Searchxuefen新建一个文件文件有否开始执行相应功能结束是否图 6 按学分查询 Searchxuefen 流程图首先打开一个文件,判断文件是否存在,如果不存在,就新建一个文件。如果存在,本程序用 for 循环进行读入程序所有的课程信息,在用 for 循环对输入的学分和程序的课程信息的学分相比较,如果相同,就把相应的一行输出,按照:课程编号 | 课程名称 | 课程性质 | 总学时 | 授课学时 | 实验上机学时 | 学分|开课学期 。最后关闭输入流。3.2.6 按课程性质查询按课程性质查询 Searchkechen新建一个文件文件有否开始执行相应功能结束是否图 7 按课程性质查询 Searchkechen首先打开一个文件,判断文件是否存在,如果不存在,就新建一个文件。如果存在,本程序用 for 循环进行读入程序所有的课程信息,在用 for 循环对输入的课程性质和程序的课程信息的课程性质相比较,如果相同,就把相应的一行输出,按照:课程编号 | 课程名称 | 课程性质 | 总学时 | 授课学时 | 实验上机学时 | 学分|开课学期 。最后关闭输入流。4 运行结果运行结果4.1 主界面主界面图 8 主界面主界面有四个功能:(1).录入课程信息 (2).浏览课程信息 (3).查询课程信息(4).退出系统 。4.2 录入课程信息界面录入课程信息界面在主界面输入“1” ,可以进入录入课程信息界面图 9 录入课程信息界面录入课程信息包括:课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期输入完过后,就在输入“q”就行了可以退出,录入系统。返回主界面。4.3 浏览课程信息界面浏览课程信息界面在主界面输入“2” ,可以进入浏览课程信息界面图 10 浏览课程信息界面4.4 查询课程信息界面查询课程信息界面在主界面输入“3” ,可以进入查询课程信息界面图 11 查询课程信息界面该功能:(1)按课程性质查询(2)按学分查询。 (3)返回4.4.1 查询课程信息的按课程性质查询界面查询课程信息的按课程性质查询界面在查询课程信息界面输入“1”和“自然科学类”可以进入按课程性质查询界面图 12 按课程性质查询界面4.4.2 查询课程信息的按学分查询界面查询课程信息的按学分查询界面在查询课程信息界面输入“2”和“2”可以进入按学分查询界面图图 13 按学分查询界面按学分查询界面4.4.3 查询课程信息的返回界面查询课程信息的返回界面在查询课程信息界面输入“3” ,可以进入返回到主界面。图 14 返回界面4.5 .退出系统界面退出系统界面在主界面输入“4” ,可以进入退出系统界面图 15 退出系统界面5 课程设计总结课程设计总结这一段时间 C+的课程设计报告终于写完
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号