Meine Funktionen.



  • Hallo Liebe Boardgemeinde,
    ich habe eine Frage! Wenn ich diese Funktion Compilen will, kommen einige Fehler...

    includes.h

    #include <iostream.h>
    #include <stdio.h>
    #include <conio.h>
    #include <time.h>
    #include <string.h>
    

    functions.h

    bool Vokabelokay( std::string eingegeben, std::string richtig )
    {
    	if(eingegeben == richtig) {
    		cout << "Die Vokabel " << eingegeben << " hast du richtig eingegeben!\n\n";
    	    return true;
    	}
    	else {
    		cout << "Die Vokabel " << eingegeben << "war falsch!\nDie richtige Vokabel währe " << richtig << " gewesen...\n\n";
    		return false;
    	}
    }
    bool jn(char eingabe[255])
    {
    	if(eingabe == "j" || eingabe == "J")
    		return true;
    	else
    		return false;
    }
    

    Und um das zu Compilen brauch ich ja eine cpp....

    #include "includes.h"
    #include "functions.h"

    Ich hab MS VC++... Danke für jede Hilfe...

    thX...
    ---------
    --------------------Konfiguration: Vokabel - Win32 Debug--------------------
    Kompilierung läuft...
    main.cpp
    c:\programme\programmierung\c++\projekte\vokabeltest\vokabel\functions.h(1) : error C2653: 'std' : Keine Klasse oder Namespace
    c:\programme\programmierung\c++\projekte\vokabeltest\vokabel\functions.h(1) : error C2065: 'string' : nichtdeklarierter Bezeichner
    c:\programme\programmierung\c++\projekte\vokabeltest\vokabel\functions.h(1) : error C2146: Syntaxfehler : Fehlendes ')' vor Bezeichner 'eingegeben'
    c:\programme\programmierung\c++\projekte\vokabeltest\vokabel\functions.h(1) : warning C4800: 'int' : Variable wird auf booleschen Wert ('True' oder 'False') gesetzt (Auswirkungen auf Leistungsverhalten moeglich)
    c:\programme\programmierung\c++\projekte\vokabeltest\vokabel\functions.h(1) : error C2653: 'std' : Keine Klasse oder Namespace
    c:\programme\programmierung\c++\projekte\vokabeltest\vokabel\functions.h(1) : error C2059: Syntaxfehler : ')'
    c:\programme\programmierung\c++\projekte\vokabeltest\vokabel\functions.h(2) : error C2143: Syntaxfehler : Fehlendes ';' vor '{'
    c:\programme\programmierung\c++\projekte\vokabeltest\vokabel\functions.h(2) : error C2447: Funktionskopf fehlt - Parameterliste im alten Stil?
    Fehler beim Ausführen von cl.exe.

    Vokabel.exe - 7 Fehler, 1 Warnung(en)



  • #include <string> fehlt.
    Wieso übergibst du jn() eigentlich ein char-Array, wenn du ansonsten mit std::string arbeitest?



  • vielleicht solltest du die standrd header benutzen.
    ausserdem ist ja glaub ich der namespce std nichtdefiniert



  • Bashar schrieb:

    #include <string> fehlt.
    Wieso übergibst du jn() eigentlich ein char-Array, wenn du ansonsten mit std::string arbeitest?

    Weil mir schon ein wenig in einem anderen Forum geholfen wurde. Und da wollt ich erstmal gucken was so passiert....

    #include <iostream.h> 
    #include <stdio.h> 
    #include <conio.h> 
    #include <time.h> 
    #include <string.h>
    using namespace std;
    

    So besser? Aber dann kommt noch ein Fehler hinzu...

    c:\programme\programmierung\c++\projekte\vokabeltest\vokabel\includes.h(6) : error C2871: 'std' : Existiert nicht oder ist kein Namespace



  • nja es sollte heissen

    #include <iostream>  
    #include <cstdio>  
    #include <conio.h>  
    #include <time.h>  
    #include <string> 
    using namespace std;
    

    wobei ich mir bei time und conio nichtganz sicher bin
    und ich hab auch keine hnung wo conio.h cstdio und time.h genutzt wird



  • Na ja, das einzige was ich geändert habe ist string.
    Wenn ich nämlich z.B. nur iostream schreibe erkennt er nichtmal cout !!



  • Mach es so wie blabla³, nur statt <time.h> <ctime>
    Also:

    #include <iostream>   
    #include <cstdio>   
    #include <conio.h>   
    #include <ctime>   
    #include <string>  
    using namespace std;
    

    Wenn du <iostream> schreibst, musst du auch "using namespace std" oder immer "std::cout" schreiben.



  • Nene, ich habs schon.... Danke fpr eure Hilfe!
    Ich hab die <cstring> eingebunden und dann mit strcmp verglichen! Und das Funkt wundabar!!

    Trotzdem danke für all eure bemühungen!



  • Du vergleichst zwei std::strings mit strcmp?!
    Ne, binde lieber <string> ein und nimm "using namespace std;" und vergleich direkt mit ==.

    Das ist viel einfacher und weniger fehleranfällig als strcmp.


Anmelden zum Antworten