2017-04-10 3 views
-2

私は絶対的なC++の初心者ですので、私はいくつかの助けが必要です。 私は何かを支払うのに必要なコインの最小額を決定するプログラマーを作ろうとしています。C++整数は変更されません

例:私のそう

を:あなたはそれはあなたが2€コインと(あなたが5枚の* 0.50€コインを必要とする代わりのようなものの)0.50€コインが必要と言うあなたは2,50のために支払いをしたいということを教えアプローチはそれに価格を与えることだったので、コインがまだ価値に合っているかどうかをテストする各コインのwhileループを実行します。 私の問題は、整数を全く変更することができないことです。本当に簡単な間違いがわかりません。

コード(計算ジャスト機能):

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; 

だから、このdoesntのは、彼らが何を変更doesntのちょうどZweiEuro + 2のように動作いけないので、いずれかの間にはループがあります。 何かを追加するかどうかにかかわらず、結果は常に0のままです。

私はかなり私の変数の神の値を変更する背後になると私はこのプログラムを簡単に終了することができます。 ありがとうございます。

+7

'ZweiEuro + 2;'は結果を生成しますが、あなたはそれを保存しません。結果を変数に代入する必要があります。 'ZweiEuro = ZweiEuro + 2;または' ZweiEuro + = 2; 'を試してください。 –

+1

それはちょうどあなたが正しいとした初期化のようなものです: 'ZweiEuro = 0;'、あなたは '0'を書くだけでなく、コンパイラがその値で何をするかをコンパイラに期待しました;) – user463035818

+0

これは謎です。大声で "私の左手に持っているものよりもさらに2ユーロのコインが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++の構文です。あなたはすぐにそれに慣れるでしょう。

関連する問題