C++
-
Ich hab in C++ ein Problem:
Mein Programm:#include <iostream>
#include <stdlib.h>using namespace std;
class containerSchiff
{
private:
int standOrt[3];
int anzahlContainer[3];
int kapazitaetContainer[3];
int schiff[3];
float preis_je_container[3];
float gesamtUmsatz;public:
containerSchiff();
~containerSchiff();
void zeige_containerSchiff();
void veraendere_containerSchiff();
void belade_containerSchiff();
void entlade_containerSchiff();
void fahre_containerSchiff();
int gebeStandOrt();
};
//------------------------------------------------------------------------------
//Hauptprogramm
int main(void)
{
containerSchiff container1;
char wahl;
int schiff[3];
int standOrt[3];
int anzahlContainer[3];
int kapazitaetContainer[3];
float preis_je_container[3];int i;
cout<<endl;
cout<<"Welches Schiff wollen sie bearbeiten?";
cin>>i;
cout<<endl;while(wahl!='E')
{
cout<<endl;
cout<<"Auswahl"<<endl;
cout<<"========"<<endl;
cout<<"Containerschiff zeigen......1"<<endl;
cout<<"Containerschiff veraendern..2"<<endl;
cout<<"Containerschiff beladen.....3"<<endl;
cout<<"Containerschiff entladen....4"<<endl;
cout<<"Containerschiff fahren......5"<<endl;
cout<<"Standort geben..............6"<<endl;
cout<<"Ende........................E"<<endl;
cout<<"Wahl.......................:";
cin>>wahl;switch(wahl)
{
case '1': container1.zeige_containerSchiff();break;
case '2': container1.veraendere_containerSchiff();break;
case '3': container1.belade_containerSchiff();break;
case '4': container1.entlade_containerSchiff();break;
case '5': container1.fahre_containerSchiff();break;
case '6': container1.gebeStandOrt();break;
default: system("PAUSE");
return 0;
}}
system("PAUSE");
return 0;
}//Ende Hauptprorgamm
//------------------------------------------------------------------------------
//Implementation der Elemente
containerSchiff::containerSchiff()
{
int i;
for(i=0;i<3;i++)
{
cout<<"Definieren Sie ihr Schiff"<<endl;
cout<<"Schiff["<<i<<"]"<<endl;
cout<<"Standort: ";
cin>>standOrt[i];
cout<<"Anzahl Container: ";
cin>>anzahlContainer[i];
cout<<"Kapazitaet Container: ";
cin>>kapazitaetContainer[i];
cout<<"Preis je Container: ";
cin>>preis_je_container[i];
}
for(i=0;i<3;i++)
{
cout<<"--------------------------------------"<<endl;
cout<<"Schiff:..............["<<i<<"]"<<endl;
cout<<"Standort: "<<standOrt[i]<<endl;
cout<<"Anzahl Container: "<<anzahlContainer[i]<<endl;
cout<<"Kapazitaet Container: "<<kapazitaetContainer[i]<<endl;
cout<<"Preis je Container: "<<preis_je_container[i]<<endl;
cout<<"Gesamtumsatz:........."<<gesamtUmsatz<<endl;
cout<<"--------------------------------------"<<endl;}
}
//------------------------------------------------------------------------------
containerSchiff::~containerSchiff()
{
cout<<"Destruktor"<<endl;
}
//------------------------------------------------------------------------------
void containerSchiff::zeige_containerSchiff()
{
float gesamtUmsatz=0;
int i;cout<<"--------------------------------------"<<endl;
cout<<"Schiff:..............["<<i<<"]"<<endl;
cout<<"Standort: "<<standOrt[i]<<endl;
cout<<"Anzahl Container: "<<anzahlContainer[i]<<endl;
cout<<"Kapazitaet Container: "<<kapazitaetContainer[i]<<endl;
cout<<"Preis je Container: "<<preis_je_container[i]<<endl;
cout<<"Gesamtumsatz:........."<<gesamtUmsatz<<endl;
cout<<"--------------------------------------"<<endl;}
//------------------------------------------------------------------------------
void containerSchiff::veraendere_containerSchiff()
{
int i;cout<<"Standort: ";
cin>>standOrt[i];
cout<<"Anzahl Container: ";
cin>>anzahlContainer[i];
cout<<"Kapazitaet Container: ";
cin>>kapazitaetContainer[i];
cout<<"Preis je Container: ";
cin>>preis_je_container[i];}
//------------------------------------------------------------------------------
void containerSchiff::belade_containerSchiff()
{
int zuladung_container;
int i;
if (kapazitaetContainer>anzahlContainer)
{
cout<<"Wieviel Container sollen auf das Schiff geladen werden?";
cin>>zuladung_container;anzahlContainer[i]=anzahlContainer[i]+zuladung_container;
}}
//------------------------------------------------------------------------------
void containerSchiff::entlade_containerSchiff()
{int abladung_container;
float gesamtUmsatz=0;
int i;cout<<"Wieviel Container sollen vom Schiff geladen werden?";
cin>>abladung_container;anzahlContainer[i]=anzahlContainer[i]-abladung_container;
gesamtUmsatz=gesamtUmsatz+(abladung_container*preis_je_container[i]);
}
//------------------------------------------------------------------------------
void containerSchiff::fahre_containerSchiff()
{
if (anzahlContainer<0)
{
cout<<"Das Schiff ist fahrbereit."<<endl;
}
else
{
cout<<"Das Schiff ist nicht fahrbereit."<<endl;
}
}
//------------------------------------------------------------------------------
int containerSchiff::gebeStandOrt()
{
cout<<"Standort: "<<standOrt<<endl;
}
//------------------------------------------------------------------------------Mein Problem ist, dass, wenn ich eingebe, welches Schiff ich bearbeiten moechte, dass wenn ich da z.B. 1 eingebe immer das schiff 0 mir angezeigt wird.
wie geht das, dass wenn ich schiff 1 eingebe auch von schiff 1 die daten dann angezeigt werden?
-
Erstmal ein paar Sachen der Übersicht halber
1. es ist nicht gut dem thread nur den titel c++ in einem c++ forum zu geben
2. hast du zahlreiche formatierungsmglk beim erstellen...
3. sollte man den code nicht linksbündig angeben, is echt **** zu lesen...Desweiteren Rate ich auch mal an, hier ein paar faq zu studieren...
Der Code sieht nicht sonderlich gut aus...
Nun zum Problem:Du liest zwar die variable i ein, jedoch verwendest du sie im weiteren Verlauf überhaupt nicht. Woher soll da also eine Verwendung dessen kommen ?
Desweiteren erstellst du in der main() eine menge variablen, die du dort überhaupt nicht nutzt.
Eine Klasse ist dazu gedacht als Schablone zu dienen, von der mehrere Objekte erstellt werden. Du erstellst nur ein einziges Objekt und ich glaube so hast du das mit der Bezeichung Container auch nicht gemeint... Statt der Klasse Container solltest du eine klasse Schiff machen und davon einen Array anlegen... übrigens sollten in einem Konstruktor keine abfragen stehen...
Viel erfolg
-
na vielen dank auch.
1. hat unser lehrer gemeint, wir sollen die klasse so nennen, also das war nicht meine erfindung.
2. hab ich 0 verstanden von dem was du eben geschrieben hast.
3. koenntest du mir das nochmal genauer erklaeren?
4. haben wir das so in der schule gelernt, das programm so zu strukturieren, war also auch nicht meine erfindung.
-
Beim schreiben hier im Forum sollst du deinem Thema einen Besseren Titel geben. Und nicht einfach nur "C++", da checken wir ja gar nicht worum's geht.
Außerdem benutz bitte die C++-Tags. Dann sieht alles schön aus. Guck:
ohne tags:
int main()
{
std::cout << "asd";
}mit tags:
int main() { std::cout << "asd"; }Das geht so: [ cpp ] text [ /cpp ] nur ohne die leerzeichen
Anschauen bitte: http://c-plusplus.net/forum/viewtopic-var-t-is-136013.html
-
Zu l4gunas Punkt 2 hier mal eine Demonstration des [ cpp] Tags hier im Board, die Formatierungen kommen von AStyler (nicht dass jemand meint ich hätte mir hier viel Arbeit gemacht :D)
Im Quellcode findest Du ein paar Kommentare meinerseits. Wenn irgendwas davon nicht den Lehren Eures Lehrers entspricht tuts mir leid, wir machen hier nunmal ISO C++.
#include <iostream> #include <stdlib.h> // Heisst in C++ cstdlib, nicht stdlib.h using namespace std; class containerSchiff { private: int standOrt[3]; int anzahlContainer[3]; int kapazitaetContainer[3]; int schiff[3]; float preis_je_container[3]; float gesamtUmsatz; public: containerSchiff(); ~containerSchiff(); void zeige_containerSchiff(); // wieso soll jede Methode von containerSchiff noch das Suffix _containerSchiff haben? Das ist nicht der Sinn von Kapselung void veraendere_containerSchiff(); void belade_containerSchiff(); void entlade_containerSchiff(); void fahre_containerSchiff(); int gebeStandOrt(); // Ausnahmen bestätigen die Regel?! }; //------------------------------------------------------------------------------ //Hauptprogramm int main(void) { containerSchiff container1; char wahl; int schiff[3]; int standOrt[3]; int anzahlContainer[3]; int kapazitaetContainer[3]; float preis_je_container[3]; int i; cout<<endl; cout<<"Welches Schiff wollen sie bearbeiten?"; cin>>i; // Du liest in "i" ein, und verwendest den Inhalt von i nie wieder cout<<endl; while (wahl!='E') // In wahl wurde noch nichts eingelesen, hier steht etwas zufälliges drin { cout<<endl; cout<<"Auswahl"<<endl; cout<<"========"<<endl; cout<<"Containerschiff zeigen......1"<<endl; cout<<"Containerschiff veraendern..2"<<endl; cout<<"Containerschiff beladen.....3"<<endl; cout<<"Containerschiff entladen....4"<<endl; cout<<"Containerschiff fahren......5"<<endl; cout<<"Standort geben..............6"<<endl; cout<<"Ende........................E"<<endl; cout<<"Wahl.......................:"; cin>>wahl; switch (wahl) { case '1': container1.zeige_containerSchiff(); break; case '2': container1.veraendere_containerSchiff(); break; case '3': container1.belade_containerSchiff(); break; case '4': container1.entlade_containerSchiff(); break; case '5': container1.fahre_containerSchiff(); break; case '6': container1.gebeStandOrt(); break; default: system("PAUSE"); return 0; // jede Eingabe ausser 1-6 soll das Programm beenden? } } system("PAUSE"); return 0; }//Ende Hauptprorgamm //------------------------------------------------------------------------------ //Implementation der Elemente containerSchiff::containerSchiff() { int i; for (i=0;i<3;i++) { cout<<"Definieren Sie ihr Schiff"<<endl; cout<<"Schiff["<<i<<"]"<<endl; cout<<"Standort: "; cin>>standOrt[i]; cout<<"Anzahl Container: "; cin>>anzahlContainer[i]; cout<<"Kapazitaet Container: "; cin>>kapazitaetContainer[i]; cout<<"Preis je Container: "; cin>>preis_je_container[i]; } for (i=0;i<3;i++) { cout<<"--------------------------------------"<<endl; cout<<"Schiff:..............["<<i<<"]"<<endl; cout<<"Standort: "<<standOrt[i]<<endl; cout<<"Anzahl Container: "<<anzahlContainer[i]<<endl; cout<<"Kapazitaet Container: "<<kapazitaetContainer[i]<<endl; cout<<"Preis je Container: "<<preis_je_container[i]<<endl; cout<<"Gesamtumsatz:........."<<gesamtUmsatz<<endl; cout<<"--------------------------------------"<<endl; } } //------------------------------------------------------------------------------ containerSchiff::~containerSchiff() { cout<<"Destruktor"<<endl; } //------------------------------------------------------------------------------ void containerSchiff::zeige_containerSchiff() { float gesamtUmsatz=0; int i; // vermutlich soll hier das i aus main verwendet werden - das hier ist aber ein anderes i cout<<"--------------------------------------"<<endl; cout<<"Schiff:..............["<<i<<"]"<<endl; cout<<"Standort: "<<standOrt[i]<<endl; cout<<"Anzahl Container: "<<anzahlContainer[i]<<endl; cout<<"Kapazitaet Container: "<<kapazitaetContainer[i]<<endl; cout<<"Preis je Container: "<<preis_je_container[i]<<endl; cout<<"Gesamtumsatz:........."<<gesamtUmsatz<<endl; cout<<"--------------------------------------"<<endl; } //------------------------------------------------------------------------------ void containerSchiff::veraendere_containerSchiff() { int i; // siehe oben cout<<"Standort: "; cin>>standOrt[i]; cout<<"Anzahl Container: "; cin>>anzahlContainer[i]; cout<<"Kapazitaet Container: "; cin>>kapazitaetContainer[i]; cout<<"Preis je Container: "; cin>>preis_je_container[i]; } //------------------------------------------------------------------------------ void containerSchiff::belade_containerSchiff() { int zuladung_container; int i; // siehe oben if (kapazitaetContainer>anzahlContainer) { cout<<"Wieviel Container sollen auf das Schiff geladen werden?"; cin>>zuladung_container; anzahlContainer[i]=anzahlContainer[i]+zuladung_container; } } //------------------------------------------------------------------------------ void containerSchiff::entlade_containerSchiff() { int abladung_container; float gesamtUmsatz=0; int i; // siehe oben cout<<"Wieviel Container sollen vom Schiff geladen werden?"; cin>>abladung_container; anzahlContainer[i]=anzahlContainer[i]-abladung_container; gesamtUmsatz=gesamtUmsatz+(abladung_container*preis_je_container[i]); } //------------------------------------------------------------------------------ void containerSchiff::fahre_containerSchiff() { if (anzahlContainer<0) { cout<<"Das Schiff ist fahrbereit."<<endl; } else { cout<<"Das Schiff ist nicht fahrbereit."<<endl; } } //------------------------------------------------------------------------------ int containerSchiff::gebeStandOrt() { cout<<"Standort: "<<standOrt<<endl; } //------------------------------------------------------------------------------
-
man koennte meinen ich haette meinen lehrer bestochen in die 12. klasse zu kommen, wenn ich das hier so sehe.
ich kann c++, zwar nicht immer alles perfekt, aber wir haben es so gelernt.
und mein problem ist immer noch nicht geloest!
wenn ihr doch alle so geistreiche perfektionisten seid, dann erstellt das programm korrekt, statt irgendwas zu reden, von falscher strukturierung etc.
-
Rinilein schrieb:
man koennte meinen ich haette meinen lehrer bestochen in die 12. klasse zu kommen, wenn ich das hier so sehe.
ich kann c++, zwar nicht immer alles perfekt, aber wir haben es so gelernt.
und mein problem ist immer noch nicht geloest!
wenn ihr doch alle so geistreiche perfektionisten seid, dann erstellt das programm korrekt, statt irgendwas zu reden, von falscher strukturierung etc.wenn du mal genau guckst, ist der oben gepostete quellcode mit Zitaten versehen, die dich auf fehler aufmerksam machen sollen, und solltest du ein Fehlerhinweis nicht verstehen frage diesen explizit nach. Übrigens sollte wenn du dies getan hast dein Problem nicht mehr da sein.
Alles in einer angemessenen Form zu posten ist auch wichtig, um den Quelltext zu verstehen.
-
ich poste ihn so, wie wir das gelernt haben, meine guete.
ICH VERSTEHE DEN FEHLER NICHT, WIE OFT DENN NOCH?
-
Rinilein schrieb:
ICH VERSTEHE DEN FEHLER NICHT, WIE OFT DENN NOCH?

Welchen Fehler?
mfg.
-
Rinilein schrieb:
ich poste ihn so, wie wir das gelernt haben, meine guete.
ICH VERSTEHE DEN FEHLER NICHT, WIE OFT DENN NOCH?
Du erstellt immer wieder in deinen Funktionen ein neues i (mit dem wert 0) welches du dann benutzt um auf deine Daten zuzugreifen.
{ float gesamtUmsatz=0; int i; // vermutlich soll hier das i aus main verwendet werden - das hier ist aber ein anderes i cout<<"--------------------------------------"<<endl; cout<<"Schiff:..............["<<i<<"]"<<endl; cout<<"Standort: "<<standOrt[i]<<endl; cout<<"Anzahl Container: "<<anzahlContainer[i]<<endl; cout<<"Kapazitaet Container: "<<kapazitaetContainer[i]<<endl; cout<<"Preis je Container: "<<preis_je_container[i]<<endl; cout<<"Gesamtumsatz:........."<<gesamtUmsatz<<endl; cout<<"--------------------------------------"<<endl; }Das Problem könnte behoben werden, wenn du das "int i;" aus deinen Funktionen entfernst, und einmal i als globale Variable angibst. Dies ist aber keine gute Lösung, besser wäre es i als Parameter deinen Funktionen zu übergeben
Edit:
Es wäre hilfreich, wenn du dir das Kapitel in deinem c++ Buch über Gültigkeitsbereich und Lebensdauer von Variablen noch mal durchliest.hier noch mal das wichtigste:
int i: eine Variable wird erzeugt und Speicher dafür reserviert (kann so viel ich weiß alle möglichen stertwerte haben ist zufällig, aber meist 0.
eine zwischen zwei {} geschweiften Klammern erschaffene Variabe existiert auch nur da, danach ist sie wieder gelöscht und auch in den Funktionen, die von da auf aufgerufen werden ist sie nicht verfügbar.
und jetzt versuch mal die Ausgabe des folgenden Programms zu erklären.
int main (void){ int i = 0; { int i = 1; cout << i << endl; } cout << i << endl; }
-
koenntest du mir viell. das ganze programm ohne die ganzen i's funktionsfaehig erstellen? waere wirklich nett, ich komm da gar nicht mehr klar.
-
Rinilein schrieb:
ich kann c++, zwar nicht immer alles perfekt, aber wir haben es so gelernt.
Das halte ich, mit Verlaub gesagt, für eine gewagte Behauptung angesichts der Tatsache dass Du mit der Gültigkeitsdauer von Variablen offenbar nichts anfangen kannst. Selbst nach mehreren expliziten Hinweisen nicht.
Ergänzend zu Krux' Post: Noch besser wäre es natürlich, in einem Objekt vom Typ "containerSchiff" nicht die Daten von offenbar drei Schiffen zu speichern. Erstelle ein Array von containerSchiff in main(), dann hast Du das Problem i übergeben zu müssen garnicht.
Wenn das morgen noch keiner gemacht hat und ich ne ruhige Minute habe könnt ich wohl mal eine korrigierte Version zusammenstellen. Im Moment ruft das Bett nach mir

-
Rinilein schrieb:
koenntest du mir viell. das ganze programm ohne die ganzen i's funktionsfaehig erstellen? waere wirklich nett, ich komm da gar nicht mehr klar.
Quellcode schreiben musst du schon noch selbst, aber lass doch mal ne suche nach allen "int i;" laufen, und lösche sie, dann packst du int i; vor dein main, dann hast du zwar ne globale Variable (globale variablen sind böse genau wie goto), aber es müsste funktionieren
PS hast du mein letzten Edit des vorherigen Posts von mir gelesen?
-
ich versteh grad nur bahnhof, zudem bin ich grad total verzweifelt.
ich versteh das mit den i's nicht, mensch.
es ist schon spaet und das ist hausaufgabe bis morgen.. ich sitz da schon mind. 6 stunden dran.
ich schreib naechste woche ne arbeit ueber dieses thema. hallejulia.@der, der so tolle sprueche klopft
du hast wirtschaftsinformatik viell. studiert, also fuehr dich hier nciht wie den tollsten auf, denn der bist du nicht.

-
Rinilein schrieb:
ich versteh grad nur bahnhof, zudem bin ich grad total verzweifelt.
ich versteh das mit den i's nicht, mensch.
es ist schon spaet und das ist hausaufgabe bis morgen.. ich sitz da schon mind. 6 stunden dran.
ich schreib naechste woche ne arbeit ueber dieses thema. hallejulia.@der, der so tolle sprueche klopft
du hast wirtschaftsinformatik viell. studiert, also fuehr dich hier nciht wie den tollsten auf, denn der bist du nicht.

Ich hab ferien

aber hast glück, Info ist mein bestes fach zur zeit und ich bin von Natur aus hilfsbereit.Ich bastel dann mal.
-
vielen dank

aber nicht mit dem int i; vor dem main, weil das hatten wir noch nicht, wir hatten diese uebergabeparameter bei klassen auch noch nicht.
das muss doch auch irgendwie anders gehen?
-
Rinilein schrieb:
ich sitz da schon mind. 6 stunden dran.
Ich glaub eher du hast gerade angefangen und stehst nun unter Zeitdruck

Ich rate dir mal im Unttericht besser und konzentrierter aufzupassen. Denn ihr bekommt sicherlich nicht etwas auf, was ihr nicht hättet lösen können.
-
Krux?

wo bleibt die antwort
-
#include <iostream> #include <stdlib.h> // Heisst in C++ cstdlib, nicht stdlib.h using namespace std; class containerSchiff { private: int standOrt; int anzahlContainer; int kapazitaetContainer; int schiff; float preis_je_container; float gesamtUmsatz; public: containerSchiff(); ~containerSchiff(); void zeige(); void veraendere(); void belade(); void entlade(); void fahre(); int gebeStandOrt(); }; //------------------------------------------------------------------------------ //Hauptprogramm int main(void) { containerSchiff container1[3]; char wahl; /* Wozu sollen diese Variablen gut sein? int schiff[3]; int standOrt[3]; int anzahlContainer[3]; int kapazitaetContainer[3]; float preis_je_container[3]; */ int i; cout<<endl; cout<<"Welches Schiff wollen sie bearbeiten?"; cin>>i; cout<<endl; while (wahl!='E') // In wahl wurde noch nichts eingelesen, hier steht etwas zufälliges drin { cout<<endl; cout<<"Auswahl"<<endl; cout<<"========"<<endl; cout<<"Containerschiff zeigen......1"<<endl; cout<<"Containerschiff veraendern..2"<<endl; cout<<"Containerschiff beladen.....3"<<endl; cout<<"Containerschiff entladen....4"<<endl; cout<<"Containerschiff fahren......5"<<endl; cout<<"Standort geben..............6"<<endl; cout<<"Ende........................E"<<endl; cout<<"Wahl.......................:"; cin>>wahl; switch (wahl) { case '1': container1[i].zeige(); break; case '2': container1[i].veraendere(); break; case '3': container1[i].belade(); break; case '4': container1[i].entlade(); break; case '5': container1[i].fahre(); break; case '6': container1[i].gebeStandOrt(); break; default: system("PAUSE"); return 0; // jede Eingabe ausser 1-6 soll das Programm beenden? } } system("PAUSE"); return 0; }//Ende Hauptprorgamm //------------------------------------------------------------------------------ //Implementation der Elemente containerSchiff::containerSchiff(){ cout<<"Definieren Sie ihr Schiff"<<endl; cout<<"Schiff"<<endl; cout<<"Standort: "; cin>>standOrt; cout<<"Anzahl Container: "; cin>>anzahlContainer; cout<<"Kapazitaet Container: "; cin>>kapazitaetContainer; cout<<"Preis je Container: "; cin>>preis_je_container; cout<<"--------------------------------------"<<endl; cout<<"Schiff:.....Name waere nich schlecht nich wahr"<<endl; cout<<"Standort:.............."<<standOrt<<endl; cout<<"Anzahl Container:......"<<anzahlContainer<<endl; cout<<"Kapazitaet Container:.."<<kapazitaetContainer<<endl; cout<<"Preis je Container:...."<<preis_je_container<<endl; cout<<"Gesamtumsatz:.........."<<gesamtUmsatz<<endl; cout<<"--------------------------------------"<<endl; } //------------------------------------------------------------------------------ containerSchiff::~containerSchiff() { cout<<"Destruktor"<<endl; } //------------------------------------------------------------------------------ void containerSchiff::zeige() { float gesamtUmsatz=0; cout<<"--------------------------------------"<<endl; cout<<"Schiff:..............[]"<<endl; cout<<"Standort: "<<standOrt<<endl; cout<<"Anzahl Container: "<<anzahlContainer<<endl; cout<<"Kapazitaet Container: "<<kapazitaetContainer<<endl; cout<<"Preis je Container: "<<preis_je_container<<endl; cout<<"Gesamtumsatz:........."<<gesamtUmsatz<<endl; cout<<"--------------------------------------"<<endl; } //------------------------------------------------------------------------------ void containerSchiff::veraendere() { cout<<"Standort: "; cin>>standOrt; cout<<"Anzahl Container: "; cin>>anzahlContainer; cout<<"Kapazitaet Container: "; cin>>kapazitaetContainer; cout<<"Preis je Container: "; cin>>preis_je_container; } //------------------------------------------------------------------------------ void containerSchiff::belade() { int zuladung_container; int i; // siehe oben if (kapazitaetContainer>anzahlContainer) { cout<<"Wieviel Container sollen auf das Schiff geladen werden?"; cin>>zuladung_container; anzahlContainer += zuladung_container; } } //------------------------------------------------------------------------------ void containerSchiff::entlade() { int abladung_container; cout<<"Wieviel Container sollen vom Schiff geladen werden?"; cin>>abladung_container; anzahlContainer -= abladung_container; gesamtUmsatz += abladung_container*preis_je_container; } //------------------------------------------------------------------------------ void containerSchiff::fahre() { if (anzahlContainer<0) // nur wenn weniger als 1 container an bord ist ist das schiff Fahrbereit { cout<<"Das Schiff ist fahrbereit."<<endl; } else { cout<<"Das Schiff ist nicht fahrbereit."<<endl; } } //------------------------------------------------------------------------------ int containerSchiff::gebeStandOrt() { cout<<"Standort: "<<standOrt<<endl; return standOrt; //den Returnwert nicht vergessen, sonst kann man mit dem Wert im Programm nichts anfangen; } //------------------------------------------------------------------------------Ich hab einiges verändert, und schau dir mal an, wo das i ist, nur noch im Haupstprogramm.
Du hattest eine klasse erstellt, die sich schiff gernannt hat, und dafon ein Objekt erstellt. Dieses objekt hatte den Inhalt von genau 3 Schiffen, was irgendwie ziemlich bescheuert ist.
Ich hab das so verändert, dass du 3 Objekte erstellst, die jeweils die Informationen von einem Schiff enthalten. Jetz ist das i in deinen Methoden auch völlig überflüssig geworden. Ich hoffe du verstehst jetzt auch mal wofür klassen da sind.
-
also 1. wieso return (standOrt)?
wieso soll der an die hauptfunktion zurueckgegeben werden? in der hauptfunktion steht doch nirgends der standort?
2. soll da ueberall das i sein. ich hab nen screenshot, wie das programm aussehen soll.
wie kann ich das hier einfuegen?
er zeigt bie mir auch bei dem <1, was du meintest, was richtig waere fehlermeinung und die rueckgabe des standOrtes macht er auch als fehler.der anfang des programmes ist:
definieren sie das schiff:
schiff[0]
alle eingaben
.
.
.
schiff[1]
alle eingaben
.
.
.
schiff[2]0 1 2 sind das i!!!!!!!!
das sollen wir so machen
danach kommt die aus ausgabe von [0] [1] [2] mit ihren eingaben, und danach kommt die fragen, welches schiff ich auswaehlen moechte, dann geb ich die 1 an, dann kommt das auswahlmenue, was ich mit dem ding machen will, dann geb ich 1 ein fuer daten anzeigen von schiff 1, was ich ja ausgewaehlt hab und dann zeigt er mir die daten von schiff [0] an.das ist das problem!!!!
und es muss das i da sein, das is die schiffsbezeichnung!!
