Zufallsspiel
-
Hallo,
ich brauch mal wieder hilfe ich soll ein Zufallszahlenspiel programmieren.
Die Hürde habe ich genommen, aber jetzt soll ich das Programm ohne return oder break programmieren!
Könnt ihr mit helfen?
Mein Programm sieht mom. so aus#include "stdafx.h" #include <stdlib.h> #include <iostream> #include <time.h> using namespace std; static int zufall(int max) { srand( (unsigned)time( NULL ) ); return abs(rand()%max); } int main() { int eingabe=-1; //Var für Eingabe int zahl=zufall(10); //Var für Zufallszahl int versuche=0; //Var für Versuche while (true) { cout<<"Geben sie eine Zahl von 1-10 ein: "; versuche++; cin>>eingabe; cout << "\n"; if (eingabe!=zahl) { cout<<"Falsch, versuchen sie es noch einmal!\n"; } else if (eingabe==zahl) { cout<<"Richtig!\n"; cout<<"Sie haben "<<versuche<<" Versuche gebraucht!\n"; break; } } system("PAUSE"); return 0; }
-
- (10) Den Zufallszahlengenerator vor jedem Aufruf von
rand( )zu initialisieren ist Unfug. - Die Funktion
zufall( int )muss keine Funktion sein -> keinreturn. - (38) Das
breakwirst Du los indem Du dir eine bessere Abbruchbedingung alstrue(21) überlegst. - (44) Das
returnam Ende vonmain( )ist sinnfrei, wenn es0zurückgibt.
- (10) Den Zufallszahlengenerator vor jedem Aufruf von
-
Die zufall-Funktion sollte nicht static sein (dafür gibt es notfalls anonyme namespaces, aber eigentlich sollte man keins von beidem benutzen), kann entweder ganz aufgelöst werden (wie Swordfish sagte), oder eine Referenz als out-Parameter nehmen.
-
Ich hab selbst eine lösung gefunden!
Danke trotzdem
-
wxSkip schrieb:
Die zufall-Funktion sollte nicht static sein
Aaahh gar ned g'sehn...
-
Swordfish schrieb:
- (44) Das
returnam Ende vonmain( )ist sinnfrei, wenn es0zurückgibt.
Ich schreibs trotzdem hin, damit mir meine IDE keine Warnung entgegenwirft.
- (44) Das
-
Dennis1995 schrieb:
[...] aber jetzt soll ich das Programm ohne return oder break programmieren!
...
-
Würde ich nicht dazuzählen als Aufgabensteller.
-
314159265358979 schrieb:
Würde ich nicht dazuzählen als Aufgabensteller.
Und ich würde als Aufgabensteller aufhören sinnlose Aufgaben zu stellen.
Das ist ja wie einen Aufsatz zu schreiben ohne das ERNSTL benutzen zu dürfen.
-
314159265358979 schrieb:
Swordfish schrieb:
- (44) Das
returnam Ende vonmain( )ist sinnfrei, wenn es0zurückgibt.
Ich schreibs trotzdem hin, damit mir meine IDE keine Warnung entgegenwirft.
Spricht die kein C++?
- (44) Das
-
brotbernd schrieb:
Und ich würde als Aufgabensteller aufhören sinnlose Aufgaben zu stellen.
Das ist ja wie einen Aufsatz zu schreiben ohne das ERNSTL benutzen zu dürfen.Das sowieso.

SeppJ schrieb:
Spricht die kein C++?
Doch, aber sie kapiert nicht, dass main kein return braucht.
-
314159265358979 schrieb:
Doch, aber sie kapiert nicht, dass main kein return braucht.
Falls es sich um eine
main()-spezifische und keine allgemeine "return vergessen"-Warnung handelt, deaktivier sie doch global.Aber erhält die IDE die Warnungen nicht vom Compiler? Möglicherweise liegt das Problem bei dem. Oder parst sie etwa selbstständig nochmals den Code?
-
Nein, die Eclipse parst den Code nochmal selbst und schmeißt mir dann die Warnung hinterher.
-
-
Und wie wende ich diesen Fix an? Muss ich da nun Eclipse mit nem Decompiler bearbeiten?
-
Eclipse Indigo Service Release 1 Build 20110916-0149 hat ihn schon -> downloaden.
-
Danke

