Funktion



  • hasso schrieb:

    Fehler:
    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(3) : error C2143: Syntaxfehler: Es fehlt ']' vor ')'
    1>c:\users\hasso\documents\visual studio 2008\c++\helloworld\zeichenkette\zeichenkette\zeichenkette\seminaraufgabe\aufgabe2.c\aufgabe2.c\aufgabezwei.c(4) : error C2143: Syntaxfehler: Es fehlt ']' vor ')'
    1>c:\users\hasso\documents\visual studio 2008\c++\helloworld\zeichenkette\zeichenkette\zeichenkette\seminaraufgabe\aufgabe2.c\aufgabe2.c\aufgabezwei.c(13) : warning C4098: 'main': 'void'-Funktion gibt einen Wert zurück

    Gruß

    Hallo Hasso,
    hast du die Fehlermeldungen gelesen? Auf der Zeilen 3, 4 am Ende hast du [12) ohne
    geschlossene eckige Klammern, also [12])
    und wenn du void main(void) machst, musst du noch den return 0 ; loeschen.

    Gruss,



  • lass es jbach. solchen leuten hilft man nicht, sonst lernen sie es nie.



  • oh man wie konnt ich das übershenen 😮



  • Tjo, zu blöd, um sich Compilefehlermeldungen mal genauer anzuschauen und dann noch rotzfrech werden, wenn man fordert, Eigeninitiative zu zeigen. Du wirst mal ein ganz Großer 👍



  • Ein weiterer Fehler ist in der Zeile 34:

    scanf("%f",&umsatz_unternehmen[i]);
    

    Dazu kommt noch, dass die for-Schleife in Zeile 24:

    for(j=0;j<=1;j++)
    

    überflüssig ist.

    Gruß mcr

    EDIT: void main ... schreibt man nicht mehr.
    int main(void) wäre hier richtiger.



  • hasso schrieb:

    Aber anscheinend sind hier so viele Spaßvögel die Spaß dran haben andere zu ärgern weil die es schon können. MEINE MEINUNG! und ich Glaub die vertreten so einige!

    eigentlich nicht. das liegt nur an lernresistenten spassvögeln wie dir.
    🙂



  • hassun schrieb:

    schonmal was con copy / paste gehört?? oder warte das heisst auf Deutsch kopieren/ Einfügen ne 😉 ?
    So dann öffnest du dein Compiler und fügst den Quelltext ein.
    Dann siehst du die Fehler .... 😃
    take ist easy

    du wohl wichtigeres zu tun, als deine eigenen fehler zu verbessern.



  • jsbach schrieb:

    Hallo Hasso,
    hast du die Fehlermeldungen gelesen? ...

    Nein, warum sollte er, das sollst du doch machen.



  • könnte wetten, bei dir im quellcode steht immer noch Ferbruar 🙄



  • Sorry Doppelpost...
    BITTE LÖSCHEN!



  • EDIT: void main ... schreibt man nicht mehr.
    int main(void) wäre hier richtiger.

    Schreibt man nicht int main()? Ist das void zwingend erforderlich?



  • hasso schrieb:

    Aber anscheinend sind hier so viele Spaßvögel die Spaß dran haben andere zu ärgern...

    Och Menno!

    Jetzt kam' ich ja gar nicht zum Zug weil ihr so schnell seid... 😞



  • 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.

    Gruß mcr



  • 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.

    Gruß mcr

    Ok, thx. Dann hab ich heute wieder etwas dazugelernt! 😉



  • Hallo, es es gibt eine Fehlermeldung die sieht so aus:

    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(23) : 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(58) : 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(66) : error C2143: Syntaxfehler: Es fehlt ';' vor 'Typ'
    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 - 2 Fehler, 1 Warnung(en)
    ========== Alles neu erstellen: 0 erfolgreich, Fehler bei 1, 0 übersprungen ==========

    #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
    
    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", "Ferbruar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember" }; 
    float umsatz_unternehmen[12][2]; // zweidimensionales Umsatz 
    
        eingabe(umsatz_unternehmen, monate);
        ausgabe(umsatz_unternehmen, monate);
    
       return 0;
    
       while( 1 ) 
          {
             switch( pruefung() )
                {
                   case 1:
    				  void eingabe(float umsatz_unternehmen[12][2], char monate[12][12]); //Es fehlt ';' vor 'Typ'
    
                      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: 
                      printf("[Ausgabe Umsaetze]\n");
                      void ausgabe(float umsatz_unternehmen[12][2], char monate[12][12]);
                      break;
    
                   case 3: 
                      printf("[Mittelwert]\n");
                      printf("Funktionsaufruf fuer diesen Fall Programm verlassen?\n\n");
                      // <Funktionsaufruf für diesen Fall!>
                      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;
    
    }
    

    Ich hab es doch mit ein Semikolon ( ; ) beendet !?

    Warum dann die Fehlemeldung?

    gruß



  • Lass mich raten, du benutzt den neuen Visual Studio 9.0 Compiler? Wenn ja, dann ist das ein Bug im Compiler. Installier mal die ältere Version oder Mingw.



  • Ja so sieht aus.

    Im Dev-c++ funktionierts einwandfrei.
    Mit Visual Studio programmier ich lieber... Kann man dieses Bug irgendwie deaktivieren ?



  • hasso schrieb:

    Kann man dieses Bug irgendwie deaktieren ?

    Sicher nicht!

    ( 🕶 )



  • Lass mich mal raten:

    unter case 1: willst du die Daten einlesen.
    Also müßte die Zeile 58 doch:

    eingabe(umsatz_unternehmen, monate);
    

    und die Zeile 67:

    ausgabe(umsatz_unternehmen, monate);
    

    lauten.

    Das hattest du aber schon mal besser.

    Ü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 ); 
    }
    

    Gruß mcr



  • hasso schrieb:

    .... "Ferbruar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember" }; ...

    muahuahua !
    ichhabs gewusst 🙄 🙄 🙄 🙄 🙄


Anmelden zum Antworten