Funktionen



  • habs geschaft

    #include <iostream.h>
    #include <math.h>
    
    float ml;
    float durchmesser;
    
    int frage (){
    
        cout<< "Bitte geben Sie den Stand im Roehrchen in ml an:";
        cin>> ml;
        cout<< "Bitte geben Sie den Durchmesser der Roehrchens an:";
        cin>> durchmesser;
        return 0;
    }
    
    void berechnung (){
    
            float mal;
            float flaeche;
            float wasser;
            int   quadratmeter;
    
        quadratmeter=1;
        flaeche = durchmesser * (pow(M_PI , 2 ));
        mal = quadratmeter/flaeche;
        wasser=mal * ml;
        cout<<" Es hat "<<wasser <<" l auf den Quadratmeter geregnet.";
    
       }
    
    int main()
    {
    int antwort = frage ();
    berechnung ();
    
    getchar();
    
    }
    

    gn8


  • Mod

    Die Art und Weise wie du hier globale Variablen benutzt ist ganz genau die weise vor der uns die Altvorderen immer gewarnt haben. Gewöhn dir das lieber schnell wieder ab.

    Alternativen die hier gut passen wäre die Übergabe von Werten an Funktionen oder eine bessere Aufteilung der Aufgabenbereiche der Funktionen.



  • und schau dir mal asc`s post noch mal an....



  • unskilled schrieb:

    und schau dir mal asc`s post noch mal an....

    fehlt da nicht in z.15 ein ;



  • und eine saubere trennung von eingabe, verarbeitung und ausgabe vermiss ich auch iwie... aber das passiert uns doch allen im eifer des gefechts 😉



  • no_c0de schrieb:

    unskilled schrieb:

    und schau dir mal asc`s post noch mal an....

    fehlt da nicht in z.15 ein ;

    Ja, Korrigiert, aber dennoch sollte man sich mal den Post zu Herzen nehmen.



  • SC2 schrieb:

    habs geschaft

    Nicht wirklich. Der Code ist immer noch kein gültiges C++, auch wenn er vielleicht durch deinen Compiler geht. Und Eingerückt ist er immernoch nicht sauber (und sehr inkonsistent - Egal wie sei konsistent).

    #include <iostream> // Kein .h am Ende [Nach C++ Standard von 1998/2003]
    #include <cmath>    // Kein .h am Ende, Und C-Kompatibilitätsheader beginnen mit "c"
    
    using namespace std; // Alle Header der Standardbibliothek liegen im Namensraum std.
                         // Sollte NIEMALS in Headern, und wenn nach allen Includes
                         // geschrieben werden, falls man nicht std:: direkt ausschreibt
                         // (In Headern sollte man dies ohnehin).
    
    // float ml;          \ Globale Variablen sollte man wenn überhaupt nur in
    // float durchmesser; / Sonderfällen verwenden, dafür gibt es Parameter
    
    // Deine Benennung von Funktionen und Variablen lässt nach wie vor zu
    // wünschen übrig. Versuch mal ein Programm nach einen halben Jahr noch
    // schnell zu verstehen.
    float frageNachML()
    {
        cout << "Bitte geben Sie den Stand im Roehrchen in ml an:";
        float ml;
        cin >> ml;
        return ml;
    }
    
    float frageNachDurchmesser()
    {
        cout << "Bitte geben Sie den Durchmesser der Roehrchens an:";
        float durchmesser;
        cin >> durchmesser;
        return durchmesser;
    }
    
    float berechneNiederschlagInLitern(
        float ml,
        float durchmesser)
    {
        // int quadratmeter = 1; Da quadratmeter scheinbar fix ist, weglassen
        float flaeche = durchmesser * (pow(M_PI, 2));
        return (1 / flaeche) * ml;
    }
    
    int main()
    {
        float niederschlagInLitern = berechneNiederschlagInLitern(
          frageNachML(),
          frageNachDruchmesser());
    
        cout << " Es hat "
          << niederschlagInLitern
          << " l auf den Quadratmeter geregnet.";
    
        getchar();
    }
    

Anmelden zum Antworten