Brauche hilfe bei einem C++ Code.?

... komplette Frage anzeigen

5 Antworten

Du setzt die Variable c weiter oben auf true. Dadurch wird dem while-loop der wert true übergeben und er wiederholt sich einfach die ganze zeit, da er nirgendwo auf false geändert wird.

Kommentar von Scrummer
09.06.2016, 11:50

achja, soviel ich weiss kannst du auch nicht einfach so eine boolean zu einem integer ändern, solang du im gleichen scope arbeitest.

0
int a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;

Was bitte soll das? Bennene deine Variablen doch mal. Und benutze a doch nicht als int und boolean. Was soll der Code eigentlich machen?? Der ist nen totalles Wirrwarr ohne jegliche Struktur.

Kommentar von Kruxiscast
09.06.2016, 13:23

Der code soll durchlaufen, bei richtigen Antworten in die nächste klammer rutschen und bei falschen unten bei while(c) ankommen. Er ist da um ne kleine Wiederholung zu machen da ich, wie schon erwähnt, noch blutiger Anfänger bin und grade die Funktionen lerne. Das heist von Style und Typisierung hab ich noch keine ahnung.

0

ich hab nen fehler auversehen geschrieben undzwar if (leet == leet)

hab ich in if (d == leet) geändert so wie das erste e==1 zu e==Donnerstag. Zudem habe ich leet und Donnerstag == 1 gelöscht. ABer es geht trozdem nicht

dein code ist der wahnsinn :))

wie kann man bitte mot a,b,c,d arbeiten?

kein winder das du den durchblick verlierst.

eine variable die leet heißt ist auch nicht besser,

sei nicht so tipp faul und gebe den ordentliche namen.

zu dem code Inhalt sag ich erstmal nichts bis ich mir das am pc angeguckt habe.

Kommentar von Kruxiscast
09.06.2016, 13:21

Die sache ist (wie schon beschrieben) ich bin noch in den Basics. Heißt ich lerne was verschiedene funktionen machen und wie sies machen. Daher ist klar das ich als blutiger Anfänger mit a,b,c,d arbeite. Und dah ich das alleine lerne hab ich auch niemanden der mir das erklärt.

0
Kommentar von Kruxiscast
09.06.2016, 13:25

Also soll ich eher "int rechner;" und bei der ersten abfrage (gib eine zahl ein) die schleife while(rechner) benennen?

0

Sorry, falsch gelesen...
___________________

a = true;
while(a){

Da du a in der Schleife nicht änderst, läuft sie endlos weiter...

Kommentar von ralphdieter
09.06.2016, 19:06

Ich habe den Code erstmal richtig eingerückt, damit man sieht, wo die Schleifen aufhören.

Aus dem while(d) kommst du nur heraus, wenn du c=42 und d=0 eingibst. Dann ist aber c==true und das folgende while(c) geht endlos.

Mit der "richtigen" Eingabe d=1 setzt du zwar c=false, aber dann hängst du in der while(d)-Schleife.

Manchmal hilft es, seinen Code zu strukturieren. Mit einer Funktion

int prompt(char const *frage)
{
int zahl;
cout >> endl >> frage >> ' ';
cin >> zahl;
return zahl;
}

schrumpft dein Programm auf wenige Zeilen zusammen:

do{
 int zahl=prompt("Gib eine Zahl ein:");
}while (
!(1337-zahl==prompt("Gib eine Zahl ein die dazugerechnet werden soll:")
&& 42==prompt("Was ist die Antwort auf alles?")
&&  1==prompt("Was bedeutet 1337?")
// weitere Fragen...
&& cout << "Du hast es geschafft! Glückwunsch du bist ein Held!")
)
 && 1==prompt("Willst du es nochmal versuchen? 1 = Ja\n\n 2 = Nein")
);



0

Was möchtest Du wissen?