Schleife wird übersprungen
-
Mein problem ist dass in diesen programm iergendwie immer die while schleife übersprugen wird und so nicht das programm wiederholt wird . Ich denke das liegt an der if schleife doch ich weiß nicht wie ich es richtig mache kann ...
int main() { int variablen bla bla bla; do{ cout << "1. bla bla bla bla "; cout << "2. nblaadfks "; cout << "3. asdjkwnain "; cin >> auswahl; if (auswahl >= 3) { cout << "Ungueltige eingabe" break; } switch(auswahl) { case 1: cout << " baskfmnwk "; break; case 2: cout << " jasf"; break; case 3: cout << " wjafan"; break; } cout << " Nochmal (j/n)" << endl; cin >> i; } while ( i == n); cin.get();cin.get() return 0; return 0; }
-
Hallo
Deine Schleife wird solange durchlaufen solange die Inhalte der Variablen i und n gleich sind. Da aber n sonst nicht bei dir im Codeauszug auftaucht, können wir dazu nicht viel sagen.
Ich vermute aber du willst das sowhile ( i != 'n');bis bald
akari
-
char i;i=getch()nur ein Tastendruck(benötigt conio.h)
while(i=='j')solange j gedrückt wird
oder
while(i!='n')solange nicht 'n' gedrückt wurde
-
so hier hab ich ma ein beispiel programmiert
immer wenn man sagt nochmal rechnen schließt sich das programm was es eigentlich nicht sollte#include <iostream> #include <math.h> using namespace std; int main() { char i; int eingabe; long double zahl1,zahl2; do{ system("CLS"); cout << "\n\t <--------Taschenrechner------->"<< endl; cout << "\n\t 1.Addieren <1> "; cout << "\n\t 2.Subtrahieren <2> " ; cout << "\n\t 3.Multiplizieren <3> "; cout << "\n\t 4.Dividieren <4> "; cout << "\n\t 5.Potenz <5> "; cout << "\n\t 6.Wurzel <6> " << endl; cout << "\n\t <---Copyright-by-C4ponnEEee--->"; cout << endl; cout << "\n\t Auswahl : "; cin >> eingabe; switch(eingabe) { case 1: cout << "\n\t Geben sie Zahl eins ein : "; cin >> zahl1; cout << "\n\t Geben sie Zahl zwei ein : "; cin >> zahl2; cout << "\n\t Addition : "; cout << zahl1 << "+" << zahl2 << " = " << zahl1+zahl2; break; case 2: cout << "\n\t Geben sie Zahl eins ein : "; cin >> zahl1; cout << "\n\t Geben sie Zahl zwei ein : "; cin >> zahl2; cout << "\n\t Subtraktion : "; cout << zahl1 << "-" << zahl2 << " = " << zahl1-zahl2; break; case 3: cout << cout << "\n\t Geben sie Zahl eins ein : "; cin >> zahl1; cout << "\n\t Geben sie Zahl zwei ein : "; cin >> zahl2; cout << "\n\t Multiplikation : "; cout << zahl1 << "*" << zahl2 << "=" << zahl1*zahl2; break; case 4: cout << "\n\t Geben sie Zahl eins ein : "; cin >> zahl1; cout << "\n\t Geben sie Zahl zwei ein : "; cin >> zahl2; cout << "\n\t Division : "; cout << zahl1 << ":" << zahl2 << "=" << zahl1/zahl2; break; case 5: cout << "\n\t Geben sie eine Zahl ein : "; cin >> zahl1; cout << "\n\t " << zahl1 << " zum quadrat ist = " << zahl1*zahl1 << endl; break; case 6: cout << "\n\t Geben sie eine Zahl ein : "; cin >> zahl1; cout << "\n\t Die Wurzel von " << zahl1 << " = " << sqrt(zahl1) << endl; break; default: cout << endl; cout <<"\n\t Ungueltige Eingabe" << endl; break; } cout << endl; cout << endl; cout << "\n\t Wollen Sie nochmal Rechnen? (j/n)" << endl; cout << "\n\t Antwort: "; cin >> i; } while (i == 'j'); cin.get(); cin.get(); return 0; return 0; }
-
Ich hab deinen Code bei mir kompiliert und ausführen lassen und wenn man j eingibt, schließt sich das Programm nicht. Vielleicht schreibst du J immer groß...
Felix
-
Phoemuex schrieb:
Ich hab deinen Code bei mir kompiliert und ausführen lassen und wenn man j eingibt, schließt sich das Programm nicht. Vielleicht schreibst du J immer groß...
Felix
genauso ist es auch bei mir ...
-
ach jetz hab ich was vergessen ^^
#include <iostream> #include <math.h> using namespace std; int main() { char i; int eingabe; long double zahl1,zahl2; do{ system("CLS"); cout << "\n\t <--------Taschenrechner------->"<< endl; cout << "\n\t 1.Addieren <1> "; cout << "\n\t 2.Subtrahieren <2> " ; cout << "\n\t 3.Multiplizieren <3> "; cout << "\n\t 4.Dividieren <4> "; cout << "\n\t 5.Potenz <5> "; cout << "\n\t 6.Wurzel <6> " << endl; cout << "\n\t <---Copyright-by-C4ponnEEee--->"; cout << endl; cout << "\n\t Auswahl : "; cin >> eingabe; if (eingabel > 6) // ab hier { cout << "\n\t Ungueltige eingabe"; }// bis hier ist der fehler switch(eingabe) { case 1: cout << "\n\t Geben sie Zahl eins ein : "; cin >> zahl1; cout << "\n\t Geben sie Zahl zwei ein : "; cin >> zahl2; cout << "\n\t Addition : "; cout << zahl1 << "+" << zahl2 << " = " << zahl1+zahl2; break; case 2: cout << "\n\t Geben sie Zahl eins ein : "; cin >> zahl1; cout << "\n\t Geben sie Zahl zwei ein : "; cin >> zahl2; cout << "\n\t Subtraktion : "; cout << zahl1 << "-" << zahl2 << " = " << zahl1-zahl2; break; case 3: cout << cout << "\n\t Geben sie Zahl eins ein : "; cin >> zahl1; cout << "\n\t Geben sie Zahl zwei ein : "; cin >> zahl2; cout << "\n\t Multiplikation : "; cout << zahl1 << "*" << zahl2 << "=" << zahl1*zahl2; break; case 4: cout << "\n\t Geben sie Zahl eins ein : "; cin >> zahl1; cout << "\n\t Geben sie Zahl zwei ein : "; cin >> zahl2; cout << "\n\t Division : "; cout << zahl1 << ":" << zahl2 << "=" << zahl1/zahl2; break; case 5: cout << "\n\t Geben sie eine Zahl ein : "; cin >> zahl1; cout << "\n\t " << zahl1 << " zum quadrat ist = " << zahl1*zahl1 << endl; break; case 6: cout << "\n\t Geben sie eine Zahl ein : "; cin >> zahl1; cout << "\n\t Die Wurzel von " << zahl1 << " = " << sqrt(zahl1) << endl; break; } cout << endl; cout << endl; cout << "\n\t Wollen Sie nochmal Rechnen? (j/n)" << endl; cout << "\n\t Antwort: "; cin >> i; } while (i == 'j'); cin.get(); cin.get(); return 0; return 0; }
-
cin >> eingabe; if (eingabel > 6)vertippt beim Variablennamen? (du liest in eingabe ein und checkst dann eingabe1)
-
omg , hab ich komplett übersehen und ich war die ganze zeit am suchen wo der fehler liegen könnte , ...........................