代码
//202130310248
//低配版
//main.cpp
#include <iostream>
#include <string>
using namespace std;
int exchange(string);
string exchange(int);
class StudentScore {
private:
float score_table[100][3];
string name_array[100];
int student_nr;
public:
StudentScore()
{
student_nr = 2;
}
StudentScore(int student_count)
{
student_nr = student_count;
}
void InputStudentNameAndScore();
void ShowStudentNameAndScore();
void ShowStudentAvgScore(int student_id);
void ShowCourseAvgScore(string course_name);
void OrderScoreByCourse(string course_name);
};
int main()
{
StudentScore x;
x.InputStudentNameAndScore();
x.ShowStudentNameAndScore();
x.ShowStudentAvgScore(1);
x.ShowCourseAvgScore("A");
x.OrderScoreByCourse("B");
return 0;
}
void StudentScore::InputStudentNameAndScore()
{
for (int i = 0; i < student_nr; i++)
{
cout << "请输入学生姓名:"
<< endl;
cin >> name_array[i];
for (int j = 0; j < 3; j++)
{
cout << "请输入科目"<< exchange(j)
<< "成绩:"
<< endl;
cin >> score_table[i][j];
}
}
}
void StudentScore::ShowStudentNameAndScore()
{
for (int i = 0; i < student_nr; i++)
{
cout << "姓名:" << name_array[i];
for (int j = 0; j < 3; j++)
{
cout << " 科目" << exchange(j)
<< "成绩:" << score_table[i][j];
}
cout << endl;
}
}
void StudentScore::ShowStudentAvgScore(int student_id)
{
float avgscore = 0;
for (int i = 0; i < 3; i++)
avgscore += score_table[student_id][i];
avgscore /= 3;
cout << "姓名:"<<name_array[student_id]
<<" 平均成绩:" <<avgscore
<< endl;
}
void StudentScore::ShowCourseAvgScore(string course_name)
{
float avgscore=0;
for (int i = 0; i < student_nr; i++)
{
avgscore += score_table[i][exchange(course_name)];
}
avgscore /= student_nr;
cout << "课程名称:" << course_name
<< " 平均成绩:"<<avgscore
<< endl;
}
void StudentScore::OrderScoreByCourse(string course_name)
{
cout << "课程名称:" << course_name
<< endl;
for (int j = 0; j < student_nr - 1; j++)
{
for (int i = 0; i < student_nr - 1 - j; i++)
{
if (score_table[i][exchange(course_name)] > score_table[i + 1][exchange(course_name)])
{
float t1;
t1 = score_table[i][exchange(course_name)];
score_table[i][exchange(course_name)] = score_table[i + 1][exchange(course_name)];
score_table[i + 1][exchange(course_name)] = t1;
string t2;
t2 = name_array[i];
name_array[i] = name_array[i + 1];
name_array[i + 1] = t2;
}
}
}
for (int i = student_nr-1; i >=0; i--)
{
cout << "姓名:" << name_array[i]
<< " 成绩:" << score_table[i][exchange(course_name)]
<< endl;
}
}
int exchange(string x)
{
if (x == "A")
return 0;
else if (x == "B")
return 1;
else if (x == "C")
return 2;
}
string exchange(int x)
{
if (x == 0)
return "A";
else if (x == 1)
return "B";
else if (x == 2)
return "C";
}
1.对整个项目进行打包
--
2.程序流程图
//int main();
//void InputStudentNameAndScore();
//void ShowStudentNameAndScore();
//void ShowStudentAvgScore(int student_id);
//void ShowCourseAvgScore(string course_name);
//void OrderScoreByCourse(string course_name);
//int exchange(string x);
//string exchange(int x);