求一道程序设计题的解题程序!!!用C++程序编程:学生成绩统计

求程序!!!用C++程序编程:学生成绩统计要求:(1)输入10位学生成绩,如成绩不在0-100之间,给出错误提示。(2)逆序输出10位学生成绩。... 求程序!!!用C++程序编程:学生成绩统计
要求:
(1) 输入10位学生成绩,如成绩不在0-100之间,给出错误提示。
(2)逆序输出10位学生成绩。
展开
 我来答
被主遗弃的人
2017-06-06 · TA获得超过1079个赞
知道小有建树答主
回答量:977
采纳率:50%
帮助的人:382万
展开全部
#include <iostream>
using namespace std;
const unsigned int g_nStudents = 10;  // 学生总数
// 学生成绩统计类
class StudentsScoreStatistics
{
public:
 StudentsScoreStatistics() { Clear(); }
 // 重置学生分数
 void Clear()
 {
  for (int i = 0; i < g_nStudents; i++)
  {
   mScores[i] = 0.0;
  }
 }
 // 设置学生分数
 bool InitScore(double aCore, int aIndex)
 {
  if (aCore < 0.0 || aCore > 100.0)
   return false;
  mScores[aIndex] = aCore;
  return true;
 }
 // 排序
 void Sort()
 {
  // 采用插入排序
  for (int i = 1; i < g_nStudents; i++)
  {
   double nCurrent = mScores[i];
   int j = i - 1;
   while (j >= 0 && mScores[j] < nCurrent)
   {
    mScores[j + 1] = mScores[j];
    j--;
   }
   mScores[j + 1] = nCurrent;
  }
 }
 // 得到所有学生分数
 const double* GetScores() const
 {
  return mScores;
 }
private:
 double mScores[g_nStudents];   // 学生分数数组
};
int main()
{
 StudentsScoreStatistics stOperator;
 // 输入成绩
 cout << "请输入" << g_nStudents << "位学生成绩:" << endl;
 for (int i = 0; i < g_nStudents; i++)
 {
  double dScore = 0;
  cin >> dScore;
  if (!stOperator.InitScore(dScore, i))
  {
   cout << "成绩输入错误!请重新输入:" << endl;
   i--;
  }
 }
 // 逆序输出
 stOperator.Sort();
 cout << "排序后的学生成绩为:" << endl;
 for (int i = 0; i < g_nStudents; i++)
 {
  cout << *(stOperator.GetScores() + i) << "    ";
 }
 cout << endl;
 cout << endl;
 system("pause");
    return 0;
}

运行结果:

追问
你好,我这边输入程序之后程序显示程序中两处的     for (int i = 0; i < g_nStudents; i++)  这一步程序的i有问题,无法运行,得怎么改呢
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式