Klassen problem



  • Hallo, ich wollte mal einen kleinen umrechner schreiben, mit klassen.
    Wenn ich den code erstelle denn bekomme ich aber diese fehlermeldung:

    C:\Programme\Microsoft Visual Studio\MyProjects\Übungen\test.cpp(34) : error C2059: Syntaxfehler : '{'
    C:\Programme\Microsoft Visual Studio\MyProjects\Übungen\test.cpp(34) : error C2334: Unerwartete(s) Token vor '{'; sichtbarer Funktionsrumpf wird übersprungen
    C:\Programme\Microsoft Visual Studio\MyProjects\Übungen\test.cpp(55) : error C2143: Syntaxfehler : Fehlendes ';' vor '.'
    C:\Programme\Microsoft Visual Studio\MyProjects\Übungen\test.cpp(55) : error C2143: Syntaxfehler : Fehlendes ';' vor '.'
    C:\Programme\Microsoft Visual Studio\MyProjects\Übungen\test.cpp(56) : error C2065: 'ausgabe' : nichtdeklarierter Bezeichner
    C:\Programme\Microsoft Visual Studio\MyProjects\Übungen\test.cpp(56) : error C2228: Der linke Teil von '.menue' muss eine Klasse/Struktur/Union sein
    C:\Programme\Microsoft Visual Studio\MyProjects\Übungen\test.cpp(58) : error C2143: Syntaxfehler : Fehlendes ';' vor '}'
    Fehler beim Ausführen von cl.exe.

    Hier der Code:

    #include <iostream>
    
    using namespace std;
    
    class rechner
    {
    private:
    double x,y,z;
    
    public:
    
     rechner(double a,double b,double c)
     {
      x=a;
      y=b;
      z=c;
     };
    
     // umbenennung in sinnvolle variablennamen
    
     // methode: double euroinkronen(double euro)
     // methode: double kronenineuro(double kronen)
     // .....
    
     // alternative: eine intelligente methode
    
    };
    
    class inputoutput
    {
    public:
    	 void menue();
    	 {
    
    		cout<<"Was moechten sie:"<<endl;
    		cout<<"Euro =>kronen"<<endl;
    		cout<<"Euro=>pfund"<<endl;
    		cout<<"Euro=>dollar"<<endl; // methode: ausgabe des menüs (kein rückgabewert)
    		cout<<"Kronen =>euro"<<endl;
    		cout<<"Pfund=>euro"<<endl;
    		cout<<"Doallar=>euro"<<endl;
    	 }
    // methode: einlesen eines wertes (rückgabewert: wert)
    // methode: ausgabe eines wertes (kein rückgabewert)
    
    };
    
    void main()
    {
    
     double eurokronen=0.14, europfund=1.41, eurodollar=0.68;
     rechner umrechner(eurokronen,europfund,eurodollar);
    
     inputoutput.ausgabe;
     ausgabe.menue()
    
    };
    

    Ich benutze den Microsoft Visual C++ Compiler
    Hoffe ihr könnt mir helfen.

    Joni8a



  • hi

    nach
    void menue();
    kommt KEIN semikolon

    und es heißt

    int main ()

    ps: und die beiden unteren zeilen in der main funktion sind unsinn. 🙂



  • Die Fehlermeldung sagt doch alles. Hinter der Methodendeklaration ist ein Semikolon zuviel.

    Und für die Zukunft: C++-Code bitte mit Syntax-Highlight posten, das ist für die meisten lesbarer.



  • Hmm naja nur ist dein Klassendesign nicht so sinvoll. Es macht keinen Sinn alles in Klassen zu packen. Und anständige Variablennamen sind auch hilfreich, denn wer kann von a(x) auf Umrechnungskurs € => Krone schließen?



  • Hallo, bin wieder da und kann mich wieder mit meiner übung beschäftigen. Mein problem ist nur, wie kann ich menue() aufrufen, so das ich auch sehe was da steht.

    #include <iostream>
    
    using namespace std;
    
    class rechner
    {
    private:
    double x,y,z;
    
    public:
    
     rechner(double a,double b,double c)
     {
      x=a;
      y=b;
      z=c;
     };
    
     // umbenennung in sinnvolle variablennamen
    
     // methode: double euroinkronen(double euro)
     // methode: double kronenineuro(double kronen)
     // .....
    
     // alternative: eine intelligente methode
    
    };
    
    class inputoutput
    {
    public:
    	  menue()
    	 {
    
    		cout<<"Was moechten sie:"<<endl;
    		cout<<"Euro =>kronen"<<endl;
    		cout<<"Euro=>pfund"<<endl;
    		cout<<"Euro=>dollar"<<endl; // methode: ausgabe des menüs (kein rückgabewert)
    		cout<<"Kronen =>euro"<<endl;
    		cout<<"Pfund=>euro"<<endl;
    		cout<<"Doallar=>euro"<<endl;
    	 }
    // methode: einlesen eines wertes (rückgabewert: wert)
    // methode: ausgabe eines wertes (kein rückgabewert)
    
    };
    
    int main(void)
    {
    
     double eurokronen=0.14, europfund=1.41, eurodollar=0.68;
     rechner umrechner(eurokronen,europfund,eurodollar);
    
    };
    


  • //...
    inputoutput io;
    io.menue();
    //...
    

    Auch wenn es keinen Sinn macht das in eine extra Klasse zu packen und dann auch nicht einmal statisch, wo es doch keine Membervariable nutzt.


Anmelden zum Antworten