c++显示学生成绩代码

代码部分

#include<iostream>

#include<string>

using namespace std;

class Score {

public:

Score()

{

StudentNumber = 2;                                        //默认学生为2

}

Score(int StudentNumber1)

{

StudentNumber = StudentNumber1;                           //自定学生人数"

}

~Score()

{

cout << "~Score" << endl;

}

void InputStudentNameAndScore()

{

for (int i = 0; i < StudentNumber; i++)

{

cout << "输入学生姓名" << endl;

cin >> Name[i];

cout << "输入科目A成绩" << endl;

cin >> Grade[i][0];

cout << "输入科目B成绩" << endl;

cin >> Grade[i][1];

cout << "输入科目C成绩" << endl;

cin >> Grade[i][2];

}                                        //输入每位学生的姓名和对应科目ABC成绩

}

void ShowStudentNameAndScore()

{

for (int i = 0; i < StudentNumber; i++)

{

cout << "学生姓名是" << Name[i] << endl;

cout << "科目A成绩是" << Grade[i][0] << endl;

cout << "科目B成绩是" << Grade[i][1] << endl;

cout << "科目C成绩是" << Grade[i][2] << endl;

                                   //输出每位学生的姓名和对应科目ABC成绩

}

}

void ShowStudentAvgScore(int Student_Id)

{

int i = Student_Id;

cout << "姓名:" << Name[i];

float Avg = 0;

for (int j = 0; j <= 2; j++)

{

Avg = Avg + Grade[i][j];

}

Avg = Avg / 3.0;

cout <<  "平均成绩是:" << Avg << endl;

}                                                //查询第(i+1)位学生的三科平均成绩

void showCourseAvgScore(string Course_Name)

{

cout << "课程名称:" << Course_Name;

int n;

if (Course_Name == "A")

n = 0;

if (Course_Name == "B")

n = 1;

if (Course_Name == "C")

n = 2;

float Avg = 0;

for (int i = 0; i < StudentNumber; i++)

{

Avg += Grade[i][n];

}

cout <<"平均成绩是:"<< Avg / StudentNumber <<endl;

}                                                      //查询某一科目的学生平均分

void OrderScoreByCouse(string Course_Name)

{

cout << "课程名称:" << Course_Name<<endl;

int n;

if (Course_Name == "A")

n = 0;

if (Course_Name == "B")

n = 1;

if (Course_Name == "C")

n = 2;

float temp1;

string temp2;

for (int i = 0; i < 2; i++)

{

for (int j = 1; j < StudentNumber; j++)

{

if (Grade[j][n] > Grade[j - 1][n])

{

temp1 = Grade[j][n];

Grade[j][n] = Grade[j - 1][n];

Grade[j - 1][n] = temp1;

temp2 = Name[j];

Name[j] = Name[j - 1];

Name[j - 1] = temp2;

}

}

}                 //冒泡法选择任一科成绩显示学生姓名/成绩,根据成绩由高到低排序

for (int k = 0; k < StudentNumber; k++)

{

cout << "姓名: " << Name[k] << "成绩: " << Grade[k][n] << endl;

}

}                            //输出任一科成绩显示学生姓名/成绩,根据成绩由高到低排序

private:

float Grade[100][3];

int StudentNumber;

string Name[100];

};

int main()

{

Score x;

x.InputStudentNameAndScore();                   //输入默认值两位同学的姓名,三科成绩

x.ShowStudentNameAndScore();                   //输入默认值两位同学的姓名,三科成绩

x.ShowStudentAvgScore(1);                                //第(1+1)名学生的平均分

x.showCourseAvgScore("A");                                      //科目A的平均分

x.OrderScoreByCouse("B");                                       //科目B的成绩排列

return 0;

结果如下:

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值