C++课程设计——学生选修课程系统.doc

上传人:仙*** 文档编号:32880205 上传时间:2021-10-16 格式:DOC 页数:29 大小:247KB
收藏 版权申诉 举报 下载
C++课程设计——学生选修课程系统.doc_第1页
第1页 / 共29页
C++课程设计——学生选修课程系统.doc_第2页
第2页 / 共29页
C++课程设计——学生选修课程系统.doc_第3页
第3页 / 共29页
资源描述:

《C++课程设计——学生选修课程系统.doc》由会员分享,可在线阅读,更多相关《C++课程设计——学生选修课程系统.doc(29页珍藏版)》请在装配图网上搜索。

1、课 程 设 计 报 告课程名称 面向对象程序设计课题名称 学生选修课程系统 专 业 班 级 学 号 姓 名 指导教师 20年 月 日课 程 设 计 任 务 书课程名称 面向对象程序设计 课 题 学生选修课程系统 专业班级 学生姓名 学 号 指导老师 审 批 任务书下达日期 20年 月日任务完成日期 20年 月日 面向对象程序设计课程设计任务书授课班级:一、课程设计报告规范(包括系统设计要求,设计思路,系统功能模块图,系统流程图,类的层次图(包括类成员列表),调试过程,关键程序代码,总结,参考书目等)。(一)需求分析系统设计目的与意义系统功能需求(系统流程图);输入输出的要求;(二)总体设计系统

2、功能分析;系统功能模块划分与设计(系统功能模块图)。(三)详细设计数据库需求分析数据库概念结构设计(ER图);数据库逻辑结构设计。类层次图(四)界面设计与各功能模块实现(五)系统调试调试问题出现的主要问题:编译语法错误及修改,重点是运行逻辑问题修改和调整(六)使用说明及编程体会说明如何使用你编写的程序,详细列出每一步的操作步骤。(七)关键源程序(带注释)二、书写格式1、设计报告要求用A4纸打印成册;2、标题为:黑体三号,正文为:宋体五号。三、答辩与评分标准: 1、完成基本功能:40分; 2、设计报告及使用说明书:40分; 3、设置错误或者按照要求改变结果:10分;4、回答问题:10分。四、 教

3、材及参考书 朱战立等著, C+面向对象程序设计,人民邮电出版社;郑莉著, C+ 语言程序设计(含实验指导书)。 清华大学出版社 ( 结构化程序设计部分 ) 钱能主编 ,C+ 程序设计教程,清华大学出版社, 2000.11 戴锋编著, Visual C+ 程序设计基础 , 清华大学出版社 ,2001.4 吕日著, C+ 程序设计教程,清华大学出版社, C+ 大学教程,美国 Harvey M.Deitel 等 五、课程设计时间安排1、 班级:指导教师: 3、时间安排: 上机时间:十九周 周一下午 14:00-18:00 周二下午 14:00-18:00 周三上午 08:00-12:00附:选题方案

4、:所选题目根据学生学号确定,学号模6加1,即(学号%6+1)。如你的学号为17,则所选题目号为:17%6+16(题目6)。六、 设计项目:题目1:学生选修课程系统(一、)课程设计题目:学生选修课程系统(二)、目的与要求: 1、目的: (1)要求学生达到熟练掌握C+语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2、基本要求: (1)要求利用面向对象的方法以及C+的编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次; (4)在系统的设计中,至少要用到面向对象的一种机制。 3、创新要

5、求: 在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。 4、写出设计说明书 (三、)设计方法和基本原理: 1、问题描述(功能要求): 假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。试设计一选修课程系统,使之能提供以下功能:(1)系统以菜单方式工作(2)课程信息录入功能(课程信息用文件保存)输入(3)课程信息浏览功能输出(4)查询功能:(至少一种查询方式)算法 按学分查询 按课程性质查询(5)学生选修课程(可选项)2、问题的解决方案: 根据系统功能要求,可以将问题解决分

6、为以下步骤: (1)分析系统中的各个实体之间的关系及其属性和行为; (2)根据问题描述,设计系统的类层次; (3)完成类层次中各个类的描述(包括属性和方法); (4)完成类中各个成员函数的定义; (5)完成系统的应用模块; (6)功能调试; (7)完成系统总结报告以及系统使用说明书。题目2:通信录管理系统(一)课程设计题目:通信录管理系统(二)目的与要求: 1、目的: (1)要求学生达到熟练掌握C+语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2、基本要求: (1)要求利用面向对象的方法以及C+的

7、编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次; (3)在系统中至少要定义三个类,每个类中要有各自的属性和方法; (4)在系统的设计中,至少要用到面向对象的一种机制。 3、创新要求: 在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。 4、写出设计说明书 (三)设计方法和基本原理: 1、问题描述(功能要求): 用C+设计出模拟手机通信录管理系统,实现对手机中的通信录进行管理。 (一)功能要求(1)查看功能:选择此功能时,列出下列三类选择。A办公类B个人类C商务类,当选中某类时,显示出此类所有数据中的姓名和电话号码)(2)增加功能:能录入新数据(一个结点包括

8、:姓名、电话号码、分类(可选项有:A办公类B个人类C商务类)、电子邮件)。例如当录入了重复的姓名和电话号码时,则提示数据录入重复并取消录入;当通信录中超过15条信息时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号。(3)拔号功能:能显示出通信录中所有人的姓名,当选中某个姓名时,屏幕上模拟打字机的效果依次显示出此人的电话号码中的各个数字。(4)修改功能:选中某个人的姓名时,可对此人的相应数据进行修改。(5)删除功能:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号。(二)其它要求:(1)只能使用C+语言,源程序要有适当的注释,使程序容易阅读;

9、(2)至少采用文本菜单界面(如果能采用图形菜单界面更好);(3)建议使用结构和链表等数据结构;(4)学生可自动增加新功能模块(视情况可另外加分);(5)写出课程设计报告,具体要求见相关说明文档。2、问题的解决方案: 根据系统功能要求,可以将问题解决分为以下步骤: (1)分析系统中的各个实体之间的关系及其属性和行为; (2)根据问题描述,设计系统的类层次; (3)完成类层次中各个类的描述(包括属性和方法); (4)完成类中各个成员函数的定义; (5)完成系统的应用模块; (6)功能调试; (7)完成系统总结报告以及系统使用说明书。题目3: 高校学籍管理系统 (一)、课程设计题目: 高校学籍管理系

10、统 (二)、目的与要求:1、目的: (1)要求学生达到熟练掌握C+语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。2、基本要求: (1)要求利用面向对象的方法以及C+的编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次; 3、创新要求: 在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。4、写出设计说明书 (三)、设计方法和基本原理:1、功能要求 要求完成以下功能:1)能够从屏幕上读取一个学生的信息并将信息存入到数据文件中。2)能够将指定的信息从文件中删除。3)能够按

11、编号、姓名对学生的信息进行检索并将检索结果显示在屏幕上。4)可以统计全部学生的总成绩,及其在班上的排名。5)能够统计各科的平均成绩及及格率。6)要求有错误提示功能,例如性别只能输入男女,输入错误提示重新输入。7)如果检索不到相应的信息应提示用户。 2、问题的解决方案:根据系统功能要求,可以将问题解决分为以下步骤: a)写出需求分析(做什么) b)分析系统中的各个实体之间的关系及其属性和行为; c)根据问题描述,设计系统的类层次; d)完成类层次中各个类的描述(包括属性和方法); e)完成类中各个成员函数的定义; f)用户界面的设计 g)分析系统功能模块(系统流程图) h)代码编写 i)功能调试

12、; j)完成系统总结报告以及系统使用说明书。 题目4: 高校工资管理系统(一)、课程设计题目: 高校工资管理系统(二)、目的与要求:1、目的: (1)要求学生达到熟练掌握C+语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。2、基本要求: (1)要求利用面向对象的方法以及C+的编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次;(3)在系统中至少要定义四个类,每个类中要有各自的属性和方法;(3)在系统的设计中,至少要用到面向对象的一种机制。3、创新要求: 在基本要求达到后,可进行创新

13、设计,如根据查找结果进行修改的功能。4、写出设计说明书 (三)、设计方法和基本原理:1、功能要求 问题的描述(功能要求):现一高校有五类职工:教师,实验员,行政人员,教师兼职实验员,行政人员兼职教师。为了实现工资发放的自动功能,现要求编写程序来自动完成此功能。同时注意生成的相关数据结果以文件方式存放在硬盘中。程序应具备从键盘录入,文件的可继续录入,任意职工的工资查询(可由职工编号和职工姓名来实现),如若有职工由于工作调动,则可进行相对应的删除动作。相关信息:每一学期将学校职工的本学期任职情况及上学期工作的相关情况输入计算机,则本学期职工的月工资按程序处理后的结果发放,其中职工的工资计算方法如下

14、:其中工资的基本构成如下: 教师: 基本工资+课时费; 实验员: 基本工资+实验室补助; 行政人员: 基本工资+行政补贴; 教师兼职实验员: 基本工资+课时费+实验室补助; 行政人员兼职教师:基本工资+行政补贴+课时费;其中:(1)课时费:教师每一学期的基本工作量为120,实验员每学期基本工作量为70,行政人员没有基本工作量,每节课时费为20元;课时费=(上学期工作量-基本工作量)*20; 注意:如果上学期基本工作量没完成,则其(上学期工作量-基本工作量)*20为负值。 (2)基本工资:教师800元,实验员650元,行政人员750元。 (3)行政补贴:250元。 (4)实验室补助:150元。2

15、、问题的解决方案:根据系统功能要求,可以将问题解决分为以下步骤: a) 写出需求分析(该程序要实现什么什么样的功能) b)分析系统中的各个实体之间的关系及其属性和行为; c)根据问题描述,设计系统的类层次; d)完成类层次中各个类的描述(包括属性和方法); e)完成类中各个成员函数的定义; f)用户界面的设计 g)分析系统功能模块(系统流程图) h)代码编写 i)功能调试; j)完成系统总结报告以及系统使用说明书。 题目5:公司人员管理系统 (一)、课程设计题目:完成公司职员管理系统 (二)、目的与要求:1、目的: (1)要求学生达到熟练掌握C+语言的基本知识和技能; (2)基本掌握面向对象程

16、序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2、基本要求: (1)要求利用面向对象的方法以及C+的编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次; (3)在系统中至少要定义四个类,每个类中要有各自的属性和方法; 3、创新要求: 在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能及设计出比较友好的界面等。 (三)、设计方法和基本原理: 1、问题描述(功能要求): 某小型公司,主要有四类人员:经理、兼职技术人员、销售经理和兼职推销员。现在,需要存储这些人员的姓名、编号、级别、当月薪水,计算月薪总额并显示全部信息

17、。 要求: 1)其中,人员编号在生成人员信息时同时生成,每输入一个人员信息编号顺序加1。 2)程序对所有人员有提升级别的功能 3)月薪的计算方法是:经理拿固定月薪,兼职技术人员按工作小时数领取月薪,兼职推销员的报酬按该推销员当月销售额提成 ,销售经理既拿固定月薪也领取销售提成。 4)能按姓名或者编号显示、查找、增加、删除和保存各类人员的信息 2、问题的解决方案: 根据系统功能要求,可以将问题解决分为以下步骤: (1)分析系统中的各个实体之间的关系及其属性和行为;(2)根据问题描述,设计系统的类层次; (3)完成类层次中各个类的描述(包括属性和方法); (4)完成类中各个成员函数的定义; (5)

18、完成系统的应用模块; (6)功能调试; (7)完成系统总结报告以及系统使用说明书。 题目6: 高校人事管理系统(一)、课程设计题目: 高校人事管理系统 (二)、目的与要求:1、目的: (1)要求学生达到熟练掌握C+语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2、基本要求: (1)要求利用面向对象的方法以及C+的编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次; (3)在系统设计中要分析和定义各个类,每个类中要有各自的属性和方法; (4)在系统的设计中,要求运用面向对象的机制

19、(继承、派生及多态性)来实现系统功能。 3、创新要求: 在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能及设计出比较友好的界面等。 4、写出设计说明书(三)、设计方法和基本原理: 1、问题描述(功能要求): 某高校,主要人员有:在职人员(行政人员、教师、一般员工)、退休人员、返聘人员和临时工。现在,需要存储这些人员的人事档案信息:编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间。要求: 1) 添加删除功能:能根据学院人事的变动情况,添加删除记录;2) 查询功能:能根据编号和姓名进行查询;3) 编辑功能(高级):根据查询对相应的记录进行修改,并存储;4)

20、统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数);5) 保存功能:能对输入的数据进行相应的存储,要求重载插入和提取符以完成数据的保存和打开。6) 人员编号在生成人员信息时同时生成,每输入一个人员信息编号顺序加1。 2、问题的解决方案: 根据系统功能要求,可以将问题解决分为以下步骤: (1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系包括属性和行为; (3)根据问题描述,设计系统的类层次; (4)完成类层次中各个类的描述(包括属性和方法); (5)完成类中各个成员函数的定义; (6)完成系统的应用模

21、块; (7)功能调试; (8)完成系统总结报告以及系统使用说明书。 目录1系统需求分析142总体设计153详细设计164界面设计与各功能模块实现195 系统调试236 实验心得体会247附:源程序251系统需求分析(1)、本系统是针对高校学生的选修课程而设计,通过本系统高校学生可以很方便地进行自由选课。主要的问题描述是(功能要求):n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。(2)、主要要求实现的功能如下: 课程信息录入功能:能根据提示将各课程的相关信息进行输入并保存; 课程信息浏览功能

22、:能将已经录入并保存的信息进行浏览;查询功能:可根据不同的查询方式查询相应的课程信息。其中查询方式有按学分查询和按课程性质查询两种;系统流程图如下:输入与功能对应的的数字判断有否开始执行相应功能结束是否(3)、输入输出要求: 系统以菜单方式工作。用户根据每一个功能模块输入相应内容,然后进行相应的操作。如需进行其他操作,可返回主菜单。输出的内容要有一个良好的界面,使用户看清楚明白。2总体设计(1)、系统功能分析本系统主要由一个Class类及其五个成员函数组成。课题所要求的功能由各个函数分别得以实现。首先,在Class类内定义了一些成员变量,用来保存课程编号,课程名称,课程性质,总学时,授课学时,

23、实验或上机学时,学分,开课学期等信息,还对它的成员变量进行了声明,如:然后,在类外,通过作用域运算符将类内声明的成员函数定义,以及进行相应的操作,以实现相应的功能。主要包括功能要求中的五大功能,即信息输入、信息浏览、按学分查询课程、按课程性质查询课程等。最后,在主函数中设置目录显示。用switch瓜分不同的功能选项。系统根据用户输入的符号,调用相应的成员函数,完成功能的实现。(2)、各个模块之间的关系如下图:学生选修课程系统设计Course类Main函数Input()Output() SearchByscore()SearchByKind()3详细设计(1) 数据库需求分析该程序主要包含一个C

24、lass类和一个main()函数。其中Class类中有Input(),OutPut(),Search(),SearchByscore(float),SearchByKind(string)函数来实现各功能。像在Input()信息输入函数中,ofstream outfile 创建一个文件输出流对象语句就要用到系统库函数fstream,而conio.h则是 Console (键盘和屏幕) 输出输入函数的头文件,con - Console,io - input,output。程序中各功能函数如SearchBy (float)按分数查询和 SearchByKind(string)按性质查询,显然是两个

25、独立的函数,但其实现过程很像似。(2) 数据库概念结构设计(ER图)课程授课学时时编号名称上级学时性质学分时 时总学分开课学期输入入输出显示查找(3) 数据库逻辑结构设计(4) 类层次图课程课程编号课程名字课程性质总学时授课学时实验或上机学时 学分开课学期课程信息录入功能课程信息浏览功能查询功能按学分查询按课程性质查询学生选修课程4界面设计与各功能模块实现(1)、功能实现的文件模块: 在主函数中设置目录显示。设计一个友好、漂亮的界面,通过switch语句进行选择进入相应的功能模块,建立一个class类的对象a,用对象名调用class类的功能函数,恰当的使用清屏函数。通过对象a调用相应的成员函数

26、,如a.Input()、a.OutPut()、a.Search()等等,这些公有函数成员就是这个系统要求设计的功能模块。各个功能函数的具体实现如下: 、 录入函数模块:首先,创建一个文件输出流对象outfile,打开文件,判断文件是否存在。通过while设一个无限循环,当给出指定条件时退出。在循环中,调用cout函数来提示用户输入相应的信息,如课程编号、名称、课程性质、总学时、授课学时、实验或上机学时、学分、开课学期等等。将需要的课程输入完毕之后,可根据提示再输入“f”,即可返回主菜单,重新进行功能的选择。该步骤界面设计操作图如下:(输入“1”,根据提示输入课程信息:)显示(浏览)函数模块:该

27、函数首先创建了输入流文件对象infile,使用语句infile.open(file),然后定义一个string类型的二维数组,用来保存从文本内读取的信息,用for循环保证保存不止一门课程的信息。最后,cout输出显示所有保存的信息。操作界面图如下:查找功能,即按学分查找和按课程性质查找,具体的实现如下:按课程性质查找:创建输入流文件对象infile,然后定义一个string类型的二维数组,用来保存从文本内读取的信息,比较用户输入的字符和保存的信息中那些课程的性质相对应,将相应的课程信息进行输出显示,界面设计操作图如下:按课程性质查找:原理同上,如果用户输入的学分与所保存的信息想对应,则将对应的

28、课程信息输出显示。输入“0”可返回主菜单。具体程序见源程序清单。该步骤界面显示如下:5 系统调试(1)、 在查找功能函数当中,刚开始我输入的课程性质用数字代替,而后面我的查找函数在进行输入比较时是用汉字进行比较的,这样就导致了查找错误,刚开始我找了好久也找不出来,后来还是在同学的帮助下终于找到了这个错误,并改正。输出了正确的结果。(2)、在class类当中我刚开始把成员变量如课程性质只简单的设置为字符型char,当在类外进行初始化时出现了错误,因为把要获得字符串的函数只简单的设置为字符型是不行的,它的返回得不到一个字符串,要把其设置string类型或者数组类型,这样就可以通过编译了。 (3)、

29、进行程序调试时,事先函数中没有用到清屏,导致界面繁琐不清晰。后来在头文件中加了#include,又在程序中适当地添加了system(cls)语句,这才使得界面友好清晰。6 实验心得体会 心得 连续三天的课程设计终于要接近尾声了。虽然接下来还要面临紧张的期末考试,但总算可以稍微松一口气。说实话,每次做课程设计、写实验报告,我都好上火长痘好几天。本来因为上学期的课程设计没有认真做,在网上下载了一篇类似的题目,自己作了一些修改,便跑去答辩,被老师当众批评,心里羞愧得要死!心里暗下决心,这次试验报告一定要自己写,不管写得多差,只要自己很努力地认真在写就好了。这次题目初看不是很难,一个类,一些成员变量,

30、几个成员函数,将它们组合起来就OK了。可是越写下去,便觉得处处是难题。到最后感觉自己像处在一个大迷宫里,四周到处是出口,走近了一看,却发现那只是上面画着门的墙壁我只会定义一个类和它的成员变量以及成员函数,但要求是要有N门课程呢,还要能显示你所输入的课程信息,还要按要求将分类不同的信息挑选出来天哪,这可怎么办呢?看来,要将自己输入的信息有记录地保存起来就好了。可是老师没教这个呀(后来才知道相关内容在C语言教科书上有,上学期的课程设计也有涉及到,但由于上次的没有认真做,所以对该知识点没有印象)。还跑去图书馆找资料,找到了相关内容,可是,答辩的时间也逼近了第三天上午进实验室,问同学,发现已经有人将这

31、个题目完整地做了出来,我不得不感叹人家的才思敏捷。也难怪哦,人家是脚踏实地,C语言的基础打得好,谁让我上学期玩去了呢?呵老师在实验室里鼓励大家积极答辩,我盯着自己的作品,这个连“半成品”都谈不上的程序,这能去答辩吗?老师也没要求必须答辩,要不,直接copy他们的程序写了实验报告交差完事了!但这不跟上学期一样了么?我这近三天的寝食难安不都白熬了么?去答辩吧,就算给自己的付出一个结果吧老师很仁慈,我的那个程序对于题目要求根本没什么意义,也就是说我根本没完成任务。估计老师是看我熬了这三天太可怜了,勉强让我过了。实验做完了,心情还是有点沉重,但没上次那样难过了。毕竟自己写的,通过思考,查资料,还是学到

32、了不少东西的,对C语言也进行了巩固。我要尽快将所缺的知识填补上来,然后再下次的课程设计中打个漂亮的胜仗!7附:源程序#include#include#include#include#includeusing namespace std;class Courseprivate:int courseNumber;string courseName;string courseKind;int coursePeriod;int schoolPeriod;int experimentPeriod;float credithour;string courseterm;public:void CourseI

33、nfoInput(); /信息输入void CourseInfoOutPut(); /信息输出void Search(); /查找信息void SearchByCredithour(float); /按照学分查找void SearchByCourseKind(string); /按照课程;类型查找;const char* coursefile=C:course.txt; /将课程信息定位到C盘下的course.txt中!void Course:CourseInfoInput() /课程信息的录入ofstream outcoursefile; /创建一个文件输出流对象outcoursefile.

34、open(coursefile); /打开文件if(!outcoursefile) /判断文件是否存在cout 文件打开失败! endl;return ;while(1) /无限循环,给出指定条件退出cout *课程信息*n;cout 按任意键开始信息录入 n;cout 输入q退出 n;if(getch()=q)break;coutcourseNumber;coutcourseName;coutcourseKind;coutcoursePeriod;coutschoolPeriod;coutexperimentPeriod;coutcredithour; coutcourseterm;outc

35、oursefilecourseNumber courseName courseKind coursePeriod schoolPeriod experimentPeriod credithour endl;outcoursefile.close(); /关闭输出流文件void Course:CourseInfoOutPut() /课程信息的浏览ifstream incoursefile; /创建输入流文件对象incoursefile.open(coursefile); /打开if(!incoursefile) /判断文件存在cout 文件读取失败;return ;cout 课程编号 | 课程名

36、称 | 课程性质 | 总学时 | 授课学时 | 实验上机学时 | 学分|开课学期n;string arrcourse100100; /定义一个string类型的二维数组,用来保存从文本内读取的信息int line=0;memset(arrcourse,0,sizeof(arrcourse); /将数组清空while(!incoursefile.eof() /文件不为空的条件设置 for(int j=0;jarrcourselinej;line+; for(int i=0;iline;i+)for(int j=0;j7;j+)cout arrcourseij t;cout endl;incour

37、sefile.close();void Course:SearchByCredithour(float tempch)ifstream incoursefile; /创建输入流文件对象incoursefile.open(coursefile); /打开if(!incoursefile) /判断文件存在cout arrcourseline0arrcourseline1arrcourseline2arrcourseline3arrcourseline4arrcourseline5arrcourseline6; /文件流读取数据line+;cout 课程编号 | 课程名称 | 课程性质 | 总学时

38、| 授课学时 | 实验上机学时 | 学分|开课学期n;for(int i=0;iline;i+)if(atof(arrcoursei6.c_str()=tempch) /比较cout arrcoursei0 t arrcoursei1 t arrcoursei2 t arrcoursei3 t arrcoursei4 t arrcoursei5 t arrcoursei6n- endl;cout nn;incoursefile.close();void Course:SearchByCourseKind(string strtemp)/课程类型查询ifstream incoursefile;

39、/创建输入流文件对象incoursefile.open(coursefile); /打开if(!incoursefile) /判断文件存在cout arrcourseline0arrcourseline1arrcourseline2arrcourseline3arrcourseline4arrcourseline5arrcourseline6;line+;cout 课程编号 | 课程名称 | 课程性质 | 总学时 | 授课学时 | 实验上机学时 | 学分|开课学期n;for(int i=0;iline;i+)if(arrcoursei2=strtemp)cout arrcoursei0 t a

40、rrcoursei1 t arrcoursei2t arrcoursei3 t arrcoursei4 t arrcoursei5 tarrcoursei6n- endl;cout nn;void Course:Search()while(1)cout 选择查询方式: endl;cout (1).按课程类型查询 endl;cout (2).按学分查询 endl;cout (0).返回i;switch(i)case 1:cout strtmp;SearchByCourseKind(strtmp);break;case 2:cout ftemp;SearchByCredithour(ftemp);

41、break;if(i=0)break;int main()Course Excourse;while(1)cout *n;cout * 学生选课系统 *n;cout * 请选择操作 *n;cout * (1).录入课程信息 *n;cout * (2).浏览课程信息 *n;cout * (3).查询课程信息 *n;cout * (0).退出系统 *n;cout *;cout i;switch(i)case 1:Excourse.CourseInfoInput();break;case 2:Excourse.CourseInfoOutPut();break;case 3:Excourse.Search();break;case 0:exit(0);return 1;课程设计评分表课题名称: 项 目评 价设计方案的合理性与创造性设计与调试结果设计说明书的质量答辩陈述与回答问题情况课程设计周表现情况综合成绩 教师签名: 日 期:

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


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