题目描述:

编写一个程序输入3个学生的英语和计算机成绩,并按照总分从高到低排序。要求设计一个学生类Student,其定义如下:

程序代码:

#include<iostream>
using namespace std;
class Student
{
public:
void getscore(); //获取一个学生成绩
void display(); //显示一个学生成绩
void sort( Student *); //将若干个学生按总分从高到低排序
private:
int english;
int computer;
int total;
};
void Student::getscore()
{
cout<<"请输入该学生的英语成绩:";
cin>>english;
cout<<"请输入该学生的计算机成绩:";
cin>>computer;
total = english + computer;
}
void Student::display()
{
cout<<"该学生的英语成绩为:"<<english<<",计算机成绩为:"<<computer<<",总分为:"<<total<<endl;
}
void Student::sort(Student *p)
{
if(p->total > total) //p指向的对象比该对象大的时候,则交换对象的值
{
int t1,t2,t3;
t1 = p->english;
p->english = english;
english = t1;
t2 = p->computer;
p->computer = computer;
computer = t2;
t3 = p->total;
p->total = total;
total = t3;
}
}
int main()
{
Student st[3];
for(int i = 0; i < 3; i++)
{
st[i].getscore();
st[i].display();
}
st[0].sort(&st[1]);
st[0].sort(&st[2]);
st[1].sort(&st[2]);
cout<<"======================"<<endl;
cout<<"排序结果如下:"<<endl;
for(int i = 0; i < 3; i++)
{
st[i].display();
}
}

输出结果:

请输入该学生的英语成绩:80
请输入该学生的计算机成绩:90
该学生的英语成绩为:80,计算机成绩为:90,总分为:170
请输入该学生的英语成绩:70
请输入该学生的计算机成绩:60
该学生的英语成绩为:70,计算机成绩为:60,总分为:130
请输入该学生的英语成绩:99
请输入该学生的计算机成绩:87
该学生的英语成绩为:99,计算机成绩为:87,总分为:186
======================
排序结果如下:
该学生的英语成绩为:99,计算机成绩为:87,总分为:186
该学生的英语成绩为:80,计算机成绩为:90,总分为:170
该学生的英语成绩为:70,计算机成绩为:60,总分为:130

C++面向对象类的实例题目八的更多相关文章

  1. C++面向对象类的实例题目四

    题目描述: 以面向对象的概念设计一个类,此类包含3个私有数据:unlead.lead(无铅汽油和有铅汽油)以及total(当天总收入,无铅汽油的价格是17元/升,有铅汽油的加个是16元/升),请以构造 ...

  2. C++面向对象类的实例题目十

    题目描述: 编写一个程序,其中有一个汽车类vehicle,它具有一个需要传递参数的构造函数,类中的数据成员:车轮个数wheels和车重weight放在保护段中:小车类car是它的私有派生类,其中包含载 ...

  3. C++面向对象类的实例题目九

    题目描述: 编写一个学生和老师数据输入和显示程序,学生数据有编号.姓名.班号和成绩,教师数据有编号.姓名.职称和部门. 要求将编号.姓名.输入和显示设计成一个类person,并作为学生数据操作类stu ...

  4. C++面向对象类的实例题目七

    题目描述: 编写两个有意义的类,使一个类嵌套在另一个类中. 分析: 本题涉及两个类student和cdegree,前者为学生类,包含学生的学号(nubner),姓名(name)和成绩(degree), ...

  5. C++面向对象类的实例题目五

    题目描述: 编写一个程序,采用一个类求n!,并输出5!的值. 程序代码: #include<iostream> using namespace std; class CFactorial ...

  6. C++面向对象类的实例题目十二

    题目描述: 写一个程序计算正方体.球体和圆柱体的表面积和体积 程序代码: #include<iostream> #define PAI 3.1415 using namespace std ...

  7. C++面向对象类的实例题目十一

    题目描述: 写一个程序计算三角形,正方形和圆形3种图形的面积 程序代码: #include<iostream> #include<cmath> #define PAI 3.14 ...

  8. C++面向对象类的实例题目六

    问题描述: 编写一个程序计算两个给定长方形的面积,其中在设计类成员函数addarea()(用于计算两个长方形的总面积)时使用对象作为参数. 程序代码: #include<iostream> ...

  9. C++面向对象类的实例题目三

    编写一个程序,设计一个满足如下要求的CData类. (1)用下面的格式输出日期:日/月/年 (2)输出在当前日期上加一天后的日期 (3)设置日期 code: #include<iostream& ...

随机推荐

  1. SFTP 利用对称公钥免密码的方法

    在客户端的操作: #cd .ssh             进入.ssh目录 #ssh-keygen -t rsa   执行创建密钥对命令 Generating public/private rsa ...

  2. 20 Python 常用模块

    collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter.deque.defaultdict. ...

  3. hibernate ORM related

    一.单向关联(unidirectional associations): 1.1.1 Many-to-one Employee.hbm.xml <class name="Employe ...

  4. 网络编程基础--多线程---concurrent.futures 模块---事件Event---信号量Semaphore---定时器Timer---死锁现象 递归锁----线程队列queue

    1 concurrent.futures 模块: # from abc import abstractmethod,ABCMeta # # class A(metaclass=ABCMeta): # ...

  5. STL迭代器辅助函数——advance

    Advance(i, n) increments the iterator i by the distance n. If n > it it , the call has no effect. ...

  6. 树莓派(Linux)与镜像源

    树莓派学习笔记--修改树莓派软件源 1. linux 镜像源文件 >> vim /etc/apt/sources.list 可在树莓派官网 http://www.raspbian.org/ ...

  7. Spring Boot同时开启HTTP和HTTPS服务

    由于Spring Boot中通过编码开启HTTPS服务比较复杂,所以官方推荐通过编码开启HTTP服务,而通过配置开启HTTPS服务. Spring Boot的application.yml中添加如下配 ...

  8. itunesconnect如何提交被决绝过了的相同版本号

    遇到一次审核被拒,打算再次提交时,不想改变版本号,可以在xcode里把build版本号后面几个.1,比如version上次被拒时是1.1.3,build也是1.1.3,这次送审时version不变,b ...

  9. 学习动态性能表(7)--v$process

    学习动态性能表 第七篇--V$PROCESS  2007.5.30 本视图包含当前系统oracle运行的所有进程信息.常被用于将oracle或服务进程的操作系统进程ID与数据库session之间建立联 ...

  10. 使用PowerShell在Azure China创建Data Warehouse

    微软的Azure Data Warehouse是基于MPP架构的分布式系统: Control Node负责管理系统和接受用户的请求,Compute Node负责计算. 目前在国内Azure Data ...