Variablen und Funktionen
-
aaaahhhh
Überall Fehler über Fehler!!! Kann es sein das mein Compiler zu alt ist? Wo bekomm ich eine aktuellen?
-
welchen hast du?
-
VC 98 müsste der heißen. Kenne mich da nicht so aus.
-
Mitlerweile sieht es mein code so aus *g*:
#include <iostream.h> #include <cstdlib> #include <stdlib.h> void main() { int i=(std::rand()%10)+10; std::cout<<i<<endl; }
Und std ist immer noch keine Klasse oder Namespace.
-
KEIN .h
-
Okok
jetzt sieht der code so aus und ich hab einen ganz neuen fehler *g* (Wie viel probleme so eine zufallsvariable macht):
#include <iostream> #include <cstdlib> #include <stdlib.h> void main() { int i=(std::rand()%10)+10; std::cout<<i; }
Fehler: 'rand' : Ist kein Element von 'std'
-
wie wäre es damit?
#include <iostream> #include <cstdlib> using namespace std; int main() { int i=(rand()%10)+10; cout<<i; return 0; }
-
erstmal: es Funktioniert!!!
Aber das Programm gibt immer 11 aus, also nichts mit Zufall *g*
-
wenn ihr mir dann noch bei dem funktionen problem helft bin ich euch auf ewig dankbar, stell keine nervigen Fragen mehr und hab genug Erfahrung für mein Aktzien Spiel!!!
-
#include <iostream> #include <cstdlib> #include <ctime> using namespace std; int main() { srand(time); int i=(rand()%10)+10; cout<<i; return 0; }
nicht getestet...villeicht musst du auch nur time an rand() übergeben....so genau weis ich das jetzt nicht...wenn du rand() nicht initialiesierst kriegst du sonst immer die gleichen zufallszahlen
-
Hoffentlich hscaffen wir das heute noch
Fehler bei dem letzten code von Online:
Konvertierung des Parameters 1 von 'long (__cdecl *)(long *)' in 'unsigned int' nicht moeglich
Diese Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
-
#include <iostream> #include <cstdlib> #include <ctime> #include <string> using namespace std; void menue(); int main() { srand(int(time)); for(int x = 0; x < 10; x++) { int i=(rand()%10)+10; cout<<i << endl; } menue(); return 0; } void menue() { while(true) { string eingabe; cout << "deine Eingabe: "; cin >> eingabe; if(eingabe == "4") return; } }
hier hast du mal was getestet (bei denn zufallszahlen bin ich mir da nicht so sicher)
du bekommst 10 zahlen ausgegeben.
Die Funktion menue hat ne kleine Eingabe. Die Funktion wird mit der Eingabe der 4 verlassen. kannst dir was zusammenbasteln
-
ne kleine Berichtigung
srand(time(NULL));
-
Ist das wirklich so schwer mit den Zufalls zahlen. Das Problem ist doch im Moment das die Zahl nur einmal zufällig ausgewählt wird aber dann Knostant bleibt, oder?
-
hmm ich würde diese funktion nehmen anstatt srand:
randomize();
-
Mit der Berichtoigung klappts ;))))))
Vielen dank, und wegen den Funktionen versuch ich mir mal selbst was auszuklüfteln!!!byby
-
gn8
-
Hi,
ich will noch etwas über das Problem std:: und <iostream> sagen:
Früher (vor der C++-Standardisierung) haben die meisten Comiler-Hersteller ihr eigenes Süppchen gekocht. Da hieß dass iostream.h manchmal auch stream.h usw. Mit der Standardisierung hat man dann aber Namespaces eingeführt (std ist z.B. ein Namespace). Da es aber wichtig war, die Kompatibilität zu C und früheren C++-Programmen zu waren, hat man die Standard-Header einfach ohne .h genannt (an der <...> Schreibweise sieht man sowieso, dass es sich um einen Standard-Header handelt. Die C-Header hat man nach c... umbenannt (aus stdlib.h wird cstdlib). In den Headern ohne .h ist alles im std-Namespace, d.h. man muss überall std:: davorschreiben, oder den Namespace mitusing namespace std;
in den globalen Nabespace einführen. Die "alten" header hat man aber so gelassen (da ist alles im glob. Namespace). Jetzt gibt es aber das Problem, dass ältere Compiler die Version ohne .h nicht verstehen. Dann muss man sich entweder an die "alte" Schreibwese halten, oder sich einen neuen Compiler besorgen.
-
vc98 sollte das aber können...
-
[quote="Frusciante"]Ja, hab schon mal gelsen das .h veraltet ist, aber wenn ich das weglasse bekomme ich Fehler...?[/quote]
Das scheint irgenwie eine Krankheit gewisser Leute die glauben das andere nur dämlich sind wenn sie sagen das man .h eingeben muss sonst gibt der Compiler Fehler aus. Das selbe ist mir auch schon passiert.