Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Sonstige Fragen » C++ » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen C++
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Rinilein
Grünschnabel


Dabei seit: 28.09.2006
Beiträge: 3

C++ Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

ich brauche dringend hilfe bei c++, kennt sich da jemand mit aus?
mein programm:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
#include <iostream>
#include <stdlib.h>

using namespace std;
class containerSchiff
{
    private:
            int standOrt;
            int anzahlContainer;
            int kapazitaetContainer;
            int schiff[3];
            float preis_je_container;
            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 i;



cout<<endl;
cout<<"Welches Schiff wollen sie bearbeiten?";
cin>>schiff[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<<"Standort: ";
    cin>>standOrt;
    cout<<"Anzahl Container: ";
    cin>>anzahlContainer;
    cout<<"Kapazitaet Container: ";
    cin>>kapazitaetContainer;
    cout<<"Preis je Container: ";
    cin>>preis_je_container;
    }
    zeige_containerSchiff();
}
//------------------------------------------------------------------------------
containerSchiff::~containerSchiff()
{
    cout<<"Destruktor"<<endl;
}
//------------------------------------------------------------------------------
void containerSchiff::zeige_containerSchiff()
{
float gesamtUmsatz=0;
int i;

for(i=0;i<3;i++)
{
cout<<"--------------------------------------"<<endl;
cout<<"Schiff:..............["<<i<<"]"<<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_containerSchiff()
{
        
        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_containerSchiff()
{
int zuladung_container;

    if (kapazitaetContainer>anzahlContainer)
    {
    cout<<"Wieviel Container sollen auf das Schiff geladen werden?";
    cin>>zuladung_container;
  
    anzahlContainer=anzahlContainer+zuladung_container;
    }

}

//------------------------------------------------------------------------------
void containerSchiff::entlade_containerSchiff()
{

int abladung_container;
float gesamtUmsatz=0;

    cout<<"Wieviel Container sollen vom Schiff geladen werden?";
    cin>>abladung_container;
    
    anzahlContainer=anzahlContainer-abladung_container;
    
    gesamtUmsatz=gesamtUmsatz+(abladung_container*preis_je_container);
     
}

//------------------------------------------------------------------------------
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 beim Compilieren, wenn ich die zahlen eingebe und dann fuer die schiffe die zahlen, die ich eingegeben hab ausgegeben werden soll, wird das 3 mal fuer den 3. standort ausgegeben und nicht fuer jeden standort die ergebnisse.
ich bin ratlos.
04.10.2006 16:51 Rinilein ist offline E-Mail an Rinilein senden Beiträge von Rinilein suchen Nehmen Sie Rinilein in Ihre Freundesliste auf
kurellajunior kurellajunior ist männlich
Support


Dabei seit: 07.09.2006
Beiträge: 42
Herkunft: Von hier

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Uijuijui,

Das Problem liegt darin, dass Du für drei verschiedene Schiffe immer dieselbe Variablen verwendest und damit die Werte für die ersten Schiffe immer überschreibst.

Formuliere die Aufgabe mal als allgemeinen Algorithmus - dann ist es erstens übersichtlicher und zweitens fällt Dir dann Dein Fehler schneller auf.

Für so riesige Coding haben nur wenige Nerven Augenzwinkern
04.10.2006 17:11 kurellajunior ist offline E-Mail an kurellajunior senden Beiträge von kurellajunior suchen Nehmen Sie kurellajunior in Ihre Freundesliste auf Fügen Sie kurellajunior in Ihre Kontaktliste ein
Rinilein
Grünschnabel


Dabei seit: 28.09.2006
Beiträge: 3

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

tut mit leid, ich weiß nicht mal was algorithmen sind, ich war nie auf einem gymnasium und wozu bietet ihr dann hier hilfe an, wenn ihr keine nerven fuer habt.
04.10.2006 17:19 Rinilein ist offline E-Mail an Rinilein senden Beiträge von Rinilein suchen Nehmen Sie Rinilein in Ihre Freundesliste auf
kurellajunior kurellajunior ist männlich
Support


Dabei seit: 07.09.2006
Beiträge: 42
Herkunft: Von hier

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Wir bieten Hilfe an. Ich habe dir sogar gesagt, wo Dein Fehler liegt.

Aber wir sind kein Forum für spezifische Progrmamiersprachen - defür gibt es hochspezialisierte Foren.

Allerdings hast Du kein C++-Problem sondern Dein Algorithmus (die logische Abfolge von Programmschritten) hat einen grundlegenden Fehler:

Wenn Du in einer Schleife drei Variablen abfragst
code:
1:
2:
3:
for i=1 to 3 {
  read instream to variable
}

dann steht in "variable" nach dem dritten Einlesen der Wert des dritten Einlesens.

Sagen Dir die Begriffe Array, Vektor oder Liste etwas?

Jan
04.10.2006 17:40 kurellajunior ist offline E-Mail an kurellajunior senden Beiträge von kurellajunior suchen Nehmen Sie kurellajunior in Ihre Freundesliste auf Fügen Sie kurellajunior in Ihre Kontaktliste ein
Rinilein
Grünschnabel


Dabei seit: 28.09.2006
Beiträge: 3

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

NEUES PROBLEM: böse

wenn ich fuer die wahl des schiffes die 1 eingebe und danach die daten von schiff 1 sehen moechte, zeigt er mir die daten von schiff 0 ein und das macht er bei jeder eingabe.
WO LIEGT DER FEHLER? verwirrt

____________________________________________________

#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();
void 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;
case 'E': system("PAUSE");
return 0;
default: cout<<"Falsche Eingabe"<<endl;
}


}



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;
}
}

//-------------------------------------------------------------------------
-----
void containerSchiff::gebeStandOrt()
{
cout<<"Standort: "<<standOrt<<endl;
}
//-------------------------------------------------------------------------
-----
04.10.2006 21:17 Rinilein ist offline E-Mail an Rinilein senden Beiträge von Rinilein suchen Nehmen Sie Rinilein in Ihre Freundesliste auf
kurellajunior kurellajunior ist männlich
Support


Dabei seit: 07.09.2006
Beiträge: 42
Herkunft: Von hier

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

*grummel*

So langsam gehts mir aufn Senkel.

Poste doch bitte nur die relevanten Teile! Und bitte formuliere diese nicht in C++-Systax sondern allgemein:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
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;
}


Du fragst ja gar nicht ab, welches Schiff du anzeigen willst? vielleicht braucht diese Funktion einen Parameter
code:
1:
2:
3:
zeigeSchiff(int pSchiffnummer){
  DataArray[pSchiffnummer]
}

Dies ist ein kleiner logischer Fehler, der in einem ordentlichen Algorithmus sofort aufgefallen wäre.

Warum machst Du Dir eigentlich nicht die Mühe die Hilfe anzunehmen?

Beim nächsten Post habe ich keine Lust mehr mich als Käferjäger aufzumachen, wenn Du nicht mitziehst Augenzwinkern

Jan
05.10.2006 11:00 kurellajunior ist offline E-Mail an kurellajunior senden Beiträge von kurellajunior suchen Nehmen Sie kurellajunior in Ihre Freundesliste auf Fügen Sie kurellajunior in Ihre Kontaktliste ein
ed209
Routinier


Dabei seit: 07.09.2006
Beiträge: 324

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:

WO LIEGT DER FEHLER?


Jan hat recht, als erstes musst du rausfinden in welcher Methode der Fehler liegt. Dafür kannst du die benutzten Methoden aufrufen und das Ergebnis mit dem erwarteten Ergebnis vergleichen (entweder im Programm automatisch, oder du gibst die wichtigen Daten aus und vergleichst per Hand).

Wenn du weisst welche Methode nicht arbeitet, wie du dir das denkst dann hast du deinen Fehler schonmal eingegrenzt.

Gruss,
ED

PS: Du solltest dir übrigens angewöhnen mehr Kommentare in den Code zu schreiben. Besonders zu den Methoden, was sie tun, was für Parameter sie erwarten und was sie zurückgeben.
Erst recht wenn du erwartest, daß jemand den Code liest smile
05.10.2006 13:46 ed209 ist offline E-Mail an ed209 senden Beiträge von ed209 suchen Nehmen Sie ed209 in Ihre Freundesliste auf
lioN
Grünschnabel


Dabei seit: 30.01.2007
Beiträge: 1

Re: C++ Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

du musst wahl erstmal initialisieren glaub ich bevor du auf 'E' abfragst!

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von lioN: 30.01.2007 22:05.

30.01.2007 22:04 lioN ist offline E-Mail an lioN senden Beiträge von lioN suchen Nehmen Sie lioN in Ihre Freundesliste auf
Riff Riff ist männlich
Grünschnabel


Dabei seit: 08.02.2007
Beiträge: 1
Herkunft: Berlin

lokale Variable Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Folgendes Problem ist bei deinem Programm:
Am Anfang der main-Funktion deklarierst du die nötigen variablen. Du fragst dann ab, welcher container bearbeitet werden soll und dann, was du mit diesem Container machen willst. So weit so gut. Per switch-case wählst du die abzuarbeitende Funktion aus. Hier ist der Fehler: Das Schiff, welches du ausgewählt hast, ist der abzuarbeitenden Funktion nicht bekannt, da du diesen Parameter nicht übergibst. Daher kannst du die Parameter des ausgewählten schiffes nicht bearbeiten und daher nicht bekannt. Dass schiff 0 ausgegeben wird, hängt damit zusammen, dass du in den abzuarbeitenden Funktionen lokale Variablen deklariert hast, die wahrscheinlich die Parameter der Schiffe beinhalten sollen. Sie sind aber auf 0 gesetzt.
siehe:

void containerSchiff::veraendere_containerSchiff()
{
int i; // Teufel lokale Definition-> LOKAL GEHT VOR GLOBAL
// i hat den Wert 0 Lehrer ;
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];

}


Noch mal zur Erinnerung: Gott Lokal geht vor global !!! Gott
Funktionskopf müsste ungefähr so aussehen, um Paramter zu erhalten (int i-Deklaration im Funktionskörper kannst du dann entfernen):
void containerSchiff::veraendere_containerSchiff(int i)

__________________
Computer sind etwas wundervolles, alles geht schief und keiner hat schuld. smile
08.02.2007 19:42 Riff ist offline E-Mail an Riff senden Beiträge von Riff suchen Nehmen Sie Riff in Ihre Freundesliste auf Fügen Sie Riff in Ihre Kontaktliste ein
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Sonstige Fragen » C++