Problem mit Funktion



  • Ich bin absoluter Anfänger und weiß nicht warum das Script(das noch nicht fertig ist) nicht funktioniert!

    #include <stdio.h>
    #include <iostream.h>
    
    void main(void)
    {
    	float Matheoperator;
    	int zahl1, zahl2, ergebnis;
    	printf ("\n\n\tTaschenrechner\n\n");
    	printf ("Was wollen Sie machen?:\n\n");
    	printf ("[1] Addieren\n[2] Subtrahieren\n[3] Multiplizieren\n[4] Dividieren\n");
    	scanf (" %f", &Matheoperator);
    	printf ("Wie lautet ihre erste Zahl?");
    	scanf (" %d", zahl1);
    	printf ("Wie lautet ihre zweite Zahl?");
    	scanf (" %d", zahl2);
    	ergebnis = rechnen (Matheoperator, zahl1, zahl2);
    }
    
    int rechnen (float zeichen, int x, int y)
    {
        return 0;
    }
    

    ich hoffe ihr könnt mir helfen!!



  • Ich würde sagen weil du in der Funktion rechnen() nichts stehen hast :p Es muss ja auch gerechnet werden!

    #include <stdio.h>
    
    int rechnen (int zeichen, int x, int y)
    {
        switch(zeichen)
        {
            case 1:
                ergebnis = x + y;
                break;
            case 2:
                ergebnis = x - y;
                break;
            case 3:
                ergebnis = x * y;
                break;
            case 4:
                ergebnis = x / y;
                break;
        }
        return ergebnis;
    }
    
    int main(void)
    {
        int zahl1, zahl2, ergebnis matheoperator;
        printf ("\n\n\tTaschenrechner\n\n");
        printf ("Was wollen Sie machen?:\n\n");
        printf ("[1] Addieren\n[2] Subtrahieren\n[3] Multiplizieren\n[4] Dividieren\n");
        scanf (" %d", &matheoperator);
        printf ("Wie lautet ihre erste Zahl?");
        scanf (" %d", &zahl1);
        printf ("Wie lautet ihre zweite Zahl?");
        scanf (" %d", &zahl2);
        ergebnis = rechnen (matheoperator, zahl1, zahl2);
        return 0;
    }
    

    PS Es ist C



  • Ist das C oder C++? Und C/C++ ist keine Skriptsprache. Welche Fehler kommen?



  • 1. Es funktioniert nicht? Was funktioniert nicht?
    2. Was soll das Script denn machen was es aber wohl nicht macht?
    Du willst doch mal Programmierer werden, da musst du lernen dich auch mal klar auszudrücken, vor allem wenn du jemanden eine Frage stellst.

    Kauf dir ein Buch über C Programmierung.

    int rechnen (float zeichen, int x, int y)
    {
        return 0;
    }
    

    Eine Funktion die 3 Werte entgegennimmt aber nichts damit macht?
    Für return 0 brauchst du keine Funktion zu kreiren.



  • Da war jemand schneller als ich.



  • Außerdem fehlt in deinem Code ne Forwärtsdeklaration von rechnen und iostram.h kannste weglassen wenn du nur die IO Funktionen aus C nimmst (die stehen in stdio.h)



  • Der Fehler, der ausgegeben wird heißt:
    implicit declaration of function `int rechnen(...)'

    ich möchte einfach nur zum test, dass mir die Funktion 0 zurück gibt!
    ich will noch gar nichts rechnen!



  • Dann teste mal das

    #include <stdio.h>
    
    int rechnen (float, int, int);
    
    int main()
    {
    	float Matheoperator;
    	int zahl1, zahl2, ergebnis;
    	printf ("\n\n\tTaschenrechner\n\n");
    	printf ("Was wollen Sie machen?:\n\n");
    	printf ("[1] Addieren\n[2] Subtrahieren\n[3] Multiplizieren\n[4] Dividieren\n");
    	scanf (" %f", &Matheoperator);
    	printf ("Wie lautet ihre erste Zahl?");
    	scanf (" %d", &zahl1);
    	printf ("Wie lautet ihre zweite Zahl?");
    	scanf (" %d", &zahl2);
    	ergebnis = rechnen (Matheoperator, zahl1, zahl2);
    
        printf ("Ergebnis %d", ergebnis);
    
        getchar ();
    
        return 0;
    }
    
    int rechnen (float zeichen, int x, int y)
    {
        return 0;
    }
    


  • Oder du setzt die main() Funktion einfach ans Ende der ÜE.

    btw:
    In C++ heisst es

    #include <iostream>
    #include <cstdio>
    


  • Ich habe die main Funktion an den Schluss gesetzt! Nun functioniert alles, logischer Weise!!

    Danke für die Hilfe!!


Anmelden zum Antworten