Funktion
-
hasso schrieb:
Ich hab es doch mit ein Semikolon ( ; ) beendet !?
Warum dann die Fehlemeldung?Das hast du fein gemacht Hasso.
hasso schrieb:
Warum dann die Fehlemeldung?
Kann man dieses Bug irgendwie deaktivieren ?Der Bug heisst Hasso und deklariert Funktionen im Funktionskörper.
Das ist in C verboten Bruder !
-
mcr schrieb:
Wirt.-Inf.07 schrieb:
EDIT: void main ... schreibt man nicht mehr.
int main(void) wäre hier richtiger.Schreibt man nicht int main()? Ist das void zwingend erforderlich?
Soweit ich weiß, ist unter C beides gültig.
int main(void) und int main(int argc, char *argv[]) sind gültig.
-
LordJaxom schrieb:
int main(void) und int main(int argc, char *argv[]) sind gültig.
...in einer sogenannten 'hosted' implementation von C. in anderen fällen kann die startfunktion völlig anders aussehen. sie muss noch nicht mal 'main' heissen. beispiel: WinMain und _tmain, die den meisten windows-codern bekannt sein sollten.
-
Jo thanks
Es ist ein runtime Fehler aufgetaucht:
Die Variable i wird benutzt die nicht definiert wurde..Im Visual 2005.. außerdem schliest das Programm sofort obwohl ich getchar(); drin stehen hab.#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]); char first_use = 1; int pruefung() { int m; while(1) { printf("Menue 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 pruefung(); eingabe(umsatz_unternehmen, monate); ausgabe(umsatz_unternehmen, monate); mw(umsatz_unternehmen); return 0; while( 1 ) { switch( pruefung() ) { case 1: void eingabe(float umsatz_unternehmen[12][2], char monate[12][12]); //fflush(stdin); getc(stdin); 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: void ausgabe(float umsatz_unternehmen[12][2], char monate[12][12]); printf("[Ausgabe Umsaetze]\n"); break; case 3: printf("[Mittelwert]\n"); void mw(float umsatz_unternehmen[12][2]); break; case 4: printf("[Standardabweichung]\n"); printf("Funktionsaufruf fuer diesen Fall\n\n"); // <Funktionsaufruf für diesen Fall!> break; case 5: printf("[Min/Max]\n"); printf("Funktionsaufruf fuer diesen Fall\n\n"); // <Funktionsaufruf für diesen Fall!> break; case 0: // <Funktionsaufruf zum saubermachen des Programms dann beenden!> printf("[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 return 0; } 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]); } } return; } 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"); } printf("\n---------------------------------------------------------------------------------"); printf("\n:::::::::::::::::::::-BUSINESS-:::::::::::::::::::-BUSINESS-:::::::::::::::::::::"); printf("\n---------------------------------------------------------------------------------"); return; } 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/=n; summe_2 +=umsatz_unternehmen[i][1]; mittelwert = summe_2/=n; printf("Mittelwert Filiale |A|:%f",mittelwert); printf("Mittelwert Filiale |B|:%f",mittelwert2); }
ps. real_rofler: Schau mal nach Februar nach
-
hasso schrieb:
außerdem schliest das Programm sofort obwohl ich getchar(); drin stehen hab.
woher willst du das denn wissen? es compiled ja noch nicht mal.
-
Echt .. das ist ja verwunderlich!
Bei mir klappts... aber auch nur der DEV-C++ compiler..
-
dev-c++ ist *kein* Compiler sondern eine schlechte veraltete IDE
-
hasso schrieb:
ps. real_rofler: Schau mal nach Februar nach
ui ! wer hätte das gedacht !
aber du deklarierst immer noch funktionen in deinem main programm
siehe zeile 55, 62 uws
-
Eyeroller schrieb:
aber du deklarierst immer noch funktionen in deinem main programm
das sind nur prototypen. ich weiss jetzt nicht ob die überall aufrauchen dürfen, aber ich glaub schon.
-
Csyntax-freak schrieb:
Eyeroller schrieb:
aber du deklarierst immer noch funktionen in deinem main programm
das sind nur prototypen. ich weiss jetzt nicht ob die überall aufrauchen dürfen, aber ich glaub schon.
Echt ?
Hmmm... na dann sind die ja wenigstens gut versteckt, die Typen
-
Dein Dev scheint ja sehr tolerant zu sein.
int main() { int a; switch(a) { case 1: void tarnung1(int xyz); break; } return 0; }
VS:
error C2143: syntax error : missing ';' before 'type'
Kommt dir die Fehlermeldung bekannt vor, Wauwi ???
-
ja mein dev - c der ist schon was ganz besonderes.
Der Mäckert nicht so viel wie du
auf jeden fall leutz..Mein Programm ist fast zuende:
#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]); void minimum(float umsatz_unternehmen[12][2]); void maximum(float umsatz_unternehmen[12][2]); char first_use = 1; int pruefung() { int m; while(1) { printf("Menue 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 char input; char j; pruefung(); eingabe(umsatz_unternehmen, monate); // Merke hier kein typ setzen! ausgabe(umsatz_unternehmen, monate); mw(umsatz_unternehmen); minimum(umsatz_unternehmen); maximum(umsatz_unternehmen); return 0; while( 1 ) { switch( pruefung() ) { case 1: void eingabe(float umsatz_unternehmen[12][2], char monate[12][12]); 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: void ausgabe(float umsatz_unternehmen[12][2], char monate[12][12]); break; case 3: printf("[Mittelwert]\n"); void mw(float umsatz_unternehmen[12][2]); 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 (j/n)- ? -\n\n"); scanf("%c",&input); if (input == j) void minimum( float umsatz_unternehmen[12][2]); else { printf("a\Minimum Umsatz Filiale |A| & |B| werden nicht angezeigt! "); } printf("MAX Filiale |A| & |B| anzeigen (j/n)- ? -\n\n"); scanf("%c",&input); if (input == j) void maximum(float umsatz_unternehmen); else { printf("a\Minimum Umsatz Filiale |A| & |B| werden nicht angezeigt! "); } break; case 0: // <Funktionsaufruf zum saubermachen des Programms dann beenden!> printf("[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 return 0; } 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]); } } return; } 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"); } printf("\n---------------------------------------------------------------------------------"); printf("\n:::::::::::::::::::::-BUSINESS-:::::::::::::::::::-BUSINESS-:::::::::::::::::::::"); printf("\n---------------------------------------------------------------------------------"); return; } 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); } 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]); } 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]); }
Es tauchen fehler auf mit den ich nicht anfangen kann .. und zwar:
1>------ Neues Erstellen gestartet: Projekt: aufgabe2.c, Konfiguration: Debug Win32 ------
1>Die Zwischen- und Ausgabedateien für das Projekt "aufgabe2.c" mit der Konfiguration "Debug|Win32" werden gelöscht.
1>Kompilieren...
1>aufgabezwei.c
1>c:\users\hasso\documents\visual studio 2008\c++\helloworld\zeichenkette\zeichenkette\zeichenkette\seminaraufgabe\aufgabe2.c\aufgabe2.c\aufgabezwei.c(28) : warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\program files\microsoft visual studio 9.0\vc\include\stdio.h(306): Siehe Deklaration von 'scanf'
1>c:\users\hasso\documents\visual studio 2008\c++\helloworld\zeichenkette\zeichenkette\zeichenkette\seminaraufgabe\aufgabe2.c\aufgabe2.c\aufgabezwei.c(71) : error C2143: Syntaxfehler: Es fehlt ';' vor 'Typ'
1>c:\users\hasso\documents\visual studio 2008\c++\helloworld\zeichenkette\zeichenkette\zeichenkette\seminaraufgabe\aufgabe2.c\aufgabe2.c\aufgabezwei.c(78) : error C2143: Syntaxfehler: Es fehlt ';' vor 'Typ'
1>c:\users\hasso\documents\visual studio 2008\c++\helloworld\zeichenkette\zeichenkette\zeichenkette\seminaraufgabe\aufgabe2.c\aufgabe2.c\aufgabezwei.c(84) : error C2143: Syntaxfehler: Es fehlt ';' vor 'Typ'
1>c:\users\hasso\documents\visual studio 2008\c++\helloworld\zeichenkette\zeichenkette\zeichenkette\seminaraufgabe\aufgabe2.c\aufgabe2.c\aufgabezwei.c(100) : error C2143: Syntaxfehler: Es fehlt ';' vor 'Typ'
1>c:\users\hasso\documents\visual studio 2008\c++\helloworld\zeichenkette\zeichenkette\zeichenkette\seminaraufgabe\aufgabe2.c\aufgabe2.c\aufgabezwei.c(102) : error C2181: Ungültiges 'else' ohne zugehöriges 'if'
1>c:\users\hasso\documents\visual studio 2008\c++\helloworld\zeichenkette\zeichenkette\zeichenkette\seminaraufgabe\aufgabe2.c\aufgabe2.c\aufgabezwei.c(104) : warning C4129: 'M': Nicht erkannte Folge von Escapesequenz
1>c:\users\hasso\documents\visual studio 2008\c++\helloworld\zeichenkette\zeichenkette\zeichenkette\seminaraufgabe\aufgabe2.c\aufgabe2.c\aufgabezwei.c(112) : error C2143: Syntaxfehler: Es fehlt ';' vor 'Typ'
1>c:\users\hasso\documents\visual studio 2008\c++\helloworld\zeichenkette\zeichenkette\zeichenkette\seminaraufgabe\aufgabe2.c\aufgabe2.c\aufgabezwei.c(114) : error C2181: Ungültiges 'else' ohne zugehöriges 'if'
1>c:\users\hasso\documents\visual studio 2008\c++\helloworld\zeichenkette\zeichenkette\zeichenkette\seminaraufgabe\aufgabe2.c\aufgabe2.c\aufgabezwei.c(116) : warning C4129: 'M': Nicht erkannte Folge von Escapesequenz
1>c:\users\hasso\documents\visual studio 2008\c++\helloworld\zeichenkette\zeichenkette\zeichenkette\seminaraufgabe\aufgabe2.c\aufgabe2.c\aufgabezwei.c(223) : error C2371: 'minimum': Neudefinition; unterschiedliche Basistypen
1> c:\users\hasso\documents\visual studio 2008\c++\helloworld\zeichenkette\zeichenkette\zeichenkette\seminaraufgabe\aufgabe2.c\aufgabe2.c\aufgabezwei.c(10): Siehe Deklaration von 'minimum'
1>c:\users\hasso\documents\visual studio 2008\c++\helloworld\zeichenkette\zeichenkette\zeichenkette\seminaraufgabe\aufgabe2.c\aufgabe2.c\aufgabezwei.c(245) : error C2371: 'maximum': Neudefinition; unterschiedliche Basistypen
1> c:\users\hasso\documents\visual studio 2008\c++\helloworld\zeichenkette\zeichenkette\zeichenkette\seminaraufgabe\aufgabe2.c\aufgabe2.c\aufgabezwei.c(11): Siehe Deklaration von 'maximum'
1>Das Buildprotokoll wurde unter "file://c:\Users\hasso\Documents\Visual Studio 2008\c++\helloworld\zeichenkette\zeichenkette\zeichenkette\seminaraufgabe\aufgabe2.c\aufgabe2.c\Debug\BuildLog.htm" gespeichert.
1>aufgabe2.c - 9 Fehler, 3 Warnung(en)
========== Alles neu erstellen: 0 erfolgreich, Fehler bei 1, 0 übersprungen ==========1.Neudifinitionen?
2.If/else?Gutenacht all!!!
-
Lies Dir die letzte Seite nochmal durch
-
Hasso aus !
Hasso Fuss!
Hasso brav!und jetzt nimm endlich die prototypen aus der main funktion du vogel
-
Der Hundefänger schrieb:
Hasso aus !
Hasso Fuss!
Hasso brav!und jetzt nimm endlich die prototypen aus der main funktion du vogel
Hundefänger!
Ich werds machen aber es hat sowieso keine auswirkungen auf die Fehlermeldung. von daher.......
und wenn du schon.. redest dann hab mal respect was denkst du wer du bist das du das zu mir schreibst du trottel?
Fehler hab ich gefunden.. hatte void vergessen. so müde wie ich wohl gestern war kein wunder.
Meint ihr ich soll die Typen bei dem Funktionsaufruf in der switch case rausholen?
habs mal gemacht.. wie gesagt obwohl es keine auswirkung hat.#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]); void minimum(float umsatz_unternehmen[12][2]); void maximum(float umsatz_unternehmen[12][2]); char first_use = 1; int pruefung() { int m; while(1) { printf("Menue 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 char input; char j; pruefung(); eingabe(umsatz_unternehmen, monate); // Merke hier kein typ setzen! ausgabe(umsatz_unternehmen, monate); mw(umsatz_unternehmen); minimum(umsatz_unternehmen); maximum(umsatz_unternehmen); return 0; while( 1 ) { switch( pruefung() ) { case 1: void eingabe(); 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: void ausgabe(); break; case 3: printf("[Mittelwert]\n"); void mw(); 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 (j/n)- ? -\n\n"); scanf("%c",&input); if (input == j) void minimum(); else { printf("Minimum Umsatz Filiale |A| & |B| werden nicht angezeigt! "); } printf("MAX Filiale |A| & |B| anzeigen (j/n)- ? -\n\n"); scanf("%c",&input); if (input == j) void maximum(); else { printf("Minimum Umsatz Filiale |A| & |B| werden nicht angezeigt! "); } break; case 0: // <Funktionsaufruf zum saubermachen des Programms dann beenden!> printf("[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 return 0; } 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]); } } return; } 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"); } printf("\n---------------------------------------------------------------------------------"); printf("\n:::::::::::::::::::::-BUSINESS-:::::::::::::::::::-BUSINESS-:::::::::::::::::::::"); printf("\n---------------------------------------------------------------------------------"); return; } 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]); }
gruß
-
hasso schrieb:
und wenn du schon.. redest dann hab mal respect was denkst du wer du bist das du das zu mir schreibst du trottel?
was kann ich dafür, das der hund um die ecke hasso heisst.
Wenn schon, dann HERR Trottel, wenn ich bitten darf.hasso schrieb:
Meint ihr ich soll die Typen bei dem Funktionsaufruf in der switch case rausholen?
nein wauwi, du sollst die funktionsprototypen durch funktionsaufrufe ersetzen.
hast du noch nicht gelernt, was ein prototyp ist ? guck ins c-buch ! google !
-
mcr schrieb:
Übrigens: fflush(stdin); darf so nicht verwendet werden.
Dies ist ein Fehler. Verwende dafür besser folgende Funktion:void ClearBuf() { setvbuf( stdin, NULL, _IONBF, 0 ); setvbuf( stdin, NULL, _IOFBF, BUFSIZ ); }
Die setvbuf-Lösung ist natürlich besser, da standard-konform, aber fflush(stdin) grundsätzlich als einen Fehler zu bezeichnen, ist falsch. Beim Microsoft-C-Compiler ist das eindeutig erlaubt und eine Ergänzung zum Standard (hasso hat ja erwähnt, dass er das VS nutzt).
Micro$oft schrieb:
// You must flush the input buffer before using gets. // fflush on input stream is an extension to the C standard fflush( stdin );
-
_matze schrieb:
Die setvbuf-Lösung ist natürlich besser, da standard-konform, aber fflush(stdin) grundsätzlich als einen Fehler zu bezeichnen, ist falsch. Beim Microsoft-C-Compiler ist das eindeutig erlaubt und eine Ergänzung zum Standard (hasso hat ja erwähnt, dass er das VS nutzt).
Micro$oft schrieb:
// You must flush the input buffer before using gets. // fflush on input stream is an extension to the C standard fflush( stdin );
Ok, danke für die Information. Stimmt, ich versuche System-spezifische
Erweiterungen nicht zu verwenden, wenn es denn möglich ist. Daher habe ich
das übersehen.Thx.
mcr
-
hasso schrieb:
Jo thanks
Es ist ein runtime Fehler aufgetaucht:
Die Variable i wird benutzt die nicht definiert wurde..Im Visual 2005.. außerdem schliest das Programm sofort obwohl ich getchar(); drin stehen hab.In deiner main-Funktion gibt es zwei return-Anweisungen.
Die erste schon relativ am Anfang: in Zeile 47 oder 62 (je nach Posting)Daher wartet er nicht bei getchar().
Ich bin mittlerweilen auch ein wenig verärgert. In einem Post habe ich dich
auf verschiedene Fehler hingewiesen (die Funktionsgeklaration im case-Block).
Ich habe dabei auch direkt gepostet, wie es denn heißen muss. Wenn du diese
Hilfe nicht brauchst, dann poste aber auch nicht weiter deine Fehler!mcr
-
don't feed the trolls