hund555 Geschrieben 22. Januar 2005 Teilen Geschrieben 22. Januar 2005 Hallo Leute, ich hab ein Programm geschrieben, (siehe 1. Programm) und jetzt möchte ich dass das programm mit 2 funktionen läuft (max und mitte) leider komme da fehler ich weiß nicht warum ... 1. Programm : #include<iostream.h> #include<stdlib.h> void main(void) { int wahl; do { float weite[5], mitte=0; int max=0; for (int i=0; i<5; i++) { do { cout << " Geben Sie den " << i+1 << " Wurf an: " << endl ; cin >> weite; if (weite<0) cout << "Fehler! Der Wurf kann nicht kleiner als 0 sein\n"; } while(weite<0); } for (int i=0; i<5; i++) { if (max<weite) { max=weite; } } cout << " Der groesste Wurf lieft bei " << max << " Meter!\n"; for (int i=0; i<5; i++) { mitte=mitte+weite; } mitte=(mitte-max)/4; cout << " Der Mittelwert der 4 kleineren Wurfweiten liegt bei " << mitte << " Meter!\n"; cout << endl; cout << "Moechten Sie das Programm noch ein Mal durchfuehren? Bitte 1 drücken, sonst beliebige Taste\n"; cin >> wahl; } while(wahl==1); } ------- 2 programm: #include<iostream.h> #include<stdlib.h> float max(float *weite) { float fmax=0; for (int i=0; i<5; i++) { do { cout << " Geben Sie den " << i+1 << " Wurf an: " << endl ; cin >> weite; if (weite<0) cout << "Fehler! Der Wurf kann nicht kleiner als 0 sein\n"; } while(weite<0); for (int i=0; i<5; i++) { if (fmax<weite) { fmax=weite; } } return fmax; } void mitte(float max, float *weite) { float fmitte; for (int i=0; i<5; i++) { fmitte=fmitte+weite; } fmitte=(fmitte-max)/4; cout << " Der durchschnitt der 4 niedrigsten liegt bei " << fmitte << " Meter!\n"; } void main(void) { do { int wahl; float mainweite[5], mainmitte, mainmax; mainmax = max(mainweite); cout << " Der groesste Wurf lieft bei " << mainmax << " Meter!\n"; mitte(mainmax, mainweite); cout << "Moechten Sie das Programm noch ein Mal durchfuehren? Bitte 1 drücken, sonst beliebige Taste\n"; cin >> wahl; } while(wahl==1); } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 22. Januar 2005 Teilen Geschrieben 22. Januar 2005 Was denn für Fehler? Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hund555 Geschrieben 22. Januar 2005 Autor Teilen Geschrieben 22. Januar 2005 #include<iostream.h> #include<stdlib.h> float max(float *weite) { float fmax=0; for (int i=0; i<5; i++) { do { cout << " Geben Sie den " << i+1 << " Wurf an: " << endl ; cin >> weite; if (weite<0) cout << "Fehler! Der Wurf kann nicht kleiner als 0 sein\n"; } while(weite<0); for (int i=0; i<5; i++) { if (fmax<weite) { fmax=weite; } } return fmax; } void mitte(float max, float *weite) { // parse error before `{' float fmitte; for (int i=0; i<5; i++) { fmitte=fmitte+weite; `fmitte' undeclared (first use this function) } fmitte=(fmitte-max)/4; cout << " Der durchschnitt der 4 niedrigsten liegt bei " << fmitte << " Meter!\n"; } void main(void) { do { int wahl; float mainweite[5], mainmitte, mainmax; mainmax = max(mainweite); cout << " Der groesste Wurf lieft bei " << mainmax << " Meter!\n"; mitte(mainmax, mainweite); implicit declaration of function `int mitte(...)' cout << "Moechten Sie das Programm noch ein Mal durchfuehren? Bitte 1 drücken, sonst beliebige Taste\n"; cin >> wahl; } while(wahl==1); `wahl' undeclared (first use this function) } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 22. Januar 2005 Teilen Geschrieben 22. Januar 2005 int wahl muss außerhalb der Schleife stehen. Denn diese Variable ist nur in der Schleife gültig. In der Methode max fehlt eine } Klammer. Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hund555 Geschrieben 22. Januar 2005 Autor Teilen Geschrieben 22. Januar 2005 oje, ganz leichte fehler .... ich dachte das liegt daran, dass ich bei funktionen was falsch gemacht hab ... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.