Zurück ins Menü
-
@SeppJ was soll ich denn da mehr schreiben ??
-
case ('o'): case ('O'): { cout<<"Optionen\n"; system("pause"); }break;hast du dir das so vorgestellt
-
Jain. Es macht nun das, was du möchtest, oder? Aber system("pause") finde ich nach wie vor doof. Außerdem ist egal, wie ich mir das vorstelle, entscheidend ist doch, was du dir vorstellst und das du in der Lage bist, deine Vorstellungen in Programmcode umzusetzen.
-
nein
ich will ind den knoten punkten halt meine einstellungen machen und dann mit einer taste (beispiel 'z' << zurück) wieder ins menü und NICHT wenn die schleife ferdig ist
und ich willte hat wissen ob es das eine funktion oder sowas gibt und ob mir das mal bitte jemand sagt ^^
-
Nun, dann mach da deine Einstellungen und wenn z eingegeben wird, dann hörst du mit dem Einstellungsdialog auf. Ich verstehe nicht wo dein Problem damit ist.
-
ich weiß nicht wie ich das mache
ich suche halt nen befehl / funktion oder sowas
-
leider weiß ich immer noch nicht wie ich zurück ins menü auf befehl komme

brauch also immer noch hilfe bitte
-
#include <iostream> #include <conio.h> #include <cstdlib> #include <string> #include <cstdio> using namespace std; void OptFunc(); int main () { char menu; do { cout<<"\n\t<S>piel Starten\n\t<O>tionen\n\t<N>ame deines Helden\n\t<B>eenden des Spieles"; cin.get(menu); fflush(stdin); //cin.clear funktioniert bei mir wundersamerweise nicht... drum verzeih mir diese variante ;) switch (menu) { case ('s'): case ('S'): cout<<"Spiel Startet jetzt"; break; case ('o'): case ('O'): cout<<"Optionen"; OptFunc(); break; case ('N'): case ('n'): cout<<"Name aendern.\n"; break; case ('B'): case ('b'): cout<<"Spiel Beendet jetzt"; break; default: break; } }while ( menu != 'b' && menu != 'B'); return 0; } void OptFunc() { char ch; do { cout << "Druecken sie...\n<F>: Farbtiefe\n<A>: Aufloesung\n<Z>: Zurueck"; // hier dann einfügen, was man in den optionen ändern kann... cin.get(ch); fflush(stdin); switch(ch) { case 'a': case 'A': break; //Whatever passieren soll... case 'f': case 'F': break; //Whatever eben passieren soll ;) } }while (ch != 'z' && ch != 'Z'); }Ich würde mir für jede Menüauswahl ne eigene Funktion schreiben. Die Funktion von mir verweilt solange in den Optionen bis Z oder z gedrückt wird. Funktioniert übrigens auch mit while(tolower(ch) != 'z');
Verwende stattcin >> menulieber
cin.get(menu);wenn du nur ein Zeichen einlesen willst. Verzeih mir bitte die Verwendung von
fflush(stdin);denn bei mir funktioniert
cin.clear();komischerweise nicht. Zumindest nicht so, wie es funktionieren sollte.
Die Geschweiften Klammern in den case-Labeln kannste dir übrigens sparen. Die machen das ganze nur unübersichtlicher, wie ich finde.
-
AH ok also do while schleife das ist nee idee die ich verwenden kann
danke
(und falls jemand ne andere idee hat der kann mir es auch sagen ^^)
-
Matrix..., zu
// fflush(stdin); // => nur, wenn diese "nicht-Standard-C" Variante vom Compiler unterstützt wird -> sonst keine zuverlässige Funktion. cin.clear(); cin.ignore(256, '\n');ich weiss nicht, ob das immer funktioniert :xmas1: