2017-04-10 62 views
-2

我是一個絕對的C++新手,似乎所以我需要一些幫助。 我正在努力制定一個程序,它決定了需要支付某些東西的最少金幣數量。C++整數不會改變

例:你告訴它你要支付2,50所以說,你需要一個2€硬幣0.50€硬幣(而不是這樣的:你需要5個* 0.50€硬幣)

所以我方法是給它的價格,然後它會運行一個時間循環爲每個硬幣測試硬幣是否仍然適合價值。 我的問題是,我不能改變我的整數,我敢肯定它的一些非常簡單的錯誤,我只是不知道。

代碼(即計算剛好功能):

int Rechner() { 

int Betrag; 

int ZweiEuro = 0; 
int EinEuro = 0; 
int FuenfzigCent = 0; 
int ZwanzigCent = 0; 
int ZehnCent = 0; 
int FuenfCent = 0; 
int ZweiCent = 0; 
int EinCent = 0; 


cin >> Betrag; 
cout << "Die kleinse Menga an Muenzen um ihren Betrag zu bezahlen ist:" << endl << endl << endl; 




ZweiEuro + 2; 







cout << "2.00 = " << ZweiEuro << endl; 
cout << "1.00 = " << EinEuro << endl; 
cout << "0.50 = " << FuenfzigCent << endl; 
cout << "0.20 = " << ZwanzigCent << endl; 
cout << "0.10 = " << ZehnCent << endl; 
cout << "0.05 = " << FuenfCent << endl; 
cout << "0.02 = " << ZweiCent << endl; 
cout << "0.01 = " << EinCent << endl << endl << endl << endl << endl << endl; 


cout << "[Enter] druecken um zu beenden."; 

cin.sync(); 
cin.get(); 
return 0; 

所以這並不具有任何while循環,因爲他們不工作,就像ZweiEuro + 2並沒有改變任何東西。 無論我添加或不添加結果,結果總是保持爲0。

林相當肯定我可以很容易地完成這個程序,如果我後面改變我的變量的上帝該死的價值觀。 感謝您的幫助。

+7

'ZweiEuro + 2;'產生一個結果,但不存儲它。您需要將結果分配給一個變量。試試'ZweiEuro = ZweiEuro + 2;'或'ZweiEuro + = 2;'。 –

+1

它就像在初始化中一樣:'ZweiEuro = 0;',那裏你也沒有寫'0',並希望編譯器知道該怎麼做;} – user463035818

+0

這是一個謎語:說出來大聲「比我左手拿着的還多2歐元硬幣」。你現在握着你的左手多少錢? – molbdnilo

回答

5

那不是如何完成。這兩個應該工作:

ZweiEuro = ZweiEuro + 2; 
ZweiEuro += 2; 

這就是如果你想增加它的方式。 你也可以只爲它分配2,只要你不想循環,或任何

ZweiEuro = 2; 
0

你要存儲整數。通過寫ZweiEuro + 2;你不改變ZweiEuro價值。你應該寫ZweiEuro = ZweiEuro + 2; or ZweiEuro += 2;,這意味着ZweiEuro將ZweiEuro值加2。這只是C++的語法。你很快就會習慣它。