Hilfe beim Klassenprogrammieren, fehlende Zeichen

vs1

Grünschnabel
Hi Leute,

ich bekomme folgende Fehlermeldungen beim unteren Code:

[C++ Fehler] Unit1.cpp(49): E2141 Fehler in der Deklarationssyntax
[C++ Fehler] Unit1.cpp(74): E2139 In Deklaration fehlt ;
[C++ Fehler] Unit1.cpp(74): E2134 Abschließendes } fehlt

Es handelt sich um ein einfaches Objekt dessen Lautstärke
sowie Programm geändert werden können, davor muss aber überprüft werden, ob es
an oder aus ist(die Änderungen sind nur dann möglich, wenns an ist)

Doch, wenn ich die fehlenden Zeichen ergänze kommen die Fehlermeldungen,
dass die unerwartet sind.

Kann da jemand weiterhelfen?
Ich freue mich über jeden Vorschlag.

#include <iostream.h>

class Tvklasse {

int lautstaerke;
int programm;
int zustand;
public:

void init();
void einaus(int aenderung);
void umschaltenl(int aenderung);
void umschaltenp(int aenderung);
void ausgeben();
};

void Tvklasse::init() {

lautstaerke = 10;
programm = 1;
zustand = 0;
}
void Tvklasse:: einaus(int aenderung) {
zustand = aenderung; }
void Tvklasse:: umschaltenl(int aenderung){
if ( zustand ==1) {
lautstaerke = aenderung;
} else {
lautstaerke != aenderung;
}
}

void Tvklasse:: umschaltenp(int aenderung){
if (zustand ==1) {
programm = aenderung;
} else {
programm != aenderung;
}
}
void Tvklasse:: ausgeben() {
cout << lautstaerke << '\n';
cout << programm << '\n';
if (zustand == 0){
cout << "aus";
} else {
cout << " ein ";
}

void main() {

Tvklasse Fernseher;
Fernseher.init();
Fernseher.einaus(1);
Fernseher.umschaltenl(15);
Fernseher.umschaltenp(5);
Fernseher.ausgeben();
Fernseher.einaus(0);

char p[50];
cin.getline(p,50);

}
 
Hi,

du musst nur die Fehlermeldung richtig lesen. Es steht nämlich drin das ein abschließendes } fehlt.

C++:
     #include <iostream.h>

class Tvklasse {
    int lautstaerke;
    int programm;
    int zustand;
public:
    void init();
   void einaus(int aenderung);
   void umschaltenl(int aenderung);
   void umschaltenp(int aenderung);
   void ausgeben();
};

void Tvklasse::init() {
    lautstaerke = 10;
    programm = 1;
    zustand = 0;
}

void Tvklasse:: einaus(int aenderung) {
     zustand = aenderung;
 }

void Tvklasse:: umschaltenl(int aenderung){
    if ( zustand ==1)
    {
        lautstaerke = aenderung;
    } 
    else {
        lautstaerke != aenderung;
    }
}

void Tvklasse:: umschaltenp(int aenderung){
    if (zustand ==1) {
        programm = aenderung;
    } 
    else {
         programm != aenderung;
    }
}

void Tvklasse:: ausgeben() {
    cout << lautstaerke << '\n';
    cout << programm << '\n';
    if (zustand == 0){
        cout << "aus";
    }
    else {
         cout << " ein ";
    }
} // <===============     das hier fehlte !!

void main() {
    Tvklasse Fernseher;
    Fernseher.init();
    Fernseher.einaus(1);
    Fernseher.umschaltenl(15);
    Fernseher.umschaltenp(5);
    Fernseher.ausgeben();
    Fernseher.einaus(0);

    char p[50];
    cin.getline(p,50);

}

Bitte das nächste mal die Code-Task benutzen, sonst ist es sehr anstrengend den Code zu lesen und solche Fehler passieren! (das man die Geschweifte-Klammern vergisst etc.)

Gruß
Rudolf Grauberger
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: vs1
Zurück