Erst mal Entschuldigung, dass der Code ein einziges Kauderwelsch ist.
Ich habe dabei 2 Probleme: Das erste ist, dass ich das Programm nicht über das "Menü" hinaus bekomme, sonder es nimmt 2 Zahlen an, und dann nimmt er den return 0 befehl. Das Problem liegt allerdings über int Spiel() {...
Das zweite ist die Zufallszahl. Ich habe schon überall im Internet gesucht, aber na ja.. wie auch immer, er zeigt mir (Ich habe einen cout befehl eingegeben, damit er mir die Zufallszahl zeigt) immer nur die 1 an, die dann auch genommen wird. (Wenn ich das spiel ohne Menü kompiliere). Hoffe, mir kann jemand helfen. Lg Felix P.S.: Über allgemeine Anmerkungen und Tipps bin ich natürlich auch immer froh.
#include <iostream>#include <cstdlib>using namespace std;int Spiel();
int Highscore();
int Credits();
int main(void) { cout << "Hallo, was moechten sie machen?\n" "<1> Spiel Starten\n" "<2> Momentaner Highscore\n" "<3> Credits\n" "<4> Beenden\n";
char Auswahl;
cin >>Auswahl;
switch(Auswahl) { case '1': int Spiel(); break; case '2': int Highscore(); break; case '3': int Credits(); break; case '4': return 0; break; } while (Auswahl <= 3);
getchar();
cin.sync();
cin.get();
return 0;
}
int Spiel() {int Zufallszahl; Zufallszahl = rand()%10; int E; float Versuche = 0; float Highscore = Versuche;
cout <<"Spielregeln:\nEs ist eine Zahl zwischen 1 und 10. Du gewinnst, indem du die richtige Zahl erätst.\n Aber ACHTUNG! Die falschen Versuche werden mitgezählt!\n\n Versuche es:\n ";
cout <<Zufallszahl ; cout<<endl;
do{
cin >> E;
cout <<" Falsch. Versuche es erneut. ";
cout <<"Du hast bis jetzt " <<Versuche++ <<" Versuche gebraucht.\n" ;
getchar();
} while (Zufallszahl != E);
(E == Zufallszahl) ;
cout <<"\nRichtig. Du hast " << Versuche << " Versuche gebraucht. Dein momentaner Highscore ist :"<<Versuche;
}
int Highscore()
{
cout <<"Der momentane Highscore ist:"; Highscore;
}
int Credits()
{
cout <<" Credits \n Das Spiel ist gemacht von Felix "
}