📄 d_7_1.cpp
字号:
#include "stdafx.h"
#include <iostream>
#include <string>
#include<iomanip>
using namespace std;
const int Max = 20;
class Lesson {
private:
float chinese, math, english;
public:
float sum;
Lesson()
{}
Lesson(float c, float m, float e)
: chinese(c), math(m), english(e)
{ sum = c + m + e;}
float dispChinese()
{ return chinese; }
float dispMath()
{ return math; }
float dispEnglish()
{ return english; }
};
class Person {
private:
string name;
public:
Person()
{}
Person(string n)
:name(n)
{}
string dispName()
{ return name; }
};
class Student:public Person,public Lesson {
private:
int rank;
public:
friend void sort(int index);
Student ()
{}
Student(string n,float c, float m, float e)
:Person(n),Lesson(c,m,e)
{}
};
void sort(int index,Student *s) //直接选择排序
{
int i,j;
float pick;
Student temp;
for(i=0;i<index;i++)
{ pick = s[i].sum;
for( j=i+1;j< index;j++)
{ if( pick > s[j].sum)
{ temp = s[i];
s[i] = s[j];
s[j] = temp;
}
}
}
}
void main()
{ int i;
string n[4];
float c[4], m[4], e[4];
for (i=0;i<4;++i)
{ cout << "请输入姓名:";
cin >> n[i];
cout << "请输入语文、数学和英语的成绩:";
cin >> c[i] >> m[i] >> e[i];
}
Student A[4] = {
Student (n[0],c[0],m[0],e[0]),
Student (n[1],c[1],m[1],e[1]),
Student (n[2],c[2],m[2],e[2]),
Student (n[3],c[3],m[3],e[3])
};
sort(4,A);
cout <<endl;
cout << "姓名"<<setw(10)<< "语文" <<setw(10)<< "数学" <<setw(10)<< "英语"
<<setw(10)<< "总分" << endl;
for (i=3;i>=0;--i)
cout << A[i].dispName() <<setw(10)<< A[i].dispChinese()
<<setw(10)<< A[i].dispMath() <<setw(10)<< A[i].dispEnglish()
<<setw(10)<< A[i].sum
<< endl;
cin.get(); cin.get(); //等待结束,以便调测程序,可以删除
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -