当前位置:   article > 正文

202130310219上机作业3.2_有一个总空间为100字节的堆,现要从中新申请一块内存,内存分配原则为优先紧接着前

有一个总空间为100字节的堆,现要从中新申请一块内存,内存分配原则为优先紧接着前

#include<iostream> 
#include<string> 
using namespace std;
class StudentScore {
public: StudentScore()
{
    student_nr = 2;
}
      StudentScore(int student_count)
      {
          student_nr = student_count;
      }
      void InputStudentNameAndScore()
      {
          for (int student_id = 0; student_id < student_nr; student_id++)
          {
              cout << "请输入学生姓名:" << endl;
              cin >> name_array[student_id];
              cout << "请输入科目A成绩:" <<endl;
              cin >> score_table[student_id][0];
              cout << "请输入科目B成绩: " << endl;
              cin >> score_table[student_id][1];
              cout << "请输入科目C成绩:" << endl;
              cin >> score_table[student_id][2];
          }
      }
      void ShowStudentNameAndScore()
      {
          for (int student_id = 0; student_id < student_nr; student_id++)
          {
              cout << "姓名: " << name_array[student_id] 
                  << "科目A成绩:" << score_table[student_id][0]
                  << "科目B成绩" << score_table[student_id][1]
                  << "科目c成绩:"<< score_table[student_id][2]<<endl;
          }
      }
      void ShowStdentAvgScore(int student_id)
      {
          float avg;
          avg = (score_table[student_id][0] + score_table[student_id][1] + score_table[student_id][2])/3;
          cout << "平均成绩: " << avg<<endl;
      }
      void ShowCourseAvgScore(string course_name)
      {
          float avg, sum=0;
          int i;
          if (course_name == "A") { i = 0; }
          if (course_name == "B") { i = 1; }
          if (course_name == "C") { i = 2; }
          for (int student_id = 0; student_id < student_nr; student_id++)
          {
              sum += score_table[student_id][i];
          }
          avg = sum / student_nr;
          cout<<"平均学科成绩" << avg << endl;
      }
      void OrderScoreByCourse(string course_name)
      {
          int i, j, k,temp,a;
          if (course_name == "A") { i = 0; }
          if (course_name == "B") { i = 1; }
          if (course_name == "C") { i = 2; }
          for (j = 0; j < student_nr-1; j++)
          {
              for (k = 0; k < student_nr-1; k++)
              {
                  if (score_table[k][i] < score_table[k+1][i])
                  {
                      temp = score_table[k][i];
                      score_table[k][i] = score_table[k + 1][i];
                      score_table[k + 1][i] = temp;
                  }
              }
          }    
          for (a = 0; a < student_nr; a++)
          {
              cout << score_table[a][i] << endl;
          }
      }

private:
    float score_table[100][3];
    string name_array[100];
    int student_nr;
};
int main()
{
    StudentScore x;
    x.InputStudentNameAndScore();
    x.ShowStudentNameAndScore();
    x.ShowStdentAvgScore(1);
    x.ShowCourseAvgScore("A");
    x.OrderScoreByCourse("B"); 
    return 0;
}
 

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号