Funktion



  • 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 );
    

    http://msdn2.microsoft.com/de-de/library/9yky46tz.aspx



  • _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 );
    

    http://msdn2.microsoft.com/de-de/library/9yky46tz.aspx

    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



  • @hasso:

    Warum machst du eigentlich für das gleiche Programm einen neuen Thread auf?

    (Siehe http://www.c-plusplus.net/forum/viewtopic-var-t-is-210247-and-start-is-0-and-postdays-is-0-and-postorder-is-asc-and-highlight-is-matze+hasso.html)

    Du antwortest den Leuten, die dir geholfen haben, einfach nicht mehr und machst stattdessen ein neues Thema (mit dem gleichen Thema!) auf. Das ist unnötig.

    Und wenn du dir nicht langsam mal eine andere Art angewöhnst, wirst du hier nicht viele Freunde finden. Das Zauberwort ist Eigeninitiative, die bei dir komplett fehlt. Du kannst nicht einfach einen riesigen Source posten und dann sagen: "Hier sind einige Fehler! Wenn ihr wissen wollt, welche, dann versucht gefälligst selbst, zu kompilieren. Und jetzt helft mir sofort!" Das ist unhöflich und mehr als unangebracht. Kein Wunder, dass sich einige über dich lustig machen. Du reißt aber auch Dinger... 🙄

    Und wenn dir schon jemand sagt, was du falsch machst, dann korrigiere diese Fehler auch, anstatt danach wieder 10 Seiten Quelltext mit den gleichen Fehlern zu posten...

    Mit deinen Worten ausgrdrückt: 😡 😡 😡 😡 😡



  • _matze schrieb:

    @hasso:

    Warum machst du eigentlich für das gleiche Programm einen neuen Thread auf?

    (Siehe http://www.c-plusplus.net/forum/viewtopic-var-t-is-210247-and-start-is-0-and-postdays-is-0-and-postorder-is-asc-and-highlight-is-matze+hasso.html)

    Du antwortest den Leuten, die dir geholfen haben, einfach nicht mehr und machst stattdessen ein neues Thema (mit dem gleichen Thema!) auf. Das ist unnötig.

    Und wenn du dir nicht langsam mal eine andere Art angewöhnst, wirst du hier nicht viele Freunde finden. Das Zauberwort ist Eigeninitiative, die bei dir komplett fehlt. Du kannst nicht einfach einen riesigen Source posten und dann sagen: "Hier sind einige Fehler! Wenn ihr wissen wollt, welche, dann versucht gefälligst selbst, zu kompilieren. Und jetzt helft mir sofort!" Das ist unhöflich und mehr als unangebracht. Kein Wunder, dass sich einige über dich lustig machen. Du reißt aber auch Dinger... 🙄

    Hey matze hör mal:
    Ich bin nicht hier um freunde zu suchen sondern das mal diese freaks die Keine freunde haben und 24 STD Online sind und nicht zu tun haben mir mal helfen sollten aber anscheinend sind die so dumm wie stroh dass die das nichtmal vernüpftig erkllären können.. bis jetzt hab ich fast jeden fehler selbst gelöst.

    Der Hundefänger leidet an Aufmerksamkeits Mangel sein papa und mama haben den zuwenig liebe gegeben das der sich hier im Forum wohl freunde sucht 😃 Na gut scheiss auf den Hundefänger

    An den andren Thx für die Hilfe


Anmelden zum Antworten