Ich kann den Fehlr nicht finden. Bitte um dringende Hilfe
-
Hallo, bin derzeit schüler einer BS. und werde mit c++ gequält ^^
Ich bekomme oft fehlermeldungen die ich nicht beheben kann und daher hilfe benötige. Ich hoffe es findet jemand etwas zeit für mich.
Der Quellcode:#include <cstdlib>
#include <iostream>
#include <iomanip>using namespace std;
class Abnehmer
{
private:
double stand_gas, stand_str, stand_w;public:
bool Speichern (double, double, double);
void Ablesen();void Abnehmer::init(double uebergabe_stand_gas, double uebergabe_stand_strom, double uebergabe_stand_wasser)
{
stand_gas=uebergabe_stand_strom;
stand_str=uebergabe_stand_strom;
stand_w=uebergabe_stand_wasser;
}
Abnehmer(); //Konst.~Abnehmer();//destsruktor
};
int main()
{
int i;
double gas, wasser, strom, gasges=0, strges=0, wges=0;Abnehmer Kunde[100]; //objekterzeugung
Kunde[0].Speichern
(605,3800,150);
Kunde[0].Ablesen();Kunde[1].Speichern
(403,642,200);
Kunde[1].Ablesen();Kunde[2].Speichern
(234,1354,133);
Kunde[2].Ablesen();for (i=0;i<=99;i++)
{
Kunde[i].Ablesen();
};bool Abnehmer::Speichern (double stand_gas, double stand_str, double stand_w);
bool Abnehmer::Ablesen()
{
cout<<"--------------------------"<<endl;
cout<<"Gasverbrauch"<<stand_gas<<endl;
cout<<"Stromverbrauch"<<stand_str<<endl;
cout<<"Wasserverbrauch"<<stand_w<<endl;
cout<<"--------------------------"<<endl;
};system("PAUSE");
return EXIT_SUCCESS;
}Der Default konstruktor soll die Daten für die restlichen Kunden (97 restliche kunden) auf einen standartwert (geschätzten wert der stadtwerke setzten -->Gas=600, strom=3600kWh und wasser=130m³)
In zeile 56 bekomme ich die fehlermeldung :
declaration of `bool Abnehmer::Speichern(double, double, double)' outside of class is not definitionIn zeile 58 bekomme ich die fehlermeldung :
expected primary-expression before "bool"
und noch.. expected `;' before "bool"ich bitte echt um dringende Hilfe- schriebe morgen eine klausur o.0
dankeschön im schonmal im vorraus!!!

-
und werde mit c++ gequält ^^
Sei froh,dass du es lernen darfst.
Ich kann den Fehlr nicht finden. Bitte um dringende Hilfe
4 Wort - dort ist der Fehler.
Kannst du das mal CodeTags packen ?
public: bool Speichern (double, double, double);Liegt es vielleicht daran, dass du dort bei den Parametern nicht nur den Typ, sondern auch Name übergeben musst?! Zudem sollte innerhalb der main Speichern(varname1, varname2,varname3) aufgerufen werden und nicht noch zusätzlich den Datentypen angeben..
Habt ihr euren Code immmer nur in einer Datei?
-
Warum stehen
bool Abnehmer::Speichern (double stand_gas, double stand_str, double stand_w);
bool Abnehmer::Ablesen()
innerhalb der main-Funktion?
-
Hi, lies dir bitte die mit wichtig gekennzeichneten Threads durch, bevor du in einem Forum postest. Dann wären dir diverse Anfängerfehler nicht passiert, wegen denen dir auf die Frage jetzt keine ordentliche Antwort gegeben werden kann.
Lies dir bitte den Link in meiner Signatur durch und frage dann nochmal - dann wird dir auf jeden Fall geholfen
-
habe den fehler bereits etwas verschönert^^^..habe nur noch 2 fehlermeldungen..aber ich find sie einfach nicht..
#include <cstdlib>
#include <iostream>
#include <iomanip>using namespace std;
class Abnehmer
{
private:
double stand_gas, stand_str, stand_w;public:
bool Speichern (double, double, double);
void Ablesen();
Abnehmer();
~Abnehmer();
};int i;
int main(){
Abnehmer Kunde[100]; //objekterzeugung
Kunde[0].Speichern
(605,3800,150);
Kunde[0].Ablesen();Kunde[1].Speichern
(403,642,200);
Kunde[1].Ablesen();Kunde[2].Speichern
(234,1354,133);
Kunde[2].Ablesen();for (i=3; i<100; i++)
{
Kunde[i].Ablesen();
}
system("PAUSE");
return 0;
};
//..............................................................................init void Abnehmer::init(int std_gas, int std_str, int std_w)
{
std_gas= stand_gas;
std_str= stand_str;
std_w= stand_w;
}void Abnehmer::Ablesen()
{
cout<<"Gasverbrauch"<<stand_gas<<endl;
cout<<"Stromverbrauch"<<stand_str<<endl;
cout<<"Wasserverbrauch"<<stand_w<<endl;
}//Konst.
Abnehmer::Abnehmer()
{
i=i++;
stand_gas=600;
stand_str=3600;
stand_w=130;
}//Dest.
Abnehmer::~Abnehmer()
{
cout<<"Destructor"<<endl;
}
-
pumuckl schrieb:
Hi, lies dir bitte die mit wichtig gekennzeichneten Threads durch, bevor du in einem Forum postest. Dann wären dir diverse Anfängerfehler nicht passiert, wegen denen dir auf die Frage jetzt keine ordentliche Antwort gegeben werden kann.
Lies dir bitte den Link in meiner Signatur durch und frage dann nochmal - dann wird dir auf jeden Fall geholfen
QFT.
Wenn dir solche Antworten gegeben werden, dann halte dich da dran, anstatt nochmal die gleichen Fehler zu wiederholen. Am Anfang wird so etwas ja noch einmal verziehen, aber mehrmals? Du bist gerade auf dem schnellsten Weg, alle Helfer zu vergraulen
-
#include <cstdlib>
#include <iostream>
#include <iomanip>using namespace std;
class Abnehmer
{
private:
double stand_gas, stand_str, stand_w;public:
bool Speichern (double, double, double);
void Ablesen();
Abnehmer();
~Abnehmer();
};int i;
int main(){
Abnehmer Kunde[100]; //objekterzeugung
Kunde[0].Speichern
(605,3800,150);
Kunde[0].Ablesen();Kunde[1].Speichern
(403,642,200);
Kunde[1].Ablesen();Kunde[2].Speichern
(234,1354,133);
Kunde[2].Ablesen();for (i=3; i<100; i++)
{
Kunde[i].Ablesen();
}
system("PAUSE");
return 0;
};
//..............................................................................bool Abnehmer::Speichern(double std_gas, double std_str, double std_w)
{
stand_gas= std_gas;
stand_str= std_str;
stand_w= std_w;
}void Abnehmer::Ablesen()
{
cout<<"-------------------------------------------"<<endl;
cout<<"Gasverbrauch :"<<stand_gas<<endl;
cout<<"Stromverbrauch :"<<stand_str<<endl;
cout<<"Wasserverbrauch :"<<stand_w<<endl;
cout<<"-------------------------------------------"<<endl;system("PAUSE");
}//Konst.
Abnehmer::Abnehmer()
{
i=i++;
stand_gas=600;
stand_str=3600;
stand_w=130;
}//Dest.
Abnehmer::~Abnehmer()
{
cout<<"Destructor"<<endl;
}
-
Jetzt hast du alle Helfer vergrault...
Bitte benutz´ die CPP Code Tags, so kann (und vor allem: will) kein Mensch den Code lesen.
-
habe nur noch 2 fehlermeldungen..aber ich find sie einfach nicht..
Ohne genaue Fehlerbeschreibungen ist die Aussage relativ nutzlos, obs nun 2 oder 200 sind.
using namespace std;Kompletter namespace global für eine bzw zwei Funktionen übernommen ->
benutz besser die using-Direktive innerhalb der Funktionenusing std::cout;oder bleib direkt beim std::cout << xx;
-
Ich mach hier mal zu. Vielleicht animiert das den OP, die Antworten alle mal durchzuselen und auch zu beherzigen. Ordentliche fragen stellen, formatierten Code posten - dann gitbs auch Hilfe. So aber nicht.