Du bist nicht angemeldet.

Werbeanzeige

1

15.09.2014, 19:12

Schleifenproblem

Manche kennen mich ja bereits vom letzten Thema und ich entschuldige mich wenn ich euch nerve.
Bei diesen Programm soll die Schleife solange laufen bis die Variable Wahl den Wert 2 angenommen hat aber das tut sie bei !=(nicht gleich) nicht und bei == (gleich) nicht.

Zwei Befehle fehlen dass weiß ich (ich komme mit den Quellcode Editor nicht richtig zurecht).
Das Programm endet sofort egal welchen Wert ich eingebe.
Das Programm ist ein Listing(3.11 Seite 85-86)welches ich ein Menü hinzufügen wollte.
Wäre über sonstige Kritik was den Code angeht aber auch sehr dankbar.
Wäre nett wenn ihr auch euren optimierten Code posten könntet.

Ich hab auch schon sehr lange nach der Lösung gesucht. :dash:


C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
int main()
{
    int Wahl=0;
    while(Wahl !=2 ){ 

cout<<"Beenden? ";
cout<<"1 feur weiter und 2 für nur noch einmal\n";
cin>> Wahl;

switch(Wahl)
{
case(1):{cout<<"Programm wird wieder ausgefuehrt\n\n";}break;
case(2):{cout<<"Programm wird noch einmal ausgefeuhrt\n\n";}break;
default:{cout<<"Falsche eingabe\n\n";}g
}

int breite, höhe;
cout<<"breite:";
cin>>breite;
cout<<"hoehe: ";
cin>>höhe;

for(int y=0; y<breite;y ++)
{
cout<<"X";
for(int x=0;x<höhe;x ++)
{cout<<"X";}
cout<<endl;
}
return 0;
    }
}

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »TrikkieMikkie« (15.09.2014, 19:34)


2

15.09.2014, 19:53

Rück deinen Code mal sinnvoll ein, dann findest du den Fehler.
"Theory is when you know something, but it doesn’t work. Practice is when something works, but you don’t know why. Programmers combine theory and practice: Nothing works and they don’t know why." - Anon

3

15.09.2014, 19:59

Verbesserungsvorschläge:
  • Text einrücken
  • Code kommentieren
  • Variablen-Schreibweise nicht mischen (groß vs. klein am Anfang)
  • Keine Umlaute in den Variablennamen
  • Auf Leerzeichen achten
mal so als basics...

Dann
  • return 0 ist an der falschen Stelle
  • Es sind ein paar geschweifte Klammern zuviel
  • und vertippt hast du dich auch.

Happy debugging :)

4

15.09.2014, 20:09

Wo muss den Return 0 laut Regel stehen?

Verbesserungsvorschläge:
  • Text einrücken
  • Code kommentieren
  • Variablen-Schreibweise nicht mischen (groß vs. klein am Anfang)
  • Keine Umlaute in den Variablennamen
  • Auf Leerzeichen achten
mal so als basics...

Dann
  • return 0 ist an der falschen Stelle
  • Es sind ein paar geschweifte Klammern zuviel
  • und vertippt hast du dich auch.

Happy debugging :)

Nimelrian

Alter Hase

Beiträge: 1 259

Beruf: Softwareentwickler (aktuell Web/Node); Freiberuflicher Google Proxy

  • Private Nachricht senden

5

15.09.2014, 20:21

Ich dachte, du hättest das Buch gelesen?
Ich bin kein UserSideGoogleProxy. Und nein, dieses Forum ist kein UserSideGoogleProxyAbstractFactorySingleton.

6

15.09.2014, 20:35

Danke für die Antworten könnt ihr mir aber bitte erklären warum das Return 0 so viel ausgemacht hat,ich meine an alles andere hat es ja glaube ich nicht gelegen. :hmm:




Ihr seid die beste Comunity die ich je gesehn/gelesen habe!!! :vain:

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »hobby_tim_C++« (15.09.2014, 20:46)


7

15.09.2014, 20:40

.

Ich dachte, du hättest das Buch gelesen?


Ich bin dabei der Autor sagt aber auch, man soll mit den Listings immer experimentiren.

8

16.09.2014, 08:20

Mit einem "return" verlässt man eine Funktion direkt und ohne Umwege.
Wenn du das in der main-Funktion schreibst, dann beendet sich sogar das Programm.
Besucht mich und meinen Blog unter:
www.simple-world.org

Du magst Tower Defense?
Dann probier doch mal Coregrounds aus ;)

9

16.09.2014, 17:31

Danke für eure Antworten.Dabk euch schwirren jetzt beträchlich weniger Fragezeichen in meinen Kopf rum. :D

Schorsch

Supermoderator

Beiträge: 5 182

Wohnort: Wickede

Beruf: Student

  • Private Nachricht senden

10

16.09.2014, 18:25

Guck dir den Teil über Funktionen noch mal an. Wenn du noch nicht so weit bist, dann mach erst mal in Ruhe weiter. Das kommt dann alles noch;)
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Werbeanzeige