`j' undeclared (first use this function) kann mir jemand sagen was das bedeutet??
-
Hallo alle zusammen
ich bin jetzt bestimmt eine 1/2 Stunde am googlen
bin aber ziemlich erfolglosAlso ich hab nur ein kleines testprogramm schreiben wollen, aber
er zeigt mir dise fehlermeldung20 E:\Programme\Dev-Cpp\Projekts\main.cpp `j' undeclared (first use this function) (Each undeclared identifier is reported only once for each function it appears in.) 20 E:\Programme\Dev-Cpp\Projekts\main.cpp `n' undeclared (first use this function) E:\Programme\Dev-Cpp\Projekts\Makefile.win [Build Error] [main.o] Error 1bei diesem Quelltext
#include <iostream> #include <cstdlib> using namespace std; int main() { int antwort; do { int z1, z2, z3; z1 = rand(); z2 = rand(); z3 = rand(); cout<< "zufallszahl 1\t"<< z1 << endl; cout<< "zufallszahl 2\t"<< z2 << endl; cout<< "zufallszahl 3\t"<< z3 << endl; do { cout<<endl<<"wiederholung?(j/n)"; cin>>antwort; if((antwort != 'j')&&(antwort != 'n')) cout<<"bitte geben sie j f\x81r ja und n f\x81r nein ein"<<endl; }while((antwort!='j')&&(antwort!='n')); }while(antwort=='j'); return 0; }an.
liegt villeicht daran das ich noch nicht so die große programmierahnung habe
aber ich denke es ist sinnvoller hier zu posten als noch weitere stunden in google zu verschenden (ich glaub ich such einfach falsch)^^*Der Code ist editiert und verbessert worden
-
Antwort soll, soweit ich verstanden habe, ein Zeichen enthalten. Dafür gibt es den Datentyp char. Bei der Eingabe j oder n handelt es sich folglich um Variablen vom Typ char. j oder n müssen also in Anführungsstrichen geschrieben sein. Zeile 20 sähe demnach folgendermaßen aus:
if((antwort != 'j')&&(antwort != 'n'))außerdem kommt nach dem if() kein Semikolon.
mfg energetic
-
ja ich hab ein bisschen rumprobiert und anscheinend das Semikolon vergessen ^^
und es fehlt auch noch das
#include <cstdlib>
ich danke für die promte Antwort..und das Problem hat sich erledigt.. danke
-
outcast schrieb:
und es vehlt auch noch das
#include <cstdlib>Nein. Die If-Abfragen und der Datentyp char sind in der Sprache C++ verankert, da brauchst du keine zusätzlichen Bibliotheken. Zudem reicht <iostream> für deine Anwendung.
Und was die Zufallsfunktion
rand()betrifft: Wenn du nicht in jedem Programmdurchlauf die gleiche Folge von Pseudozufallszahlen haben willst, solltest du einmal am Anfang des Programms folgende Funktion aufrufen (benötigt den Header <ctime>):srand(static_cast<unsigned int>(time(0)));
-
Nexus schrieb:
outcast schrieb:
und es vehlt auch noch das
#include <cstdlib>Nein. Die If-Abfragen und der Datentyp char sind in der Sprache C++ verankert, da brauchst du keine zusätzlichen Bibliotheken. Zudem reicht <iostream> für deine Anwendung.
Und was die Zufallsfunktion
rand()betrifft: Wenn du nicht in jedem Programmdurchlauf die gleiche Folge von Pseudozufallszahlen haben willst, solltest du einmal am Anfang des Programms folgende Funktion aufrufen (benötigt den Header <ctime>):srand(static_cast<unsigned int>(time(0)));Erzähl doch nichts, der Compiler kennt nur #include, für alles weitere braucht man
#include <keywords>in der ersten Zeile der Datei.
-
Nexus schrieb:
outcast schrieb:
und es vehlt auch noch das
#include <cstdlib>Nein. Die If-Abfragen und der Datentyp char sind in der Sprache C++ verankert, da brauchst du keine zusätzlichen Bibliotheken. Zudem reicht <iostream> für deine Anwendung.
Aber für rand() und srand() wird cstdlib benötigt.
-
na ja dieses prog hat sich irgendwie in eine endlosschleife verwandelt
XD
-
DerKuchen schrieb:
Aber für rand() und srand() wird cstdlib benötigt.
Bei mir (Visual C++ Express 2008) reicht dafür der Header <iostream>.
outcast schrieb:
na ja dieses prog hat sich irgendwie in eine endlosschleife verwandelt
XDSchön für dich. Falls wir dir helfen sollen, solltest du das Problem möglicherweise genauer schildern.

-
ich hab doch den qtext beigefügt
na ja ich wollte nur eine abfrage haben ob er das prog wiederhohlen solle
oder ob er beenden kann
na ja jetzt fragt er wiederhohlung?(j/n)
und wenn man jetzt j oder n tippt dann
gibt er unendlich mal
bitte geben sie j für ja und n für nein ein !!
-
Ersetze in deinem Quellcode
int antwort;durch
char antwort;charist der Standard-Datentyp für Zeichen.Und benutz bitte in Zukunft CPP- und nicht Code-Tags, das ist übersichtlicher (erste weisse Schaltfläche).
-
ok hat funktioniert
das programm läuft genau so wie ich wollte
ich bedanke mich vielmals
diese fehler werden mir nicht mehr passieren ^^