Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 16:37

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



C++ brauche Hilfe bei Klassen

Discussion on C++ brauche Hilfe bei Klassen within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
©rossi™'s Avatar
 
elite*gold: 0
Join Date: Jul 2010
Posts: 151
Received Thanks: 22
C++ brauche Hilfe bei Klassen

Hi,
da ich heute in meinem Buch wieder ein Stück weiter gekommen bin und nun bei den Klassen angekommen bin habe ich mal fleißig alles durchgelesen und den Code abgetippt.Mein Problem ist das sich der Code nicht erfolgreich durchführen lässt, weil ich irgendwas falsch gemacht hab, dabei steht es so bei mir im Buch.

Hier ma der Code:
Code:
#include <iostream>

using namespace std;

class Bankkunde
{
    private:
        string vorname;
        string nachname;
        int kto_nr;
        double kto_stand;
        double limit;
    public:
        void setVorname (string v)
        {vorname = v ;}
        string getVorname ()
        {return vorname;}
        void setNachname (string n)
        {nachname = n;}
        string gehtNachname ()
        {return nachname;}
        void setKontonr(int nr)
        {kto_nr = nr;}
        int getKontonr ()
        {return kto_nr;}
        double setKontostand (double betrag)
        {kto_stand = betrag;}
        double getKontostand ()
        {return kto_stand;}
        };
void Bankkunde::setLimit(double l)
{
    if (l >= 0)
        limit = 1;
}
void Bankkunde::einzahlen(double betrag)
{
    if (betrag > o)
        kto_stand += betrag;
}
int Bankkunde::auszahlen(double betrag)
{
    if (betrag <= 0)
        return 2; //negativer Auszahlungsbetrag
    if (kto_stand -betrag >= -limit)
    {
        kto_seand -= betrag;
        return 0; //Auszahlung ist erfolgt
    }
    else
        return 1; // Auszahlung nicht möglich
}
    }
hoffe ihr könnt mir mal wieder helfen
mfg
©rossi™ is offline  
Thanks
1 User
Old 10/16/2010, 14:48   #2
 
elite*gold: 42
Join Date: Jun 2008
Posts: 5,426
Received Thanks: 1,888
Bei sowas bitte auch die Fehlermeldungen mitposten
Aber wenn ich mir das ganze so anschaue, hast du NICHTS verstanden. Die Fehlermeldungen sagen übrigens genau aus, was du Falsch gemacht hast. Lerne diese zu Verstehen.
MoepMeep is offline  
Thanks
1 User
Old 10/16/2010, 14:52   #3
 
©rossi™'s Avatar
 
elite*gold: 0
Join Date: Jul 2010
Posts: 151
Received Thanks: 22
Quote:
Originally Posted by MoepMeep View Post
Bei sowas bitte auch die Fehlermeldungen mitposten
Aber wenn ich mir das ganze so anschaue, hast du NICHTS verstanden. Die Fehlermeldungen sagen übrigens genau aus, was du Falsch gemacht hast. Lerne diese zu Verstehen.
E:\Codeblocks\C++ Lernen\klassen\main.cpp||In member function `double Bankkunde::setKontostand(double)':|
E:\Codeblocks\C++ Lernen\klassen\main.cpp|27|warning: no return statement in function returning non-void|
E:\Codeblocks\C++ Lernen\klassen\main.cpp|32|error: no `void Bankkunde::setLimit(double)' member function declared in class `Bankkunde'|
E:\Codeblocks\C++ Lernen\klassen\main.cpp|37|error: no `void Bankkunde::einzahlen(double)' member function declared in class `Bankkunde'|
E:\Codeblocks\C++ Lernen\klassen\main.cpp|42|error: no `int Bankkunde::auszahlen(double)' member function declared in class `Bankkunde'|
E:\Codeblocks\C++ Lernen\klassen\main.cpp|53|error: expected declaration before '}' token|
||=== Erstellen beendet: 4 Fehler, 1 Warnungen===|
das ist die fehlermeldung ich hab jetzt auch ein paar Fehler verbessert von denene ich deie Fehlermeldung vorher nicht gesehen hatte
jetzt sieht mein code so aus :
Code:
#include <iostream>

using namespace std;

class Bankkunde
{
    private:
        string vorname;
        string nachname;
        int kto_nr;
        double kto_stand;
        double limit;
    public:
        void setVorname (string v)
        {vorname = v ;}
        string getVorname ()
        {return vorname;}
        void setNachname (string n)
        {nachname = n;}
        string gehtNachname ()
        {return nachname;}
        void setKontonr(int nr)
        {kto_nr = nr;}
        int getKontonr ()
        {return kto_nr;}
        double setKontostand (double betrag)
        {kto_stand = betrag;}
        double getKontostand ()
        {return kto_stand;}
        };
void Bankkunde::setLimit(double l)
{
    if (l >= 0)
        limit = 1;
}
void Bankkunde::einzahlen(double betrag)
{
    if (betrag > 0)
        kto_stand += betrag;
}
int Bankkunde::auszahlen(double betrag)
{
    if (betrag <= 0)
        return 2; //negativer Auszahlungsbetrag
    if (kto_stand -betrag >= -limit)
    {
        kto_stand -= betrag;
        return 0; //Auszahlung ist erfolgt
    }
    else
        return 1; // Auszahlung nicht möglich
}
    }
mfg
©rossi™ is offline  
Old 10/16/2010, 14:53   #4
 
code:blank's Avatar
 
elite*gold: 0
Join Date: Jul 2008
Posts: 42
Received Thanks: 3
Was soll da denn überhaupt ausgeführt werden - du hast ja nicht einmal den Haupteinstiegspunkt (main()) implementiert.
Außerdem wäre es hilfreich, wenn du die Fehlermeldung, die der Kompiler ausgespuckt hat, posten würdest.

€: zu langsam

Ich würde dir übrigens empfehlen, Klassen in jeweils eine .h (Klassendeklaration) und die .c (Implementierung) Datei zu spalten - das macht das ganze deutlich übersichtlicher.
Bevor du Funktionen/Methoden implementierst musst du sie selbstverständlich auch in der Klassendeklaration deklarieren.
code:blank is offline  
Thanks
1 User
Old 10/16/2010, 15:07   #5


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,904
Received Thanks: 25,394
erstmal deine setKontostand.

die sollte void sein, da du nichts returnst, was ja auch logisch ist, bei einer set Funktion.

außerdem hast du die Funktionen nicht in der Klasse deklariert, das sagt dir der Compiler doch!

du kannst nicht
Code:
int Bankkunde::auszahlen()
{
//bla
}
schreiben, wenn du es in der klasse nicht deklariert hast.
das kommt davon, wenn man alle kurzen funktionen direkt in der klassendeklaration definieren will, dann vergisst man die funktionen zu deklarieren, die man lieber seperat definieren will.

hier mal der code sehr viel schöner:

Code:
class Bankkunde
{
    private:
        string vorname;
        string nachname;
        int kto_nr;
        double kto_stand;
        double limit;

    public:
        void setVorname (string v);
        string getVorname ();
        void setNachname (string n);
        string gehtNachname ();

        void setKontonr(int nr);
        int getKontonr ();

        void setKontostand (double betrag);
        double getKontostand ();

        void setLimit(double l);

        void einzahlen(double betrag);
        auszahlen(double betrag);
};
definieren müsstest du dann seperat, wie du es mit einzahlen und auszahlen gemacht hast.

ich weigere mich zu glauben, dass du das so aus einem buch kopiert hast, denn falls das so ist, war der typ nicht fähig genug, dieses buch zu schreiben.
so nen code anfängern vorzusetzen...gibts doch nicht. solche leute sollten keine bücher schreiben und das sind auch meistens die, die tutorials schreiben.

wie Moep aber schon sagte, das zeigt, dass du nichts verstanden hast.
weder die fehlermeldungen vom compiler, noch klassen an sich.
du sollst nicht nur copypasten, sondern auch verstehen.
MrSm!th is offline  
Old 10/16/2010, 15:12   #6
 
©rossi™'s Avatar
 
elite*gold: 0
Join Date: Jul 2010
Posts: 151
Received Thanks: 22
Quote:
Originally Posted by MrSm!th View Post
erstmal deine setKontostand.

die sollte void sein, da du nichts returnst, was ja auch logisch ist, bei einer set Funktion.

außerdem hast du die Funktionen nicht in der Klasse deklariert, das sagt dir der Compiler doch!

du kannst nicht
Code:
int Bankkunde::auszahlen()
{
//bla
}
schreiben, wenn du es in der klasse nicht deklariert hast.
das kommt davon, wenn man alle kurzen funktionen direkt in der klassendeklaration definieren will, dann vergisst man die funktionen zu deklarieren, die man lieber seperat definieren will.

hier mal der code sehr viel schöner:

Code:
class Bankkunde
{
    private:
        string vorname;
        string nachname;
        int kto_nr;
        double kto_stand;
        double limit;

    public:
        void setVorname (string v);
        string getVorname ();
        void setNachname (string n);
        string gehtNachname ();

        void setKontonr(int nr);
        int getKontonr ();

        void setKontostand (double betrag);
        double getKontostand ();

        void setLimit(double l);

        void einzahlen(double betrag);
        auszahlen(double betrag);
};
definieren müsstest du dann seperat, wie du es mit einzahlen und auszahlen gemacht hast.

ich weigere mich zu glauben, dass du das so aus einem buch kopiert hast, denn falls das so ist, war der typ nicht fähig genug, dieses buch zu schreiben.
so nen code anfängern vorzusetzen...gibts doch nicht. solche leute sollten keine bücher schreiben und das sind auch meistens die, die tutorials schreiben.

wie Moep aber schon sagte, das zeigt, dass du nichts verstanden hast.
weder die fehlermeldungen vom compiler, noch klassen an sich.
du sollst nicht nur copypasten, sondern auch verstehen.
ok glaub ich lass das buch dann erstma liegen und greif zu nem anderen was ich gerade da habe

werd dann nochmal alles in ruhe durchgehen und falls ich dann nomma Probleme haben sollte melde ich mich nocheinmal
€dit: kennt zufällig jemand das Buch : c++ Lernen und professionell anwenden von ulla Kirch-prinz und Peter Prinz und weiß ob es empfehlenswert ist ?
mfg
©rossi™ is offline  
Old 10/16/2010, 15:31   #7
 
elite*gold: 42
Join Date: Jun 2008
Posts: 5,426
Received Thanks: 1,888
Mich würde interessieren, welches Buch du da verwendet hast.



Da fällt mir ein, ich komm mit den Fehlermeldungen von VS deutlich besser klar als mit denen von Code::Blocks. Vorallem die error-codes sind sehr praktisch bei ausgefallerenen Fehlern, kannst du dir ja mal anschauen ;D
Code:
Fehler	1	error C2039: 'setLimit': Ist kein Element von 'Bankkunde'
Fehler	2	error C2065: 'limit': nichtdeklarierter Bezeichner
Fehler	3	error C2039: 'einzahlen': Ist kein Element von 'Bankkunde'	 
Fehler	4	error C2065: 'o': nichtdeklarierter Bezeichner
Fehler	5	error C2065: 'kto_stand': nichtdeklarierter Bezeichner
Fehler	6	error C2039: 'auszahlen': Ist kein Element von 'Bankkunde'
Fehler	7	error C2065: 'kto_stand': nichtdeklarierter Bezeichner
Fehler	8	error C2065: 'limit': nichtdeklarierter Bezeichner
Fehler	9	error C2065: 'kto_seand': nichtdeklarierter Bezeichner
Fehler	10	error C2059: Syntaxfehler: '}'
Fehler	11	error C2143: Syntaxfehler: Es fehlt ';' vor '}'	
Fehler	12	error C2059: Syntaxfehler: '}'
MoepMeep is offline  
Old 10/16/2010, 15:32   #8


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,904
Received Thanks: 25,394


kann ich dir empfehlen
zu deinem vorschlag kann ich nix sagen
MrSm!th is offline  
Thanks
1 User
Old 10/16/2010, 15:36   #9
 
©rossi™'s Avatar
 
elite*gold: 0
Join Date: Jul 2010
Posts: 151
Received Thanks: 22
Quote:
Originally Posted by MoepMeep View Post
Mich würde interessieren, welches Buch du da verwendet hast.
Kein Problem
Das Buch was ich verwendet habe, war c++ von walter saumweber und vom Markt+ Technik verlag.
@MrSm!th habe schon öfter gehört das dieses Buch gut sein soll, wirds mir auch gern holen scheitert nur am vorhandenen Geld da ich auf einen Laptop spare Alle meine Bücher bis jetzt waren aus der Bücherei

mfg
©rossi™ is offline  
Old 10/16/2010, 16:04   #10
 
elite*gold: 42
Join Date: Jun 2008
Posts: 5,426
Received Thanks: 1,888
Das Buch ist in meinen Augen das nonplusultra, allerdings als anfänger nur bedingt zu gebrauchen :x

Markt+Technik Bücher sollen generell der größte scheiß sein. ^^



Das Buch kenn ich zwar nicht, allerdings einen der Autoren und der ist ein verdammt guter Lehrer
MoepMeep is offline  
Old 10/16/2010, 16:07   #11
 
©rossi™'s Avatar
 
elite*gold: 0
Join Date: Jul 2010
Posts: 151
Received Thanks: 22
Quote:
Originally Posted by MoepMeep View Post
Das Buch ist in meinen Augen das nonplusultra, allerdings als anfänger nur bedingt zu gebrauchen :x
Ok dann les ich erstma was anderes

mfg
©rossi™ is offline  
Old 10/16/2010, 16:13   #12
 
elite*gold: 42
Join Date: Jun 2008
Posts: 5,426
Received Thanks: 1,888
Quote:
Originally Posted by Crossi xD View Post
Ok dann les ich erstma was anderes

mfg
Hab noch was reineditiert
MoepMeep is offline  
Old 10/16/2010, 16:38   #13
 
©rossi™'s Avatar
 
elite*gold: 0
Join Date: Jul 2010
Posts: 151
Received Thanks: 22
Quote:
Originally Posted by MoepMeep View Post
Das Buch ist in meinen Augen das nonplusultra, allerdings als anfänger nur bedingt zu gebrauchen :x

Markt+Technik Bücher sollen generell der größte scheiß sein. ^^



Das Buch kenn ich zwar nicht, allerdings einen der Autoren und der ist ein verdammt guter Lehrer
jo ganz net ich les gerade das :

mfg
©rossi™ is offline  
Old 10/16/2010, 22:32   #14
 
black0utCpp's Avatar
 
elite*gold: 0
Join Date: Oct 2010
Posts: 381
Received Thanks: 210
Außerdem würde ich dir empfehlen nicht sofort bei jedem Problem hier einen Thread zu erstellen sondern es SELBER zu lernen so wird das wohl oder übel nichts :-( !
Denn :
Selbst erlerntes behält man leichter als Lösungen , die man von irgendjemand "gesteckt" bekommt .

Buchtipps:

(galileocomputing == Sehr guter Verlag)

C++ von A bis Z von Jürgen Wolf
Einstieg in C++ von Arnold Willemer

Greetz Black0ut!
black0utCpp is offline  
Thanks
2 Users
Reply


Similar Threads Similar Threads
Welche Klassen kann man mit den Klassen von WoW vergleichen?
10/09/2011 - General Gaming Discussion - 30 Replies
Thema sagt eigentl. alles ;)
[Hilfe]Brauche Hilfe kann mir wer beim Tool fixxen helfen
10/12/2010 - Metin2 Private Server - 3 Replies
Hallo E*pvp Ich brauche drigend Hilfe beim Fixxen Von dem Server hack Tool Ich hoffe es ist jemand so nett und hilft mir PS: Es ist ein Root Server. Mfg Sonnylein
Bitte ich brauch dringend hilfe bei der klassen auswahl.. =)
08/18/2010 - World of Warcraft - 8 Replies
Also Leute... Ich hab jetzt echt schon vielzulange wow gespielt um zu sagen " ich weiß nicht welche klasse ich spielen soll =)" Also ich Pendle grade zwischen Schurke und Priester.. Wovon ich mich schon verabschiedet hab is: Krieger, dudu | naja ich will eher Raiden als aufs schlachtfeld zu gehen.. also eher pve.. Ich möchte nur Damage dealen und nochmal Damage dealen..
Ich brauch Hilfe beim einrichten von Klassen-Lehrern !!
05/24/2010 - WoW Private Server - 0 Replies
Hallo Leute! Mein Server ist nun sehr weit aufgebaut aber mir fehlen noch die costum lehrer Nu hab ich mir ein Krieger Lehrer gemacht bei WoW Vendetta - Wage Your War | WoW-V.com aber der braucht noch diese lernspells^^ wie mach ich das? Das der Lehrer denn die Lernspells bekommt? Danke für die hilfe im vorraus Mfg Chaoswownew!
Brauche Dringend Hilfe! Bin Metin spieler aber Brauche Hilfe
12/30/2009 - Metin2 Private Server - 0 Replies
Es gehört hier zwar nicht rein , aber ich weiß keine andere Lösung Ich habe seit einigen Tagen ein Problem... Microsoft Windows Search Protocol Host funktioniert nicht mehr Die Anwendung wird Aufgrund eines Problems nicht mehr richtig Ausgeführt. Ich weiß nicht was das ist und wie ich es loswerde.



All times are GMT +2. The time now is 16:37.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.