算法与程序设计课程设计学生选修课程系统.doc
《算法与程序设计课程设计学生选修课程系统.doc》由会员分享,可在线阅读,更多相关《算法与程序设计课程设计学生选修课程系统.doc(21页珍藏版)》请在三一办公上搜索。
1、课 程 设 计 报 告课程名称 算法与程序设计 课题名称 学生选修课程系统 专 业 信息与计算科学 班 级 1002班 学 号 姓 名 指导教师 2011年12 月 24 日湖 南 工 程 学 院课 程 设 计 任 务 书课程名称 算法与程序设计 课 题 学生选修课程系统 专业班级 信息与计算科学1002班 学生姓名 学 号 指导老师 审 批 任务书下达日期 2011 年 12 月 8日任务完成日期 2012 年 1 月 7日一、设计内容与设计要求1设计内容:对课程算法与程序设计中的相关内容进行综合设计或应用(具体课题题目见后面的供选题目)。题目1:学生选修课程系统(一)、课程设计题目:学生选
2、修课程系统(二)、目的与要求: 1、目的: (1)要求学生达到熟练掌握C+语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2、基本要求: (1)要求利用面向对象的方法以及C+的编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次; (4)在系统的设计中,至少要用到面向对象的一种机制。 3、创新要求: 在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。 4、写出设计说明书 (三、)设计方法和基本原理: 1、问题描述(功能要求): 假定有n门课程,每门课程有课程编号,课程
3、名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。试设计一选修课程系统,使之能提供以下功能:(1)系统以菜单方式工作(2)课程信息录入功能(课程信息用文件保存)输入(3)课程信息浏览功能输出(4)查询功能:(至少一种查询方式)算法 按学分查询 按课程性质查询(5)学生选修课程(可选项)2、问题的解决方案: 根据系统功能要求,可以将问题解决分为以下步骤: (1)分析系统中的各个实体之间的关系及其属性和行为; (2)根据问题描述,设计系统的类层次; (3)完成类层次中各个类的描述(包括属性和方法); (4)完成类中各个成员函数的定
4、义; (5)完成系统的应用模块; (6)功能调试; (7)完成系统总结报告以及系统使用说明书。2设计要求:l 课程设计报告正文内容(包括系统设计要求,设计思路,系统功能模块图,系统流程图,类的层次图(包括类成员列表),调试过程,关键程序代码,总结,参考书目等)。(一)需求分析系统设计目的与意义;系统功能需求(系统流程图);输入输出的要求;(二)总体设计系统功能分析; 系统功能模块划分与设计(系统功能模块图)。(三)详细设计数据库需求分析 ;数据库概念结构设计(ER图);数据库逻辑结构设计;类层次图(四)界面设计与各功能模块实现(五)系统调试调试问题出现的主要问题:编译语法错误及修改,重点是运行
5、逻辑问题修改和调整(六)使用说明及编程体会说明如何使用你编写的程序,详细列出每一步的操作步骤。(七)关键源程序(带注释)l 书写格式a要求用A4纸打印成册b正文格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。c正文的内容:正文总字数要求在3000字左右(不含程序原代码)。d封面格式如下页。l 考核方式指导老师负责验收程序的运行结果,并结合学生的工作态度、实际动手能力、创新精神和设计报告等进行综合考评,并按优秀、良好、中等、及格和不及格五个等级给出每位同学的课程设计成绩。具体考核标准包含以下几个部分:a平时出勤 (占10%)b系统需求分析、功能设计、数据结构设计及
6、程序总体结构合理与否(占10%)c程序能否完整、准确地运行,个人能否独立、熟练地调试程序(占40%)d设计报告(占30%)注意:不得抄袭他人的报告(或给他人抄袭),一旦发现,成绩为零分。e独立完成情况(占10%)。l 课程验收要求a判定算法设计的合理性,运行相关程序,获得正确的数值结果。b回答有关问题。c提交课程设计报告。d提交软盘(源程序、设计报告文档)。e依内容的创新程度,完善程序情况及对程序讲解情况打分。三、 教材及参考书 李春葆等著, C+ 语言程序设计题典,清华大学出版社;谭浩强著,C+面向对象程序设计,清华大学出版社;宛延闿编著,C+语言与面向对象程序设计,清华大学出版社,1998
7、;郑阿奇主编,Visual C+实用教程,电子工业出版社,2000;谭浩强著,C语言程序设计(第三版),清华大学出版社;Brian Overland 著,董梁等译.C+语言命令详解(第二版).北京:电子工业出版社四、进度安排班级: 信息与计算科学:1001、1002、10031、 主讲教师:王祝君2、 辅导教师:王祝君、聂 存 云3、 时间安排:第 16-17 周 星期二 8时:00分11时:30分 星期二 14时:00分17时:30分 星期六 8时:30分11时:30分 星期六 14时:30分17时:30分目录第一章 课题简述11设计内容及设计要求312系统需求分析7第二章 设计简介及系统大
8、纲21设计简介211学生端设计8212管理端设计822系统流程9第二章 详细设计31数据库需求分析932数据库概念结构设计(ER图)1033数据库逻辑结构设计1034类层次图1035界面设计与各功能模块的实现11第三章 系统调试41调试及修改14总结14附录 完整程序代码15数理系课程设计评分表.25第一章 课题简述系统需求分析当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。
9、计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好选课信息而设计的。学校作为一种信息资源的集散地,学生和课程繁多,包含很多的信息数据的管理,现今,有很多的学校都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于选课情况的统计和查询等往往采用对课程的人工检查进行,对学生的选课权限、以及选课代号等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管学校都有计算机,但是尚未用于信息管理,没有发挥
10、它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。学校采取手工方式对学生选课情况进行人工管理,由于信息比较多,选课信息的管理工作混乱而又复杂;一般选课情况是记录在文件上,课程的数目和代号也记录在文件中,学校的工作人员也只是当时对它比较清楚,时间长了,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的选课进行更改就更加困难了。基于这些问题,我认为有必要建立一个学生选课系统。本系统是针对高校学生的选修课程而设计,通过本系统高校学生可以很方便地进行自由选课。第二章 设计简介及系统大纲2.1设计简
11、介本系统的实现,全部采用C+文件输入输出流,同时还借鉴了部分C语言的知识以及网上查阅的资料,系统设计主要分为学生端设计和管理端设计。2.1.1 学生端的设计1-浏览课程信息void Course:CourseInfoOutPut()2-查询课程信息void Course:Search()void Course:SearchByCredithourvoid Course:SearchByCourseKind(string strtemp)void Course:SearchByCourseName3-退出系统;2.1.2 管理端的设计1-录入课程信息void Course:CourseInfoI
12、nput() 2-浏览课程信息void Course:CourseInfoOutPut()3-查询课程信息void Course:Search()void Course:SearchByCredithourvoid Course:SearchByCourseKind(string strtemp)void Course:SearchByCourseName4-退出系统2.2 系统流程主 菜 单浏览课程查询课程管理员菜单录入课程退出系统浏览所有课程查询课程信息学生菜单退出系统图22系统流程图第三章 详细设计(1) 数据库需求分析该程序主要包含一个Class类和一个main()函数。其中Class
13、类中有Input(),OutPut(),Search(),SearchByscore(float),SearchByKind(string),SearchByNmae(string)函数来实现各功能。像在Input()信息输入函数中,ofstream outfile 创建一个文件输出流对象语句就要用到系统库函数fstream,而conio.h则是 Console (键盘和屏幕) 输出输入函数的头文件,con - Console,io - input,output。程序中各功能函数如SearchBy (float)按分数查询,SearchByKind(string)按性质查询,和SearchBy
14、Name(string)按课程名称,显然是三个独立的函数,但其实现过程很像似。(2) 数据库概念结构设计(ER图)课程授课学时时编号名称上级学时性质学分时 时总学分开课学期输入入输出显示查找性质(3) 类层次图主菜单 学生选修课程系统Course类Main函数Input()Output() SearchByscore()SearchByKind()管理员程系统4界面设计与各功能模块实现(1)、功能实现的文件模块: 在主函数中设置目录显示。设计一个友好、漂亮的界面,通过switch语句进行选择进入相应的功能模块,建立一个class类的对象a,用对象名调用class类的功能函数,恰当的使用清屏函数
15、。通过对象a调用相应的成员函数,如a.Input()、a.OutPut()、a.Search()等等,这些公有函数成员就是这个系统要求设计的功能模块。各个功能函数的具体实现如下: 、 录入函数模块:首先,利用switch语句鉴别从键盘上输入的数字,绕后分别执行相应的void Mangers()和void Students()函数,分别显示不同的登录界面。然后创建一个文件输出流对象outfile,打开文件,判断文件是否存在。通过while设一个无限循环,当给出指定条件时退出。在循环中,调用cout函数来提示用户输入相应的信息,如课程编号、名称、课程性质、总学时、授课学时、实验或上机学时、学分、开
16、课学期等等。将需要的课程输入完毕之后,可根据提示再输入“q”,即可返回主菜单,重新进行功能的选择。该步骤界面设计操作图如下:(输入“1”,根据提示输入课程信息:)(输入“2”,根据提示输入课程信息:)显示(浏览)函数模块:该函数首先创建了输入流文件对象infile,使用语句infile.open(file),然后定义一个string类型的二维数组,用来保存从文本内读取的信息,用for循环保证保存不止一门课程的信息。最后,cout输出显示所有保存的信息。操作界面图如下:查找功能,即按学分查找,按课程性质和按课程名称查找,具体的实现如下:按课程性质查找:创建输入流文件对象infile,然后定义一个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 程序设计 课程设计 学生 选修 课程 系统
链接地址:https://www.31ppt.com/p-2386036.html