当我输入得分值时,会返回错误的结果

时间:2017-05-21 09:20:31

标签: c++

我刚刚开始用c ++编程,并尝试创建一个程序,根据您输入的分数返回您的成绩。 然而,虽然A级是正确的,但我注意到其他等级返回了一些错误的结果。我将粘贴下面的代码,如果有人可以看一下,我将非常感激!

#include <stdafx.h>                
#include <iostream>
using namespace std;

void printgrade(double score);

int main() {

double score;

std::cout << "Hello, Please enter your score: " << std::endl;
std::cin >> score;

printgrade(score);

system("pause");

return 0;


}

void printgrade (double score) {
if (score >= 90.0)
    std::cout << " A " << std::endl;
else if (score <= 80.0)
    std::cout << " B " << std::endl;
else if (score >= 70.0)
    std::cout << " C " << std::endl;
else if (score >= 60.0)
    std::cout << " D " << std::endl;
else if (score >= 50.0)
    std::cout << " E " << std::endl;
else if (score >= 40.0)
    std::cout << " F " << std::endl;
}

1 个答案:

答案 0 :(得分:1)

if (score >= 90.0)
    std::cout << " A " << std::endl;
else if (score <= 80.0)
    std::cout << " B " << std::endl;
else if (score >= 70.0)
    std::cout << " C " << std::endl;

score <= 80条件应更改为>=

按照目前的情况,您(按优先顺序)获得A >= 90B <= 80以及C {1}} >= 70。由于这涵盖了所有的可能性,因此无法获得其他成绩。