所以這里回圈中的 if 是否可以以優化的方式撰寫 if 陳述句,還是應該將兩個條件分開?
#include <iostream>
using namespace std;
int main()
{
int grade, counter = 1, total = 0, average;
while (counter <= 10)
{
cout << "Enter grade /100: ";
cin >> grade;
if (grade < 0 && grade > 100) //HERE PLEASE
{
cout << "invalid grade value." << endl;
cout << "Reenter grade value */100*: ";
cin >> grade;
}
total = total grade;
counter ;
}
average = total / 10;
cout << "\nThe class average is: " << average << endl;
return 0;
}
uj5u.com熱心網友回復:
if (grade < 0 && grade > 100)
沒有小于1 和大于 的數字100,因此條件false每次都會回傳。
如果您想要低于1 或大于100,請嘗試:
if (grade < 0 || grade > 100)
總的來說,你的代碼應該是:
#include <iostream>
// using namespace std; is bad practice, so don't use it
int main()
{
int grade = 0, counter = 1, total = 0, average = 0;
while (counter <= 10)
{
std::cout << "Enter grade /100: ";
std::cin >> grade;
if (grade < 0 || grade > 100)
{
// use newline character instead of std::endl
std::cout << "invalid grade value." << '\n';
std::cout << "Reenter grade value */100*: ";
std::cin >> grade;
}
// a = a b is equal to a = b
total = grade;
counter;
}
average = total / 10;
std::cout << "\nThe class average is: " << average << '\n';
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/351996.html
