c++程序设计上机实验

c++程序设计上机实验

ID:33548016

大小:342.50 KB

页数:22页

时间:2018-05-11

c++程序设计上机实验_第1页
c++程序设计上机实验_第2页
c++程序设计上机实验_第3页
c++程序设计上机实验_第4页
c++程序设计上机实验_第5页
资源描述:

《c++程序设计上机实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验一考试成绩信息系统华北电力大学计算机系一、实验目的通过用C++编写一个学生考试成绩信息系统,强化面向对象程序设计思想,使学生能够将C++程序设计中的面向对象、重载、模板、文件等各种概念,灵活的运用到实际的程序设计中去。华北电力大学计算机系二、实验要求1)录入课程和选课学生的信息;2)录入成绩3)学生信息和成绩的修改;4)统计学生成绩;5)成绩排序;按成绩排序6)统计成绩分布功能:即各成绩段学生的数量:“优”:90~100;“良”:80~90;“中”:70~80;“及格”:60~70;“不及格”

2、60。并输出统计分布结果;7)查找:能够查找指定学生的各门成绩和平均分及其名次;华北电力大学计算机系三、实验原理实验使用面向对象的设计思想,在学生成绩考试系统中,主要涉及的是学生和课程,对于所有的学生,都具有共性,因此可以抽象为一个学生类,同理可以得到课程类。华北电力大学计算机系1.类的设计:实验首先设计两个类:学生类和课程类,并根据面向对象的信息隐蔽原则,设置相应的类成员的访问属性。(1)学生类(a)属性:主要包括学生的个人信息,包括学号、姓名、班级、成绩等。(b)操作:学生信息的输入、输入函数

3、,学生成绩的设置和获取函数。(2)课程类(a)属性:主要包括课程号、课序号、学分、任课教师、选课人数、学生成绩表。(b)操作:包括课程信息的录入、录入选课学生信息、录入选课学生的成绩,(若成绩为-1表示缺考),成绩分析、成绩排序、显示课程及选课学生信息等。华北电力大学计算机系2.类模板和函数模板的设计:(1)数组类模板的设计:对于某一门课,选课的学生很多,可定义一个数组模板,并将数组模板实例化为学生对象数组。(2)无论对什么数据类型的排序,使用的排序算法都是一样的,因此需要定义一个函数模板,用学生

4、类实例化,实现学生的成绩排序,排序算法可选用插入排序、冒泡排序或者选择排序等。华北电力大学计算机系3.运算符重载的设计(1)学生的信息和成绩以及选课信息要求写入文件并在需要时从文件中读出,需要重载插入、提取运算符“<<、>>”。(2)学生成绩排序要对学生对象进行比较、赋值等操作,而类实际上是一种复杂数据类型,因此上述这些操作要通过运算符重载(==、<、>)来实现。华北电力大学计算机系四、实验所需仪器、设备、材料(试剂)本实验基于window平台,使用VC++为开发工具。五、实验预习要求、实验条件、

5、方法及步骤1.理解C++面向对象编程的基本概念,包括类和对象、模板、运算符重载等。2.根据实验要求,画出相应的类图。3.按照类图,编程并实现。华北电力大学计算机系实验二公司计薪系统华北电力大学计算机系一、实验目的类的封装、派生和继承、多态性是C++面向对象程序设计三大特征,本实验通过编写一个简单的公司计薪系统,使学生能够将上述三大特征灵活的运用到实际的编程当中去,提高程序的复用性。华北电力大学计算机系二、实验要求1.问题描述某公司,员工的薪水每月发一次,每月1日,上报上月个人工作信息。这些信息由会

6、计将信息输入计薪系统。对于该系统要求如下:(1)公司主要分为三种员工:经理、时薪人员、销售人员。(2)对于任何一位员工,计薪系统都能够:(a)计算工资(b)打印该员工的工资单(c)员工也可以查询自己的工资。(3)三种员工的薪金计算方式不同(a)经理:固定月薪(b)时薪人员:时薪×每月工时(c)销售人员:时薪×每月工时+佣金×销售额(4)总经理拥有特殊权利,可以更改某人时薪和佣金。华北电力大学计算机系2.研究计薪系统的问题域,根据研究对象的共性抽取出类,并抽象出各个类之间的派生关系,并画出类图。3.

7、确定哪些类为基类,哪些为派生类,并分别确定基类和派生类的成员属性和操作。华北电力大学计算机系三、实验原理1.类和派生的使用在公司计薪系统中,主要涉及的是三类雇员,对于所有的雇员,都具有共性普通员工的基本信息,包括个人信息,薪金等。只是计算方法和相应的操作不同,如下图所示。雇员Employee经理Manager时薪人员Wage销售人员Sales图计薪系统的类继承关系华北电力大学计算机系classEmployee{private:charm_name[30];public:Employee();Emp

8、loyee(constchar*nm);};Employee::Employee(){m_name[0]=‘’;}Employee::Employee(constchar*nm){strcpy(m_name,nm);}华北电力大学计算机系classManager:publicEmployee{private:floatm_salary;public:Manager(constchar*nm);voidsetSalary();floatcomputePay();}Manager:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。