Scanf() in einer Funktion in main Funktion übertragen?



  • Hallo!

    Ich bin noch ein Neuling in der Programmierung und soll eine Aufgabe lösen, in der das Alter einer Person berechnet wird, indem man sein Geburtsjahr eingibt. Das Einlesen, das Berechnen, und das Ausgeben soll jeweils in 3 separaten Funktionen geschehen und in der main Funktion soll alles aufgerufen werden.

    Jedoch werden bei meinem Code aber das gebjahr mit scanf (1.Funktion) nicht korrekt übernommen.

    Kann mir jemand helfen? Das Ergebnis ist nämlich immer falsch.

    Hier mein Code:

    #include <stdio.h>
    
    int eingabeGebJahr() {
        int gebjahr;
        printf("Programm zur Berechnung eines Alters einer Person\n");
        printf("\n");
        printf("Bitte geben Sie Ihr Geburtsjahr ein: ");
        scanf("%i", &gebjahr);
        return gebjahr;
    }
    
    int alterBerechnung(int gebjahr) {
        int alter;
        alter=2017-gebjahr;
        return alter;
    }
    
    void ausgabeAlter(int alter) {
        printf("Sie sind heute %i Jahre alt.",alter);
    }
    
    int main() {
        int gebjahr;
        int alter;
        eingabeGebJahr();
        alterBerechnung(gebjahr);
        ausgabeAlter(alter);
        return 0;
    }
    


  • int main() {
        int gebjahr;
        int alter;
        gebjahr = eingabeGebJahr();
        alter = alterBerechnung(gebjahr);
        ausgabeAlter(alter);
        return 0;
    }
    


  • Du arbeitest nur mit lokalen Variablen. Das ist auch gut so.

    Das sind alles unterschiedliche Variablen, auch wenn sie denselben Namen haben.

    Entweder ist euer Dozent eine Pfeife, oder er erwartet mehr selbständiges arbeiten
    (Buch holen und durcharbeiten)

    Edit:
    Oh, das ist ja derselbe Name wie beim anderen Thread.
    Dann ist das ja nur einer ohne Plan, darum Dozent durchgestrichen


  • Mod

    Was ist hier jetzt anders als bei deinem anderen Thread?


Anmelden zum Antworten