C++
-
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!!

-
Rinilein schrieb:
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!!

return, nicht weils benutzt wird, sondern die Methode hat doch ein int davor, was bedeutet, dass auch einer zurückgegeben werden soll, ob du ihn benutzt oder nicht ist egal aber ohne ist doof, dann kanste auch gleich ne Void draus machen, aber das zurückzugeben ist fast noch wichtiger, als das zu schreiben. am besten wäre es, wenn du aus der Methode das cot ausbaust, und nur das return drin lässt, und statt dessen cout << container1[i].gebeStandort() << endl; ins main reinpackst, aber das ist jetzt nicht so wichtig.
um dein Problem zu lösen lösche einfach Zeile 112-121 und packe ein
for (int j = 0; j < 0; j++){
cout << "schiff[" << i << ']' << endl;
container1[j]zeige();
}zwischen zeile 30/31
Dann wäre ersmal die Reihenfolge wieder hergestellt.
Edit habs verändert, und den Rest schaffst selbst du. (Einfach danach kompilieren und testen. Danach gucken was passt.)
-
naja, ich bekomm wohl keine antwort mehr.
-
ich hab langsam das gefuehl, dass mir hier keiner helfen will, sondern ihr mich fuer bloede haltet.
diese erklaerungen bringen mich kein stueck weiter ans ziel.
das sa schiff [0] statt schiff [1] steht hat keineswegs mit dem destruktor zutun, also werde ich den auch nicht loeschen.
mir reichts jetzt. ich lass es so. ich hab mir wirklich mehr als genug gedanken darueber gemacht.
-
Rinilein schrieb:
naja, ich bekomm wohl keine antwort mehr.
doch
-
Rinilein schrieb:
ich hab langsam das gefuehl, dass mir hier keiner helfen will, sondern ihr mich fuer bloede haltet.
diese erklaerungen bringen mich kein stueck weiter ans ziel.
das sa schiff [0] statt schiff [1] steht hat keineswegs mit dem destruktor zutun, also werde ich den auch nicht loeschen.
mir reichts jetzt. ich lass es so. ich hab mir wirklich mehr als genug gedanken darueber gemacht.der index geht nunmal von 0-2 wenn du aber 1-3 da stehen haben willst, musst du einfach statt i i+1 ausgeben lassen. Und nein ich halte dich nicht für dumm, sondern hab mitlerweile mitbekommen das du ein Anfanger bist, der mit dem Problem nicht klar kommt, und unter Zeitdruck steht, sonst hätte ich die auch nicht so auffürlich dein Programm berichtigt. Und das mit dem Destruktor ha auch keiner behauptet, aber der Destruktor ist in deinem Programm überflssig, das heißt, dass du ihn besser gleich löschen solltest, aber da du ja bereits schon aufgehört hast, kann ich dir leider nicht weiterhelfen.
-
Rinilein schrieb:
ich hab langsam das gefuehl, dass mir hier keiner helfen will, sondern ihr mich fuer bloede haltet.
Oh mein Gott ...
Hier sind Leute die sich mit deinem Problem beschftigen und dir versuchen zu helfen und du meinst immer noch es hilft dir keiner.Ich habe langsam das Gefühl das du dir nicht helfen lassen willst. Hier kann dir auch keiner die ganze Sprache C++ beibringen. Gewisse Sachen solltest du schon wissen oder selbst mitbringen.
-
Freak-Coder ich hab seit einem Jahr C++, das ist der Schwerpunkt.
Als spiel dich hier nicht so auf du Volltrottel.
Mag sein, dass du mehr Ahnung von C++ hast, dafuer habe ich wenigstens Charakter im Gegensatz zu dir._________________________________
Ich frage morgen meinen Lehrer, den es sowieso nicht interessiert, was wir fuer Probleme haben, aber ich werd das auch durch nen anderen Weg erfahren.
-
Rinilein schrieb:
Freak-Coder ich hab seit einem Jahr C++, das ist der Schwerpunkt.
Als spiel dich hier nicht so auf du Volltrottel.
Mag sein, dass du mehr Ahnung von C++ hast, dafuer habe ich wenigstens Charakter im Gegensatz zu dir._________________________________
Ich frage morgen meinen Lehrer, den es sowieso nicht interessiert, was wir fuer Probleme haben, aber ich werd das auch durch nen anderen Weg erfahren.du hast aber bereits deine Nerfebn verloren, und solltest merken, das dir hier geholfen wird.
Übrigens ich lerne auch seit einem Jahr C++
-
Ich habe aufgehoert, weils keinen Sinn mehr hat, da hier ja niemand in der Lage ist, mir es verstaendlich zu machen, anhand eines funktionierenden Programmes mit Kommentaren.
-
ok ich mache genau das was ich beschrieben habe
-
Wer wuerde sich bitte nicht verarscht kommen, wenn man mehr als 3 std versucht, da irgendwas zu verstehen, wo es nix zu verstehen gibt, cih hab gesagt, wie es aussehen soll, das programm, das die i's sein muessen.
und ich hab auch schon mind. 3 mal erlaeutet, wo das problem ist.
-
Rinilein schrieb:
dafuer habe ich wenigstens Charakter im Gegensatz zu dir.
Ja, das merkt man deutlich

Rinilein schrieb:
anhand eines funktionierenden Programmes mit Kommentaren.
Du denkst doch wohl nicht im Ernst das hier jemand dir alles vorkaut und für dich die Hausaufgaben macht...
BTW: Mein letzter Post in diesem Thread ...
-
#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]; for (int i = 0; i < 3; i++){ //Wir wollen ja die informationen unseres Schiffes hier aufgelistet haben cout << "schiff[" << i+1 << ']' << endl; //i+1 deswegen damit da nicht 0 Steht container1[i].zeige(); } char wahl; 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; //Hier die Zeilen sind nicht richtig gewesen, da du ja erst nch nem einlesen die Informationen Aufgelistet haben möchtest } //------------------------------------------------------------------------------ containerSchiff::~containerSchiff() { cout<<"Destruktor"<<endl; } //------------------------------------------------------------------------------ void containerSchiff::zeige() { float gesamtUmsatz=0; cout<<"--------------------------------------"<<endl; //cout<<"Schiff:..............[]"<<endl; Hier könnte man noch einen Namen einbauen, aber die Nummerierung ist vom Mainprogramm gesteuert. 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; } //------------------------------------------------------------------------------zu ihren wünschen kommentiert und so wie sie es wollen, (ok meine alten änderungen hab ich nicht kommentiert
Aber du kannst nicht erwarten, eben in einer Stunde, dass man dir das Programm komplett perfekt und fehlerfrei macht.
-
@rinnlein
durch zufall hereingestolpert und mal loswerden muss dass es sich gehört etwas freundlicher mit den Menschen zu posten wenn man schon solche Hilfe erwartet....
(auch wenn jetzt gleich wieder ein beleidigender post zurückkommt...)
-
@Krux:
Du bist zu gutmütig für diese Welt......Gruss Spacelord