ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:294.93KB ,
资源ID:22276263      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22276263.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++程序设计学生选课系统设计Word文档下载推荐.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C++程序设计学生选课系统设计Word文档下载推荐.docx

1、5.学生选修课程。应用程序功能的详细说明:1.首先根据设计要求,我定义了三个类: Class类,Control类,Menu类。Class类用来存放一系列课程的信息,以及一些获取信息的get函数;Control类是用来定义选课类的操作属性,从Control类里面来判断并实现用户所需要执行的动作;Menu类定义了菜单的操作,其中包括显示菜单,显示提示信息,获取用户从键盘初输入的信息并执行。2.对Class类的定义,首先我定义了一系列的设置相关课程信息的公有函数,用来将输入的内容传给私有函数,还定义了一些常函数,旨在于防止数据被其它函数调用时发生改变,同时将学分定义为浮点型,范围在010之间。3.对

2、Menu类的定义,我定义了一个获取键盘输入的函数getInput(),用于获取数据,并且还定义了界面友好的显示目录函数,使得用户进行操作更加方便,以及定义了一系列的显示提示信息函数,之所以将这些函数独立分开,是为了在今后的修改中更加清楚。4.对Control类的定义,因为其目的是用于判断并实现用户所要执行的操作,是学生系统的核心。一切从start()函数开始,通过switch语句判断按下了哪个按键,然后执行对应的操作,在文件录入这一方面,我定义了一个initIalization()函数,首先建立一个输入流,打开文件,将用户录入的课程信息放入到变量中,再由变量放入文件中。其中的公有函数即课程设计

3、所要求的功能部分:添加选课,浏览选课,查询选课,保存文件。私有函数我用了链表,classList,用来一条一条记录课程信息,方便添加浏览以及查询。两种查询方法都运用了迭代器的功能,迭代器的作用相当于指针,从链表的头部一个个指向链表的末尾,用于浏览以及查询部分。最后把迭代器指向的对象每个字段写入文件中,文件名定义为classSave,保存到程序的当前目录下。5.最后主函数的实现,代码十分简单,先定义一个Control类的对象,ControlClass,再通过controlClass.start()启动整个程序。实现过程:1.菜单界面 如图1图12.课程信息录入界面 如图2图23.课程信息浏览界面

4、 如图3图34按学分查询课程界面 如图4图45.按课程性质查询课程界面 如图5图56存储信息界面 如图6图6流程图:主 菜 单课 程 信 息 录 入课 程 信 息 浏 览根 据 学 分 查 询根据 课程信息 查询存 储 文 件第三章:结束语通过本次面向对象程序设计周,我对C+这门语言有了更深的了解,也巩固了我的C+方面的知识。在课程设计题目拿到后,我做了一系列的知识储备,并且详细复习了课本,但是真正开始写代码却发现自己缺乏一个系统的知识框架,导致很多时候不知道从哪下手,如何实现课程设计要求的函数功能。从这里我深深的感受到,课本上所学到的知识只是基础中的基础,要真正意义上提升自己的水平,必须不断

5、地练习,所谓熟能生巧,在此次课程设计中,我运用了一些平时上课我忽略的一些知识,例如链表,并且在老师的指导下学会了使用迭代器,了解了其用处类似于指针。在这次课程设计中,我还深切感受到了要用面向对象的思想去分析需求,实现需求,还要设身处地贴近用户实际使用。同时,我能顺利完成这次课程设计,离不开老师的指导与同学的帮助。总之,我会在今后其他语言中的学习中,更加努力,在实践方面同样也会更加花功夫,以取得更好成绩。附:源代码#include liststringiteratoralgorithmfstreamusing namespace std;class Class /定义了课程类的一些属性publi

6、c: void setClassNum(string classNumTemp); void setClassName(string classNameTemp); void setClassProperties(string classPropertiesTemp); void setTotalClassNumber(int totalClassNumberTemp); void setCurrentClassNumber(int currentClassNumber); void setExpClassNumber(int expClassNumberTemp); void setCred

7、it(double credit); void setRightTerm(string rightTermTemp); string getClassNum() const; string getClassName() const; string getClassProperties() const; int getTotalClassNumber() const; int getCurrentClassNumber() const; int getExpClassNumber() const; double getCredit() const; string getRightTerm() c

8、onst;private: string classNum; string className; string classProperties; int totalClassNumber; int currentClassNumber; int expClassNumber; double credit; string rightTerm;void Class:setClassNum(string classNumTemp) this-classNum = classNumTemp;setClassName(string classNameTemp)className = classNameT

9、emp;setClassProperties(string classPropertiesTemp)classProperties = classPropertiesTemp;setTotalClassNumber(int totalClassNumberTemp)totalClassNumber = totalClassNumberTemp;setCurrentClassNumber(int currentClassNumber)currentClassNumber = currentClassNumber;setExpClassNumber(int expClassNumberTemp)e

10、xpClassNumber = expClassNumberTemp;setCredit(double credit)credit = credit;setRightTerm(string rightTermTemp)rightTerm = rightTermTemp;string Class:getClassNum() const/设置为常函数防止数据改变 return this-classNum;getClassName() constclassName;getClassProperties() constclassProperties;int Class:getTotalClassNum

11、ber() consttotalClassNumber;getCurrentClassNumber() constcurrentClassNumber;getExpClassNumber() constexpClassNumber;double Class:getCredit() constcredit;getRightTerm() constrightTerm;class Menu /定义了菜单类的操作 char static getInput() /获取输入函数 char key = cin.get(); return key; void static showMenu() cout 学生

12、选课管理系统 endl; * cout 1 课程信息录入 2 课程信息浏览功能 3 根据学分查询 4 按课程性质查询 5 存储信息 请输入操作对应的序号 void static clearScreen() system(cls); void static pauseScreen()pause void static showAddClass()请输入要添加的课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息 void static showBrowseClass()所有课程的信息为 void static showSearchByCredit()按照学分查询的

13、结果为: void static showSearchByClassProperties()按照课程性质查询的结果为: void static showAddClassNum()n请输入课程编号 void static showAddClassName()请输入课程名称 void static showAddClassProperties()请输入课程性质 void static showAddTotalClassNumber()请输入总学时 void static showAddCurrentClassNumber()请输入授课学时 void static showAddExpClassNu

14、mber()请输入实验或上机学时 void static showAddCredit()请输入学分 void static showAddRightTerm()请输入开课学期 void static showLoadingSaving()正在存储数据 void static showSuccessedSaving()数据存储完毕 void static showEachClassInfo(Class classTemp)课程编号 classTemp.getClassNum() ; 课程名称 classTemp.getClassName() ; 课程性质 classTemp.getClassPr

15、operties() ; 总学时 classTemp.getTotalClassNumber()endl ;授课学时 classTemp.getCurrentClassNumber() ; 实验或上机学时 classTemp.getExpClassNumber() ; 学分 classTemp.getCredit() ; 开课学期 classTemp.getRightTerm()addClass(); cin.get(); break;2showBrowseClass();showAllClass();pauseScreen();3searchByCredit();4searchByClass

16、Properties();5showLoadingSaving(); if (this-saveClass() Menu:showSuccessedSaving(); default: void initIalization() ifstream ifs;/文件输入流ifs 相当于建立一个文件 ifs.open(classSave.txt,ios_base:in); if (!ifs) return; Class classTemp;/class 类的一个对象 classTemp if (ifs.is_open()/系统内置函数 判断文件是否打开 string classNum(/初始化 st

17、ring className( string classProperties( int totalClassNumber(0); int currentClassNumber(0); int expClassNumber(0); double credit(0.0); string rightTerm( while(!ifs.eof() ifs classNum className classProperties totalClassNumber currentClassNumber expClassNumber credit rightTerm;/从文件读取的内容放到对应的变量里面 clas

18、sTemp.setClassNum(classNum); classTemp.setClassName(className); classTemp.setClassProperties(classProperties); classTemp.setTotalClassNumber(totalClassNumber); classTemp.setCurrentClassNumber(currentClassNumber); classTemp.setExpClassNumber(expClassNumber); classTemp.setCredit(credit); classTemp.set

19、RightTerm(rightTerm); classList.push_back(classTemp);/在末尾添加一个变量 ifs.close();void addClass() /添加例如选课等操作 string classNum( string className( string classProperties( int totalClassNumber(0); int currentClassNumber(0); int expClassNumber(0); double credit(0.0); string rightTerm( Menu:showAddClassNum(); c

20、in classNum; classTemp.setClassNum(classNum);showAddClassName(); className; classTemp.setClassName(className);showAddClassProperties(); classProperties; classTemp.setClassProperties(classProperties);showAddTotalClassNumber(); totalClassNumber; classTemp.setTotalClassNumber(totalClassNumber);showAddCurrentClassNumber(); currentClassNumber; classTemp.setCurrentClassNumber(currentClassNumber);showAddExpClassNumber(); expClassNumber; classTemp.setExpClassNumber(expClassNumber);showAddCredit(); credit; classTemp.setCredit(credit);showAddRightTerm(); classTemp.setRightTerm(rightTerm);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1