000
25.04.2008, 19:58 Uhr
orlandoo
|
Hallo, ich verstehe die Fehlermeldung nicht die angezeigt wird nicht so ganz.. und zwar Das Programm soll erstmal Umsätze einlesen und dann kann via Menü ausgabe Mittelwert , standardabweichung usw. ausgegeben werden.. Der Mittelwert wird nicht angezeigt es taucht eine Fehlermeldung mit i wurde nicht definiert .. obwohl Die Variable definiert wurde.. Die Variable soll nur dazu dienen dass das array funktioniert und nicht zur übergabe gedacht.. Lieb wenn mal jemand drüber schauen würde.
C++: |
#include <stdio.h> #include <conio.h> #include <stdlib.h>
void eingabe(float umsatz_unternehmen[12][2], char monate[12][12]); //Übergabeparameter void ausgabe(float umsatz_unternehmen[12][2], char monate[12][12]); //Übergabeparameter void mw(float umsatz_unternehmen[12][2]); // Übergabeparameter void minimum(float umsatz_unternehmen[12][2]); // Übergabeparameter void maximum(float umsatz_unternehmen[12][2]); // Übergabeparameter
char first_use = 1;
int pruefung() { int m; while(1) { printf("\n\nMenue 1: Umsaetze\nMenue 2: Ausgabe Umsaetze\nMenue 3: Mittelwert\nMenue 4: Standardarabweichung\nMenue 5: Min/Max\nMenue 0: Beenden\nAuswahl: "); fflush(stdin); scanf("%i", &m); if( m<0 || m>5 ) // nicht innerhalb des auswahlbaren bereich { printf("\nUngueltige Eingabe!\n\n"); } else if( m != 0 && m != 1 && first_use ) { printf("\nBitte geben sie erstmal die Umsaetze ein!\n\n"); } else { printf("\n"); return m; } } } int main(void) {
char monate[12][12] = {"Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember" }; float umsatz_unternehmen[12][2]; // zweidimensionales Umsatz int input;
while( 1 ) { switch( pruefung() ) { case 1: eingabe(umsatz_unternehmen, monate); printf("Danke fuer den Input!\n\n"); first_use = 0; //ok, funktion wurde genutzt, umsaetze sind drin, 2,3,4,5 können benutzt werden! break; case 2:
ausgabe( umsatz_unternehmen, monate ); break; case 3:
printf("[Mittelwert]\n"); mw( umsatz_unternehmen ); // Merke: Bei funktionsaufruf kein Datentyp void && kein typ bsp int.. break; case 4:
printf("[Standardabweichung]\n"); printf("Funktionsaufruf fuer diesen Fall\n\n"); break; case 5:
printf("\t[Min/Max]\n"); printf("MIN Filiale |A| & |B| anzeigen (1/0)- ? -\n\n"); scanf("%i",&input); if (input == 1) minimum( umsatz_unternehmen );
else { printf("Minimum Umsatz Filiale |A| & |B| werden nicht angezeigt! "); }
printf("\nMAX Filiale |A| & |B| anzeigen (1/0)- ? -\n\n"); scanf("%c",&input);
if (input == 1) maximum( umsatz_unternehmen ); else { printf("\nMinimum Umsatz Filiale |A| & |B| werden nicht angezeigt! "); }
break; case 0: printf("\n[Programm Ende!]"); return 0; default: // <Funktionsaufruf zum saubermachen des Programms dann beenden!> printf("\n\nFehler im Switch\n\n"); return 0; } } getchar(); // dient dazu das programm anzuhalten
}
void eingabe(float umsatz_unternehmen[12][2], char monate[12][12]) { int i; int j; int n = 11; printf("\n\nHandelsfirma A & B GmbH\n\n"); for(j=1;j<=1;j++) { printf( "\nBitte geben Sie die Daten fuer das 1. Unternehmen ein:\n" ); for(i=0;i<=n;i++) { printf("Bitte %i -ten Umsatz fuer %s 2007\n",i+1,monate[i]); // Eingabe printf("Eingabe:"); scanf("%f",&umsatz_unternehmen[i][0]); } printf( "\nBitte geben Sie die Daten fuer das 2. Unternehmen ein:\n" ); for(i=0;i<=n;i++) { printf("Bitte %i -ten Umsatz fuer %s 2007\n",i+1,monate[i]); // Eingabe printf("Eingabe:");scanf("%f",&umsatz_unternehmen[i][1]); } }
} void ausgabe(float umsatz_unternehmen[12][2], char monate[12][12]) { int i; printf("\n--------------------------------------------------------------------------------"); printf("\n:::::::::::::::::::::Filiale 1:::::::::::::::::::Filiale 2::::::::::::::::::::::"); printf("\n--------------------------------------------------------------------------------"); for (i=0;i<=11;i++) { printf("%5i. %10s 2007 %10.2f",i+1 ,monate[i],umsatz_unternehmen[i][0]); //Ausgabe Umsatz, Monat printf("%5i. %10s 2007 %10.2f",i+1 ,monate[i],umsatz_unternehmen[i][1]); //Ausgabe Umsatz, Monat printf("\n"); }
}
void mw(float umsatz_unternehmen[12][2]) { int i; int n = 12; float summe; float mittelwert; float summe_2; float mittelwert2;
summe +=umsatz_unternehmen[i][0]; mittelwert = summe/=12;
summe_2 +=umsatz_unternehmen[i][1]; mittelwert = summe_2/=12;
printf("Mittelwert Filiale |A|:%f",mittelwert); printf("Mittelwert Filiale |B|:%f",mittelwert2); }
void minimum(float umsatz_unternehmen[12][2]) { int i; float min; min = umsatz_unternehmen[i][0];
for (i=0; i <=11; i++) {
if (min < umsatz_unternehmen[i][0]) umsatz_unternehmen[i][0] = min;
if (min < umsatz_unternehmen[i][1]) umsatz_unternehmen[i][1] = min;
}
printf("Minimal Umsatz Filiale |A|: %f ",umsatz_unternehmen[i][0]); printf("Minimal Umsatz Filiale |B|: %f ",umsatz_unternehmen[i][1]);
}
void maximum(float umsatz_unternehmen[12][2]) { int i; float max; umsatz_unternehmen[i][0] = max;
for (i=0; i <=11; i++) { if (umsatz_unternehmen[i][0] > max) max = umsatz_unternehmen[i][0];
if (umsatz_unternehmen[i][1] > max) max = umsatz_unternehmen[i][1]; } printf("Maximal Umsatz Filiale |A|: %f ",umsatz_unternehmen[i][0]); printf("Maximal Umsatz Filiale |B|: %f ",umsatz_unternehmen[i][1]);
}
|
Lg |