c++逐个添加到数组直到满

c++ adding one by one to array till full

本文关键字:数组 添加 c++      更新时间:2023-10-16

我试图在数组中添加一个等级,直到满,然后我需要返回为true。

空白,我使用 = cpp.sh/9 np2

代码

void GetGrades(StatsList* stats)
{
  ListType grade = 0;
  while (grade != -1)
 {
    cout << "Enter grade (-1 quits):";
    cin >> grade;
    if (!cin)
    {
        cin.clear();
        cin.ignore(2000, 'n');
        cout << "Invalid number" << endl;
    }
    else if (grade >= MINGRADE && grade <= MAXGRADE)
    {       
        if (!stats->NewGrade(grade))
        {
            cout << grade << " not entered - grade list is full" << endl;
        }
    }
    else
    {
        if (grade != -1)
            cout << "Grade out of range" << endl;
    }
 }
}

类函数,我正在使用 = cpp.sh/2jkz

bool StatsList::NewGrade(ListType grade)
{
  int i = 0;
  bool full = (List[6] == '');
  if (full){
      List[i] = grade;
      i++;
      cout << grade;
 }
  return false;
}

我累了AF我似乎不能弄清楚我做错了什么请帮助一个女孩。我只是想在睡觉前弄清楚我做错了什么。

bool StatsList::NewGrade(ListType grade)中有几个问题。

  1. i需要从一个调用持续到另一个调用,否则在函数开始时它总是被设置为0。我建议给它一个更具描述性的名字,如listindex,并使其成为一个成员变量。
  2. return true。合理的放置位置似乎是在if (full)正文的末尾。

A word on full。如果List 不是 full,则full为true。这种不真实的命名只会误导人们,并导致将来维护代码的人注入错误。我建议更改名称或更改使用它的方式。