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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、面向对象程序设计课程设计目的本课程设计是在学习面向对象基本理论之后的实践教学环节。 该实践教学是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技 巧。要求学生在设计中逐步提高程序设计能力,培养科学的软件工作方法。学生通过课 程设计在下述各方面得到锻炼:1.能根据实际问题的具体情况,结合面向对象的基本理论和基本技巧,正确分析问题,并能设计出解决问题的有效算法与程序。2.提高程序设计和调试能力。学生通过上机实习,验证自己设计的算法和程序的正确性。学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改,进一步提高程序设计水平。第二章:算法分析课程设计标题: 学生

2、选课系统要求: 假定有 n 门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时, 学分,开课学期等信息, 学生可按要求(如总学分不得少于 10) 自由选课。试设计一选修课程系统,使之能提供以下功能: 1.系统以菜单方式工作; 2. 课程信息录入功能(课程信息用文件保存) ;3.课程信息浏览功能; 4.查询功能(至少一种查询方式:按学分查询、按课程性质查询) ; 5.学生选修课程。应用程序功能的详细说明:1.首先根据设计要求,我定义了三个类: Class 类, Control 类, Menu 类。Class 类用来存放一系列课程的信息,以及一些获取信息的 get 函

3、数; Control 类是用来定义选课类的操作属性,从 Control 类里面来判断并实现用户所需要执行的动作; Menu 类定义了菜单的操作,其中包括显示菜单,显示提示信息,获取用户从键盘初输入的信息并执行。2.对 Class 类的定义,首先我定义了一系列的设置相关课程信息的公有函数,用来将输入的内容传给私有函数,还定义了一些常函数,旨在于防止数据被其它函数调用时发生改变,同时将学分定义为浮点型,范围在 010 之间。3.对 Menu 类的定义,我定义了一个获取键盘输入的函数 getInput(),用于获取数据, 并且还定义了界面友好的显示目录函数,使得用户进行操作更加方便,以及定义了一系列

4、的显示提示信息函数,之所以将这些函数独立分开,是为了在今后的修改中更加清楚。4.对 Control 类的定义,因为其目的是用于判断并实现用户所要执行的操作,是学生 系统的核心。一切从 start()函数开始,通过 switch 语句判断按下了哪个按键,然后执行对应的操作,在文件录入这一方面,我定义了一个 initIalization() 函数,首先建立一个输入流,打开文件,将用户录入的课程信息放入到变量中,再由变量放入文件中。其中的公有函数即课程设计所要求的功能部分:添加选课,浏览选课,查询 选课,保存文件。私有函数我用了链表, classList,用来一条一条记录课程信息,方便添加浏览以及查

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

6、 6图 6课根程据信息分录浏查入览询第三章:结束语通过本次面向对象程序设计周,我对 C+这门语言有了更深的了解,也巩固了我的 C+ 方面的知识。在课程设计题目拿到后, 我做了一系列的知识储备, 并且详细复习了课本, 但是真正开始写代码却发现自己缺乏一个系统的知识框架, 导致很多时候不知道从哪下 手,如何实现课程设计要求的函数功能。从这里我深深的感受到,课本上所学到的知识只是基础中的基础,要真正意义上提升自己的水平,必须不断地练习,所谓熟能生巧, 在此次课程设计中,我运用了一些平时上课我忽略的一些知识,例如链表,并且在老师的指导下学会了使用迭代器,了解了其用处类似于指针。在这次课程设计中,我还深

7、切感受到了要用面向对象的思想去分析需求, 实现需求,还要设身处地贴近用户实际使用。同时,我能顺利完成这次课程设计,离不开老师的指导与同学的帮助。总之,我会在今后其他语言中的学习中, 更加努力, 在实践方面同样也会更加花功夫, 以取得更好成绩。附:源代码#include #include stringiteratoralgorithmfstream using namespace std;class Class/ 定义了课程类的一些属性public:void setClassNum(string classNumTemp); void setClassName(string classNameT

8、emp);void setClassProperties(string classPropertiesTemp);void setTotalClassNumber(int totalClassNumberTemp); void setCurrentClassNumber(int currentClassNumber); void setExpClassNumber(int expClassNumberTemp); void setCredit(double credit);void setRightTerm(string rightTermTemp);string getClassNum()

9、const; string getClassName() const; string getClassProperties() const; int getTotalClassNumber() const;int getCurrentClassNumber() const; int getExpClassNumber() const; double getCredit() const;string getRightTerm() const;private:string classNum; string className; string classProperties; int totalCl

10、assNumber;int currentClassNumber; int expClassNumber; double credit;string rightTerm;void Class:setClassNum(string classNumTemp) this-classNum = classNumTemp;setClassName(string classNameTemp) this-className = classNameTemp;setClassProperties(string classPropertiesTemp) this-classProperties = classP

11、ropertiesTemp;setTotalClassNumber(int totalClassNumberTemp) this-totalClassNumber = totalClassNumberTemp;setCurrentClassNumber(int currentClassNumber) this-currentClassNumber = currentClassNumber;setExpClassNumber(int expClassNumberTemp) this-expClassNumber = expClassNumberTemp;setCredit(double cred

12、it) this-credit = credit;setRightTerm(string rightTermTemp) this-rightTerm = rightTermTemp;string Class:getClassNum() const/ 设置为常函数防止数据改变return this-classNum;getClassName() const return this-className;getClassProperties() const return this-classProperties;int Class:getTotalClassNumber() consttotalCl

13、assNumber;getCurrentClassNumber() const return this-currentClassNumber;getExpClassNumber() const return this-expClassNumber;double Class:getCredit() const return this-credit;getRightTerm() const return this-rightTerm;class Menu/ 定义了菜单类的操作char static getInput() / 获取输入函数char key = cin.get(); return key;void static showMenu()cout 学生选课管理系统 endl; cout *1课程信息录入2课程信息浏览功能3根据学分查询4按课程性质查询5存储信息

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

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