do while
-
hallo
ich wollte mit dem folgenden Code dass 2 Zahlen eingegeben werden, die zw. 1 und 10 und unterschiedlich sein müssen.int x,y; do { cout<<"\n gib 2 Zahlen ein(zahl von 1 bis10 ") "; cin>>x>>y; }while((x<0) || (x>10) || (y<0) || (y>10) || (x==y));
Aber leider die Schleife wiederholt sich unendlich viel egal was für Zahlen, die ich eingegeben habe.
was mache ich falsch?
noch eine frage: ich hätte gern gewussst wie man zwischen zwei cin_Eingaben die ENTER_Taste eingetippt sein soll.
Danke schön
-
du solltest x und y am Anfang den Wert Null zuweisen.
Deklarierst du eine Variable, wird diese in einem Freien Teil deines Arbeitsspeichers abgelegt. Weist du ihr keinen Wert zu, so nimmt sie den Wert an, der an der entsprechenden Stelle im Arbeitsspeicher liegt.
Also die zeile int x,y; durch int x=0, y = 0; ersetzen
-
Hi,
du darfst net enter drücken, sondern du musst es so eingeben:
20 500also mit einem Leerzeichen, wahrscheinlich wurde dadurch deine zweite Eingabe undefiniert und daher wahrscheinlich net im angegebenen Wertebereich.
Eisflamme
-
Zwei cin Eingaben sehen so aus:
cin >> x; cin >> y;
Und da muss man Enter drücken...
-
imson schrieb:
du solltest x und y am Anfang den Wert Null zuweisen.
Deklarierst du eine Variable, wird diese in einem Freien Teil deines Arbeitsspeichers abgelegt. Weist du ihr keinen Wert zu, so nimmt sie den Wert an, der an der entsprechenden Stelle im Arbeitsspeicher liegt.
Also die zeile int x,y; durch int x=0, y = 0; ersetzen
oh, da hab ich wohl ein stück zu kurz gedacht ^^
-
imson schrieb:
du solltest x und y am Anfang den Wert Null zuweisen.
Deklarierst du eine Variable, wird diese in einem Freien Teil deines Arbeitsspeichers abgelegt. Weist du ihr keinen Wert zu, so nimmt sie den Wert an, der an der entsprechenden Stelle im Arbeitsspeicher liegt.
Also die zeile int x,y; durch int x=0, y = 0; ersetzen
Nö, wieso? Bevor lesend auf x unf y zugegriffen wird, wird mit cin geschrieben.