這個片段/功能:錯誤布爾無論什麼
bool overSpeedLimit(double t, double s , double v) {
if ((s/t) > v) return true;
else return false;
}
主這樣使用:
if(overSpeedLimit(t1, s1, v0)) cout << "\nAutomobilis virsijo greiti!";
所以基本上,它會檢查,如果你超過限速,如果你是給真正的,如果你打印出文字。
問題:無論輸入。如t1 = 1,s1 = 60,導致60(60/1 = 60)速度和v0爲50,bool給出錯誤。
void isNumber(double x) {
while (!(cin >> x)) // tikrinama ar x yra skaicius, o ne simbolis ar raide
{
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(),'\n');
cout << "Tai nera skaicius! Prasau ivesti skaiciu: ";
}
}
bool overSpeedLimit(double t, double s , double v) {
if ((s/t) > v) return true;
else return false;
}
int main(int argc, char *argv[])
{
// Variables
double t1 = 0, s1 = 0; // Automobilis
double t2 = 0, s2 = 0; // Motociklas
double v0; // Leistinas greitis
cout << "Kiek laiko vaziavo automobilis? "; isNumber(t1);
cout << "Koky atstuma vaziavo automobilis? "; isNumber(s1);
cout << "Kiek laiko vaziavo motociklas? "; isNumber(t2);
cout << "Koky atstuma vaziavo motociklas? "; isNumber(s2);
cout << "Koks leistinas greitis? "; isNumber(v0);
if(overSpeedLimit(t1, s1, v0)) cout << "\nAutomobilis virsijo greiti!";
if(overSpeedLimit(t2, s2, v0)) cout << "\nMotociklas virsijo greiti!";
// Ending
cout << " " << endl << endl;
system ("PAUSE");
return EXIT_SUCCESS;
}
什麼是速度? 't'時間? – rajuGT
請提供一個[MCVE](http://stackoverflow.com/help/mcve),我們可以看到它無法正常工作。 – chris
@rajuGT是的。 – xTheEc0