2013-10-18 51 views
-1

我不知道如何循環或重複cin >> cashTendered如果投標金額小於所需的金額。如果else語句循環或重複,直到真

到目前爲止,這就是我所擁有的。

if (cashTendered > || == total) 
{ 
cout << "Your change is: $" << fixed << setprecision(2) << change << ".\n\n" 
<< "Have a great day!\n\n\n\n\n"; 
} 
else 
{ 
cout << "You did not tender enough money to cover the total cost.\n" 
<< "Please enter amount of cash tendered: $"; 
} 

所以現在我想if語句重複,直到真實。

有什麼建議嗎?

+1

爲什麼我得到的感覺是:'cashTendered> || == total'是純粹的象徵性的方式來說'cashTendered> = total'?嗯.... – WhozCraig

+0

因爲我是新的,我仍然沒有100%正確的格式。我實際上會投入,'cashTendered == total || cashTendered> total「,但感謝您的澄清。 – James

+0

不用擔心。每天學些新東西。我不得不承認,這是一個獨特的,完全可以理解的表達,不管語法不正確。 *我*知道你的意思,因爲它的字面意思就像一句話。只是爲了讓編譯器能夠更好地遵守。 =) – WhozCraig

回答

0

看看loops in c++。此外,如果條件可以縮短爲>=而不是> || ==。而且,既然你想重複,直到cashTendered> = total,你需要一個循環來檢查條件,如果cashTendered總共是<。

while (cashTendered < total) 
{ 
    cout << "You did not tender enough money to cover the total cost.\n" 
    << "Please enter amount of cash tendered: $"; 
    cin >> cashTendered; 
} 
cout << "Your change is: $" << fixed << setprecision(2) << change << ".\n\n" 
<< "Have a great day!\n\n\n\n\n"; 
+0

謝謝我想通過另一種方式來實現它,這要歸功於Daler,但是這個答案似乎更簡單合理。謝謝 – James

0
while(true) 
{ 
    cin >> cashTendered 
    if (cashTendered >= total) 
    { 
     cout << "Your change is: $" << fixed << setprecision(2) << change << ".\n\n" 
     << "Have a great day!\n\n\n\n\n"; 
     break; 
    } 
    else 
    { 
     cout << "You did not tender enough money to cover the total cost.\n" 
     << "Please enter amount of cash tendered: $"; 
    } 
} 
+0

我試着按照自己的方式去做,但無論真假情況如何,它仍會繼續。還有其他建議嗎?我已經嘗試切換if else語句並使條件不足,但即使程序承認沒有足夠的投標金額,程序也會繼續。 – James

+0

我想通了,但它不會讓我發佈這個問題,所以......而不是在最後如果在別的之前破壞它應該在其他的結尾。我也將它更改爲'cashTendered> = total'並換出了報表。然後我在if語句末尾添加了一個'con >> cashTendered'和'change = cashTendered - total'。 – James