Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/162.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';无法使函数正常工作。不应使用的额外数字';不能展示 我对C++和编程都是新的,所以这对我来说很困难,但我真的很想学习。我无法正确显示letterGrade函数。我给了我字母等级,但也在字母等级后加了一堆数字。谁能告诉我发生了什么事,我做错了什么?此外,我应该使用一个函数来查找平均值,但我只能通过在“for”循环中定义一个变量sAverage来将数组显示为一个表来实现。我也为此创建了一个函数,但它没有给我正确的答案。这是我的密码 #include <cstdlib> #include <iostream> #include <iomanip> using namespace std; int letterGrade(int average) { if (average > 89) cout << "A"; else if (average > 79 && average < 90) cout << "B"; else if (average > 69 && average < 80) cout << "C"; else if (average > 59 && average < 70) cout << "D"; else if (average >= 0 && average < 60) cout << "F"; } void getInfo() { const int info = 2; string last[info]; string first[info]; int ID[info]; int score1[info]; int score2[info]; int score3[info]; for (int count = 0; count < info; count++) { cout << "last name\n"; cin >> last[count]; cout << "first name\n"; cin >> first[count]; cout << "enter ID\n"; cin >> ID[count]; cout << "enter test 1\n"; cin >> score1[count]; cout << "enter test 2\n"; cin >> score2[count]; cout << "enter test 3\n"; cin >> score3[count]; } cout << endl; cout << "Last Name\tFirst Name\tID\tTest 1\tTest 2\tTest 3\tAverage\t Grade\n"; cout << "__________________________________________________________________\n"; for (int count = 0; count < info; count++) { int sAverage = ((score1[count]+score2[count]+score3[count])/3); cout << setw(10) << last[count] << setw(10) << first[count] << setw(10) << ID[count] << setw(10) << score1[count] << setw(10) << score2[count] << setw(10) << score3[count] << setw(10) << sAverage << setw(10) << letterGrade(sAverage); cout << endl; } } int main(int argc, char *argv[]) { cout << "Enter Student Info\n"; getInfo(); system("PAUSE"); return EXIT_SUCCESS; }_C++ - Fatal编程技术网

Can';无法使函数正常工作。不应使用的额外数字';不能展示 我对C++和编程都是新的,所以这对我来说很困难,但我真的很想学习。我无法正确显示letterGrade函数。我给了我字母等级,但也在字母等级后加了一堆数字。谁能告诉我发生了什么事,我做错了什么?此外,我应该使用一个函数来查找平均值,但我只能通过在“for”循环中定义一个变量sAverage来将数组显示为一个表来实现。我也为此创建了一个函数,但它没有给我正确的答案。这是我的密码 #include <cstdlib> #include <iostream> #include <iomanip> using namespace std; int letterGrade(int average) { if (average > 89) cout << "A"; else if (average > 79 && average < 90) cout << "B"; else if (average > 69 && average < 80) cout << "C"; else if (average > 59 && average < 70) cout << "D"; else if (average >= 0 && average < 60) cout << "F"; } void getInfo() { const int info = 2; string last[info]; string first[info]; int ID[info]; int score1[info]; int score2[info]; int score3[info]; for (int count = 0; count < info; count++) { cout << "last name\n"; cin >> last[count]; cout << "first name\n"; cin >> first[count]; cout << "enter ID\n"; cin >> ID[count]; cout << "enter test 1\n"; cin >> score1[count]; cout << "enter test 2\n"; cin >> score2[count]; cout << "enter test 3\n"; cin >> score3[count]; } cout << endl; cout << "Last Name\tFirst Name\tID\tTest 1\tTest 2\tTest 3\tAverage\t Grade\n"; cout << "__________________________________________________________________\n"; for (int count = 0; count < info; count++) { int sAverage = ((score1[count]+score2[count]+score3[count])/3); cout << setw(10) << last[count] << setw(10) << first[count] << setw(10) << ID[count] << setw(10) << score1[count] << setw(10) << score2[count] << setw(10) << score3[count] << setw(10) << sAverage << setw(10) << letterGrade(sAverage); cout << endl; } } int main(int argc, char *argv[]) { cout << "Enter Student Info\n"; getInfo(); system("PAUSE"); return EXIT_SUCCESS; }

Can';无法使函数正常工作。不应使用的额外数字';不能展示 我对C++和编程都是新的,所以这对我来说很困难,但我真的很想学习。我无法正确显示letterGrade函数。我给了我字母等级,但也在字母等级后加了一堆数字。谁能告诉我发生了什么事,我做错了什么?此外,我应该使用一个函数来查找平均值,但我只能通过在“for”循环中定义一个变量sAverage来将数组显示为一个表来实现。我也为此创建了一个函数,但它没有给我正确的答案。这是我的密码 #include <cstdlib> #include <iostream> #include <iomanip> using namespace std; int letterGrade(int average) { if (average > 89) cout << "A"; else if (average > 79 && average < 90) cout << "B"; else if (average > 69 && average < 80) cout << "C"; else if (average > 59 && average < 70) cout << "D"; else if (average >= 0 && average < 60) cout << "F"; } void getInfo() { const int info = 2; string last[info]; string first[info]; int ID[info]; int score1[info]; int score2[info]; int score3[info]; for (int count = 0; count < info; count++) { cout << "last name\n"; cin >> last[count]; cout << "first name\n"; cin >> first[count]; cout << "enter ID\n"; cin >> ID[count]; cout << "enter test 1\n"; cin >> score1[count]; cout << "enter test 2\n"; cin >> score2[count]; cout << "enter test 3\n"; cin >> score3[count]; } cout << endl; cout << "Last Name\tFirst Name\tID\tTest 1\tTest 2\tTest 3\tAverage\t Grade\n"; cout << "__________________________________________________________________\n"; for (int count = 0; count < info; count++) { int sAverage = ((score1[count]+score2[count]+score3[count])/3); cout << setw(10) << last[count] << setw(10) << first[count] << setw(10) << ID[count] << setw(10) << score1[count] << setw(10) << score2[count] << setw(10) << score3[count] << setw(10) << sAverage << setw(10) << letterGrade(sAverage); cout << endl; } } int main(int argc, char *argv[]) { cout << "Enter Student Info\n"; getInfo(); system("PAUSE"); return EXIT_SUCCESS; },c++,C++,我这样称呼它 cout << getAverage(score1[info],score2[info],score3[info]) 调用函数时,cout: cout << getAverage(score1[info],score2[info],score3[info]) int getAverage(score1, score2, score3) { int average; average = ((score1 + score2 + score3)

我这样称呼它

cout << getAverage(score1[info],score2[info],score3[info])

调用函数时,
cout:

cout << getAverage(score1[info],score2[info],score3[info])
int getAverage(score1, score2, score3)
{
    int average;
    average = ((score1 + score2 + score3) / 3);
    return average;
}

您没有指定SCORX变量的类型,隐式int规则在C++中无效。 编辑:


另一件事:当你计算平均值时,你必须记住,将一个整数除以一个整数总是得到一个整数,因此如果你想得到更精确的答案,例如,对于2.66 2 3 3,你必须使用一个浮点。

也许你误读了你的输出?即使没有为参数指定类型,
getAverage
函数也应该能正常工作(它们默认为
int

看起来您的问题不同:您的函数
letterGrade
没有
return
语句,因此它返回随机垃圾。您的编译器实际上应该警告您这一点。这个垃圾被解释为一个数字(因为你说函数返回的是
int
),并以这种方式格式化

您可能想要的是:

string letterGrade(int average)
{
    if (average > 89)
        return "A";
    else if (average > 79 && average < 90)
        return "B";
    else if (average > 69 && average < 80)
        return "C";
    else if (average > 59 && average < 70)
        return "D";
    else if (average >= 0 && average < 60)
        return "F";
    else
        return "-"; // negative value was passed!
}
字符串字母等级(整数平均值)
{
如果(平均值>89)
返回“A”;
否则如果(平均值>79&&平均值<90)
返回“B”;
否则如果(平均值>69和平均值<80)
返回“C”;
否则如果(平均值>59和平均值<70)
返回“D”;
否则如果(平均值>=0&&average<60)
返回“F”;
其他的
return“-”;//传递了负值!
}

你在这里发布代码时使用
,我建议你合并多个空行,这样我们就不必向下翻页太多(我认为代码的可读性要高得多)。很好的一点是,我错过了他在获取数组值时使用
信息
而不是
计数
。我已经解决了这个问题,现在可以使用了,谢谢!为此,我们不使用小数,这就是我使用int的原因。再次感谢。就是这样!非常感谢。感谢所有回应的人!我现在可以用了。
string letterGrade(int average)
{
    if (average > 89)
        return "A";
    else if (average > 79 && average < 90)
        return "B";
    else if (average > 69 && average < 80)
        return "C";
    else if (average > 59 && average < 70)
        return "D";
    else if (average >= 0 && average < 60)
        return "F";
    else
        return "-"; // negative value was passed!
}
string letterGrade(int average)