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

Informatiker Board » Suche » Suchergebnis » Hallo Gast [Anmelden|Registrieren]
Zeige Beiträge 1 bis 1 von 1 Treffern
Autor Beitrag
Thema: C++
Riff

Antworten: 8
Hits: 10.084
lokale Variable 08.02.2007 19:42 Forum: Sonstige Fragen


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)
Zeige Beiträge 1 bis 1 von 1 Treffern