C++: Fehler? Falsche Werte werden ausgegeben

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:) :( :D :lol: :ROFL: :8) :Yahoo!: :x :oops: :cry: :evil: :twisted: :roll: ;) :o :shock: :crazy: :%) :P :P: :Rose: =@ :Bravo: :good: :bad: :sorry: :pardon: :beer: :friends: :angel: :unknown: :fool: :shout: :bye: :dance: :greez: :mocking: :?: :comfort :flag: :morning: :scare: :whistle; :dash;
BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet
Die letzten Beiträge des Themas
   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: C++: Fehler? Falsche Werte werden ausgegeben

Re: C++: Fehler? Falsche Werte werden ausgegeben

Beitrag von maximi » Mi 8. Mär 2017, 15:14

Hallo,
habe den/die Fehler gefunden.
Der Funktionsaufruf in main() für die Initialisierung wurde vergessen.
Und in der Methode blaetterFallen() wurde "anzahl" statt "blaetterAnzahl" angegeben.

danke und Gruß

C++: Fehler? Falsche Werte werden ausgegeben

Beitrag von maximi » Mi 8. Mär 2017, 14:25

Hallo,
ich lerne momentan C++ und habe ein Testprojekt gemacht.
Leider sind die Ausgaben der Attributwerte nicht ganz korrekt, und ich weiß nicht wie das zu Stande kommt.

Ich bekomme folgende Ausgaben:
Blätter: 250 stk.
Höhe: 65635 mm
Dicke: 14 mm
Blätter: 200 stk.

Doch normalerweise (korrekterweise), sollten die Ausgaben wie folgt aussehen:
Blätter: 250 stk.
Höhe: 100 mm
Dicke: 10 mm
Blätter: 150 stk.

Wo liegt der Fehler?

Hier der gesamte Quelltext:


#include <iostream>

using namespace std;

class baum
{
int hoehe;
int durchmesserStamm;
int blaetterAnzahl;

public:
void blaetterFallen(int);
void blaetterErzeugen(int);
void groesserWerden(int);
void dickerWerden(int);
void init();
};

void baum::init()
{
hoehe = 0;
durchmesserStamm = 0;
blaetterAnzahl = 0;
}

void baum::blaetterFallen(int anzahl)
{
if ((blaetterAnzahl - anzahl) <= 0)
blaetterAnzahl = 0;
else
{
blaetterAnzahl = blaetterAnzahl - anzahl;
cout << "Anzahl der Blätter: " <<anzahl << endl;
}
}

void baum::blaetterErzeugen(int anzahl)
{
blaetterAnzahl = blaetterAnzahl + anzahl;
cout << "Anzahl der Blätter: " << anzahl << endl;
}

void baum::groesserWerden(int mm)
{
hoehe = (hoehe + mm);
cout << "Hoehe des Baumes: " << hoehe << " mm.\n";
}

void baum::dickerWerden(int mm)
{
durchmesserStamm = durchmesserStamm + mm;
cout << "Der Stamm ist " << durchmesserStamm << " mm dick." << endl;
}



int main()
{
baum eiche1;
eiche1.blaetterErzeugen(250);
eiche1.groesserWerden(100);
eiche1.dickerWerden(10);
eiche1.blaetterFallen(100);
}



danke und schöne Grüße

Nach oben

cron

x