Unterfunktion übergibt nicht den Übergabewert an die Hauptfunktion



  • #include <iostream.h>

    int berechnung(int laenge,int breite);

    int main()
    {
    int flaeche = 0, breite = 0, laenge = 0;

    cout << "Breite? ";
    cin >> breite;

    cout << endl << "Laenge? ";
    cin >> laenge;

    cout << endl;

    berechnung(laenge,breite);

    cout << "Flaeche: " << flaeche << endl;

    cin.get();
    cin.get();

    return 0;
    }

    int berechnung(int laenge,int breite)
    {
    int flaeche = 0;
    flaeche = laenge * breite;

    return flaeche;
    }

    //Wenn ich das Programm ausführe wird Fläche mit 0 angezeigt,warum?Fläche wird doch an die Hauptfunktion übergeben,oder?



  • Durch das return bewirkst du ja nur, dass die Funktion die Fläche zurückgibt.

    Die musst du jetzt auch noch aufschnappen:

    flaeche = berechnung(laenge,breite);

    statt

    berechnung(laenge,breite);

    MfG MAV



  • //#include <iostream.h> // veraltet
    #include <iostream>
    
    using namespace std;
    
    int berechnung(int laenge,int breite);
    
    //int main()
    int main(void)
    {
    	//int flaeche = 0, breite = 0, laenge = 0;
            int breite, laenge;
    
    	cout << "Breite?  ";
    	cin >> breite;
    
    	cout << endl << "Laenge?  ";
    	cin >> laenge;
    
    	cout << endl;
    
    	//berechnung(laenge,breite); // wohin übergibt die funktion den wert?
            // es müsste eigentlich einen compilerfehler geben
            int flaeche = berechnung(laenge,breite);
    
    	cout << "Flaeche:  " << flaeche << endl;
    
            //cin.get();
    	cin.sync(); // eingabebuffer leeren
    
     return 0;
    }
    
    int berechnung(int laenge,int breite)
    {
    	//int flaeche = 0;
    	//flaeche = laenge * breite;
    
     return (lange * breite);
    }
    

    mfg



  • die funktion berechnen() gibt zwar den wert zurück aber er wird nirgendwo aufgefangen.
    du musst den rückgabewert auch irgendwo reinschreiben.

    flaeche = berechnung(laenge,breite);

    jetzt kannst du den berechneten wert in deinem main ausgeben.

    gruß
    tody



  • Achso,dachte indem ich in der Unterfunktion in die Variable flaeche schreibe müsste ich das in der Hauptfunktion nicht mehr tun,naja falscher Denkansatz wohl.

    Danke an die Verfasser der Beiträge 😃


Anmelden zum Antworten