Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C++CLI / VB .Net / .Net-Framework » mein Fernseher mag net :-(

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] [ 2 ] > 3 < [ 4 ] [ 5 ]
020
13.05.2009, 20:37 Uhr
ausgtown



tut mir leid es geht nicht ich komm über Zeile 51 beim Compilieren nicht raus

kann mir vielleicht doch jemand bei meine CLI-Adapter-Sprachen-Kram helfen?

Ich lerne das in der Schule und wir haben als Übungsaufgabe jeder ein Programm zu schreiben (wenn wir möchte) Ich darf es nunmal nur mit diesem Kram machen.

Es wäre wirklich net wenn mir jemand helfen könnte.....

danke :-(
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
021
14.05.2009, 12:53 Uhr
Tommix




Zitat von ausgtown:
mit welchem Post bitte? sry.. vielleicht hab ich mich verzählt aber das wäre meiner *fragend guckt*

Die Zählung geht bei Null los und steht links oben neben dem Positing:

Zitat:

009
11.05.2009, 16:26 Uhr
Tommix


- Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
022
14.05.2009, 18:58 Uhr
ausgtown



vielen Dank für den Hinweis.... mein Programm läuft trotzdem nicht
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
023
14.05.2009, 20:00 Uhr
0xdeadbeef
Gott
(Operator)


Lies die Fehlermeldungen, sie sagen dir größtenteils schon, warum der Kram nicht funktioniert. "fernseherinit ist kein Element von fernseher" deutet zum Beispiel darauf hin, dass "fenseherinit" in der Klassendeklaration einen Tippfehler enthält (fehlendes r).

Ansonsten, bitte, formulier wenigstens aus, wo deine Probleme liegen, was du nicht verstehst. Sonst haben wir es ausgesprochen schwer, dir diese Dinge zu erklären.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
024
14.05.2009, 20:15 Uhr
ausgtown



den Tippfehler habe ich schon ausgebessert... trotzdem bleibt die Fehlermeldung bestehen

hier ist nochmal der aktuelle Quelltext....

Code:

// fernseher.cpp: Hauptprojektdatei.

#include "stdafx.h"

using namespace System;

ref class fernseher{
private:

Int32 lautstaerke;
Int32 programm;
Int32 aktiv;
Int32 einaus;

public:
void init();
void fernsehlautstaerke();
void fernsehprogramm();
void ausgabe();
};

void fernseher::init(){
    aktiv = 1;
    lautstaerke = 10;
    programm = 2;
}

void fernseher::fernsehlautstaerke(Int32 aenderung) {
    Console::WriteLine("Bitte geben Sie ein welche wie laut der Fernseher sein soll: (bitte nur ganze Zahlen eingeben");
    lautstaerke=Convert::ToInt32(Console::ReadLine());
    Console::WriteLine("Lautstaerke: ",lautstaerke);
    Console::WriteLine("Programm: ",programm);
}

void fernseher::fernsehprogramm (Int32 aenderung) {
    Console::WriteLine("Bitte geben Sie ein welche welches Programm Sie sehen wollen: (bitte nur ganze Zahlen eingeben");
    programm=Convert::ToInt32(Console::ReadLine());
    Console::WriteLine("Lautstaerke: ",lautstaerke);
    Console::WriteLine("Programm: ",programm); }

int main(array<System::String ^> ^args){
    Int32 einaus;
    Int32 menue;
    fernseher^ meinFernseher = gcnew fernseher;
    meinFernseher->init();
    Console::WriteLine("Der Fernseher ist momentan ausgeschalten. Bitte drücken Sie die 0 um ihn ");
    Console::WriteLine("einzuschalten.");
    einaus=Convert::ToInt32(Console::ReadLine());
    if (einaus == 0){
        meinFernseher->aktiv = 0;
        Console::WriteLine("Der Fernseher ist nun eingeschalten.");
        Console::WriteLine("Was wollen Sie tun? \n1 - Programm ändern\n2 - Lautstärke ändern\3 - Fernseher ausschalten");
        menue=Convert::ToInt32(Console::ReadLine());
        switch (menue){
        case 1:
            meinFernseher->fernsehlautstaerke();
            break;
        case 2:
            meinFernseher->fernsehprogramm();
            break;
        case 3:
            meinFernseher->aktiv = 1;
            break;
        }
    }
    else (einaus !=0){
        meinFernseher->aktiv = 1;
        Console::WriteLine("Der Fernseher ist noch immer aus.");
    }
    Console::WriteLine("Lautstaerke: ",meinFernseher->lautstaerke);
    Console::WriteLine("Programm: ",meinFernseher->programm);
    return 0;
}




und hier die Fehler.....

.\fernseher.cpp(51) : error C2039: 'fernseherinit': Ist kein Element von 'fernseher'
.\fernseher.cpp(7): Siehe Deklaration von 'fernseher'
.\fernseher.cpp(59) : error C2248: "fernseher::aktiv": Kein Zugriff auf private Member, dessen Deklaration in der fernseher-Klasse erfolgte.
.\fernseher.cpp(12): Siehe Deklaration von 'fernseher::aktiv'
.\fernseher.cpp(7): Siehe Deklaration von 'fernseher'
.\fernseher.cpp(65) : error C3861: "fernsehlautstaerke": Bezeichner wurde nicht gefunden.
.\fernseher.cpp(68) : error C3861: "fernsehprogramm": Bezeichner wurde nicht gefunden.
.\fernseher.cpp(71) : error C2248: "fernseher::aktiv": Kein Zugriff auf private Member, dessen Deklaration in der fernseher-Klasse erfolgte.
.\fernseher.cpp(12): Siehe Deklaration von 'fernseher::aktiv'
.\fernseher.cpp(7): Siehe Deklaration von 'fernseher'
.\fernseher.cpp(75) : error C2143: Syntaxfehler: Es fehlt ';' vor '{'
.\fernseher.cpp(76) : error C2248: "fernseher::aktiv": Kein Zugriff auf private Member, dessen Deklaration in der fernseher-Klasse erfolgte.
.\fernseher.cpp(12): Siehe Deklaration von 'fernseher::aktiv'
.\fernseher.cpp(7): Siehe Deklaration von 'fernseher'
.\fernseher.cpp(80) : error C2065: 'programm': nichtdeklarierter Bezeichner



kann ja nicht alles als Public vereinbare.... muss doch auch irgendwie so gehen über die Methoden *Haare rauf*
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
025
15.05.2009, 07:37 Uhr
Tommix



'Morgen,
naja:

Zitat:

'fernseherinit': Ist kein Element von 'fernseher'


Die Methode heißt init, nicht fernseherinit.

Zitat:

Kein Zugriff auf private Member, ...



Zitat von Tommix:

daß Du auf private Member nicht zugreifen kannst, hatte ich schon erwähnt. Ansonsten (wenn ich ich mal alles public mache):



Zitat:

"fernsehlautstaerke": Bezeichner wurde nicht gefunden


Der Fehler kommt bei mir nicht. Bei

Zitat:

void fernseher::fernsehlautstaerke(Int32 aenderung) {


muß der Parameter weg, auch bei Programm.
Die Zugriffsmethoden mußt Du halt noch schreiben, genau wie Du es bei lautstaerke und programm schon machst.

- Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
026
15.05.2009, 12:16 Uhr
~ausgtown
Gast


Hi... ich habe im Quelltext keine Funktion mehr mit dem Namen fernseherinit() oder ich bin blind deswegen verstehe ich ja die Fehlermeldung nicht.....
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
027
15.05.2009, 13:00 Uhr
Tommix



Ein Licht geht auf
Drum krieg ich auch andere Fehlermeldungen als Du. Kann es sein, daß Du jetzt mehrere Quelltexte oder gar Projekte hast? Du kompilierst was anderes, als was Du hier postest. Drück mal F8, dann springt er zu den Stellen mit den Fehlern im Quelltext.
- Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
028
15.05.2009, 19:10 Uhr
ausgtown



ähm wie peinlich irgendwie hab ich hier was nich ganz abgeglichen ok... also so sieht er nochma aus


Code:

// fernseher.cpp: Hauptprojektdatei.

#include "stdafx.h"

using namespace System;

ref class fernseher{
private:

Int32 lautstaerke;
Int32 programm;
Int32 aktiv;
Int32 einaus;

public:
void init();
void fernsehlautstaerke();
void fernsehprogramm();
void ausgabe();
};

void fernseher::init(){
    aktiv = 1;
    lautstaerke = 10;
    programm = 2;
}

void fernseher::fernsehlautstaerke() {
    Console::WriteLine("Bitte geben Sie ein welche wie laut der Fernseher sein soll: (bitte nur ganze Zahlen eingeben");
    lautstaerke=Convert::ToInt32(Console::ReadLine());
    Console::WriteLine("Lautstaerke: ",lautstaerke);
    Console::WriteLine("Programm: ",programm);
}

void fernseher::fernsehprogramm () {
    Console::WriteLine("Bitte geben Sie ein welche welches Programm Sie sehen wollen: (bitte nur ganze Zahlen eingeben");
    programm=Convert::ToInt32(Console::ReadLine());
    Console::WriteLine("Lautstaerke: ",lautstaerke);
    Console::WriteLine("Programm: ",programm); }

int main(array<System::String ^> ^args){
    Int32 einaus;
    Int32 menue;
    fernseher^ meinFernseher = gcnew fernseher;
    meinFernseher->init();
    Console::WriteLine("Der Fernseher ist momentan ausgeschalten. Bitte drücken Sie die 0 um ihn ");
    Console::WriteLine("einzuschalten.");
    einaus=Convert::ToInt32(Console::ReadLine());
    if (einaus == 0){
        meinFernseher->aktiv = 0;
        Console::WriteLine("Der Fernseher ist nun eingeschalten.");
        Console::WriteLine("Was wollen Sie tun? \n1 - Programm ändern\n2 - Lautstärke ändern\3 - Fernseher ausschalten");
        menue=Convert::ToInt32(Console::ReadLine());
        switch (menue){
        case 1:
            meinFernseher->fernsehlautstaerke();
            break;
        case 2:
            meinFernseher->fernsehprogramm();
            break;
        case 3:
            meinFernseher->aktiv = 1;
            break;
        }
    }
    else (einaus !=0){
        meinFernseher->aktiv = 1;
        Console::WriteLine("Der Fernseher ist noch immer aus.");
    }
    Console::WriteLine("Lautstaerke: ",meinFernseher->lautstaerke);
    Console::WriteLine("Programm: ",meinFernseher->programm);
    return 0;
}



und das sind die fehler

1>.\fernsera.cpp(50) : error C2248: "fernseher::aktiv": Kein Zugriff auf private Member, dessen Deklaration in der fernseher-Klasse erfolgte.
1> .\fernsera.cpp(12): Siehe Deklaration von 'fernseher::aktiv'
1> .\fernsera.cpp(7): Siehe Deklaration von 'fernseher'
1>.\fernsera.cpp(62) : error C2248: "fernseher::aktiv": Kein Zugriff auf private Member, dessen Deklaration in der fernseher-Klasse erfolgte.
1> .\fernsera.cpp(12): Siehe Deklaration von 'fernseher::aktiv'
1> .\fernsera.cpp(7): Siehe Deklaration von 'fernseher'
1>.\fernsera.cpp(66) : error C2143: Syntaxfehler: Es fehlt ';' vor '{'
1>.\fernsera.cpp(67) : error C2248: "fernseher::aktiv": Kein Zugriff auf private Member, dessen Deklaration in der fernseher-Klasse erfolgte.
1> .\fernsera.cpp(12): Siehe Deklaration von 'fernseher::aktiv'
1> .\fernsera.cpp(7): Siehe Deklaration von 'fernseher'
1>.\fernsera.cpp(70) : error C2248: "fernseher::lautstaerke": Kein Zugriff auf private Member, dessen Deklaration in der fernseher-Klasse erfolgte.
1> .\fernsera.cpp(10): Siehe Deklaration von 'fernseher::lautstaerke'
1> .\fernsera.cpp(7): Siehe Deklaration von 'fernseher'
1>.\fernsera.cpp(71) : error C2248: "fernseher::programm": Kein Zugriff auf private Member, dessen Deklaration in der fernseher-Klasse erfolgte.
1> .\fernsera.cpp(11): Siehe Deklaration von 'fernseher::programm'
1> .\fernsera.cpp(7): Siehe Deklaration von 'fernseher'

wie krieg ich das jetzt hin das ich den Zugriff auf die privaten Member habe denn nur daran scheitert es jetzt noch
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
029
16.05.2009, 09:17 Uhr
Tommix



'Morgen
Du schreibst in die Klasse Zugriffsfunktionen. Genau wie für das Einstellen von Programm und Lautstärke machst Du "Einschalten" "Ausschalten" usw. Die können auf private Member zugreifen. Für die Abfrage genaus so:

C++:
// ....
ref class fernseher{
private:
//...
    Int32 aktiv;
// ...
public:
    Int32 Aktiv() { return aktiv; }
//...

if (meinFernseher->Aktiv() == ...



Die Kommentare von 0xdeafbeef solltest Du trotzdem mal durchdenken. Die Benutzereingabe z.B. aus der Fernseherklasse rauszunehmen ist, CLI hin oder her, einfach von der Struktur her vernünftig. Wenn Du irgendwann mal eine grafische Oberfläche programmierst, ist Dir der ganze Console:: Kram im Weg.

Gruß, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] [ 2 ] > 3 < [ 4 ] [ 5 ]     [ C++CLI / VB .Net / .Net-Framework ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: