0
我的程序請求兩個變量:一個整數和一個浮點數。兩者必須大於0且小於2000.但測試45和0的輸入時,它接受該值並顯示0.00的輸出,但條件需要(cash > 0) && (balance > 0)
。錯誤輸出的糾錯
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int cash;
float balance ;
cin >> cash >> balance;
if((cash%5==0) && (cash <= balance) && (cash > 0) && (balance > 0) && (cash <= 2000) && (balance <= 2000))
{
balance = (balance - cash) - 0.50;
cout << fixed;
cout.precision(2);
cout << balance;
}
else if (cash%5 != 0)
{
cout << fixed;
cout.precision(2);
cout << balance;
}
else if (cash > balance)
{
cout << fixed;
cout.precision(2);
cout << balance;
}
return 0;
}
您的代碼不會輸入第一個「if」。它進入最後一個,即'else if(cash> balance)'。這是不是滿意? – Default
投票關閉,爲什麼此代碼無法正常工作。請用printfs觀察程序狀態,然後生成一個最小的問題示例。 –