【发布时间】:2017-02-22 03:42:46
【问题描述】:
我正在尝试在数组中添加一个等级直到满,然后我需要返回为真。
我正在使用的无效 = cpp.sh/9np2
这里是代码
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] == '\0');
if (full){
List[i] = grade;
i++;
cout << grade;
}
return false;
}
我厌倦了 AF,我似乎无法弄清楚我做错了什么,请帮助一个女孩。我只是想在睡觉前了解我做错了什么。
【问题讨论】:
-
很抱歉第一次使用这个网站让我尝试修复
-
是我还是你的 NewGrade 函数总是返回 false ???
-
两件事,请询问实际问题,并考虑使用
std::vector而不是“原始”假设您不了解std::list -
OP 知道
List的最大大小,为什么要忍受vector的额外开销,而固定大小的数组就可以了?我可以看到std::array的案例,但我什至认为这有点过分了。
标签: c++ arrays function boolean void