If Funktionen Hilfe und Illigale aktivitäten :)



  • Hi leibe Com,
    Ich habe versucht mit meinen Kenntinissen einen Rechner zu schreiben aber er funtzt leider net richtig.Die if anweißung will einfach nicht. Und wenn ich Compile stehen da angeblich illigale aktivitäten drin und dnn noch irgendso ein schei* mit UTF-8 formatieren damit ich keinen schaden nehme. Hier ist der Code:

    #include <stdio.h>
    #include <stdlib.h>
    
    #define MaxL 6
    
    int main()
    {
        char i[MaxL];
        int b;
        int a;
        a=2;
    
        printf("Bitte geben sie folgende Werte ein: \n\n");
        printf("1 : Addieren/Subtrahieren\n");
        printf("2 : Multiplizieren/Dividieren\n");
        printf("Bitte geben sie nun eine der beiden Zahlen ein:\n");
        fflush(stdin);
        fgets(i,MaxL,stdin);
        b=atoi(i);
    
        if(b<a)
        {
    
          char a1[MaxL];
          char a2[MaxL];
          int A1,A2;
          fflush(stdin);
          printf("Sie habe Addieren/subtrahieren ausgewählt.\n");
          printf("Geben sie bitte die erste Zahl ein:\n\n");
          fgets(a1,MaxL,stdin);
          printf("Geben sie bitte die zweite Zahl ein:\n\n");
          fgets(a2,MaxL,stdin);
          A1=atoi(a1);
          A2=atoi(a2);
    
          printf("Hier sind die Ergebnisse:\n\n");
          printf("%i+%i=%i\n",A1,A2,A1+A2);
          printf("%i-%i=%i\n\n",A1,A2,A1-A2);
         }
         else(b=a)
         {
             printf("Diese Funktionen kommen noch\n");
         }
    
        }
    system("PAUSE");
    return 0;
    

    Übrigens ich Compile mit Code:Blocks

    Danke für die Hilfe



  • system("PAUSE");
    

    😮



  • Ich habe den Code nur kurz ueberflogen. Dabei ist mir aufgefallen, dass das wohl eher so aussehen sollte:

    else if (b == a)
         {
             printf("Diese Funktionen kommen noch\n");
         }
    

    oder

    else
         {
             printf("Diese Funktionen kommen noch\n");
         }
    

    Variabeln werden mit == und nicht mit = verglichen.

    PS:
    1.
    Warum man kein system(...) verwenden sollte.
    2.
    Automatisches Schliessen der Konsole verhindern



  • passt schon, das macht er damit sich das konsolenfenster nicht sofort wieder schliesst. Zur eigentlichen frage des op hast dunichts beizutragen?



  • @Swordfish:

    Und wenn ich Compile stehen da angeblich illigale aktivitäten drin und dnn noch irgendso ein schei* mit UTF-8 formatieren damit ich keinen schaden nehme.

    Wie soll ich denn da helfen?



  • else(b=a)  // <= schon beschrieben
         {
             printf("Diese Funktionen kommen noch\n");
         }
    
        }  // ab hier passt die Reihenfolge der Zeile nicht mehr
    system("PAUSE");
    return 0;
    

    Das sollte dir auffallen, wenn du den Quelltext übersichtlich formatierst 👍
    Siehe Code::Blocks -> plugin -> 'source code formater' oder so ähnlich.

    Wie du zu der von dir erwähnten Fehlermeldung gekommen bist 😕
    Deine Fehlermeldung sollte nichts direkt mit dem Quelltext zu tun haben, sondern mit den Einstellungen bezüglich der Zeichensätze auf deinem PC.

    MfG f.-th.



  • Vielen Dank Leute! Ich probiere es gleich mal aus!



  • So hab jetzt folgenden Code:

    #include <stdio.h>
    #include <stdlib.h>
    #define MaxL 6
    
    void wait ()
    {
        setvbuf(stdin, NULL, _IONBF, 0);
        setvbuf(stdin, NULL, _IOFBF, BUFSIZ);
        getchar();
    }
    
    int main()
    {
        char i[MaxL];
        int b;
        int a;
        a=2;
    
        printf("Bitte geben sie folgende Werte ein: \n\n");
        printf("1 : Addieren/Subtrahieren\n");
        printf("2 : Multiplizieren/Dividieren\n");
        printf("Bitte geben sie nun eine der beiden Zahlen ein:\n");
        fflush(stdin);
        fgets(i,MaxL,stdin);
        b=atoi(i);
    
        if(b<a)
        {
    
            char a1[MaxL];
            char a2[MaxL];
            int A1,A2;
            fflush(stdin);
            printf("Sie habe Addieren/subtrahieren ausgewählt.\n");
            printf("Geben sie bitte die erste Zahl ein:\n\n");
            fgets(a1,MaxL,stdin);
            printf("Geben sie bitte die zweite Zahl ein:\n\n");
            fgets(a2,MaxL,stdin);
            A1=atoi(a1);
            A2=atoi(a2);
            printf("Hier sind die Ergebnisse:\n\n");
            printf("%i+%i=%i\n",A1,A2,A1+A2);
            printf("%i-%i=%i\n\n",A1,A2,A1-A2);
        }
        else
        {
            printf("Diese Funktionen kommen noch\n");
        }
    
        wait();
    }
    
        return 0;
    

    Und folgende Fehlermeldung die ich erlichgesgt nicht kapiere:

    expected indentifier or '(' before 'return'



  • Fällt dir da nichts auf? 😮

    ➡ Guck dir mal die {'s und }'s und guck ob die passen ...



  • sry ich habs bemerkt ich trotell 😃

    Das return 0; muss ja in den Klammern stehen ajajajaja das mir so ein Fehler passiert. nun ja ich bin ja noch ein Blutiger anfänger und aus Fhlern Lernt Man Danke für die Hilfe!!!!

    /close



  • Was macht das return nach dem letzten } da?


Anmelden zum Antworten