Verstehe die Modullierung nicht?!



  • Moin,

    Ich muss für die Uni c++ lernen und komme bei einer Sache nicht weiter: Modullierung.

    Die Theorie dahinter sieht doch ca. so aus?

    Ich habe einen langen Programmcode, den ich durch einen Befehl substituiere, sodass ich jedesmal den kurzen Befehl eingebe wenn ich die Funktion will.
    Habe ich die Theorie richtig verstanden?

    Das ganze Programmiere ich dann so:

    Datentyp Funktionsname (Parameterliste)
    {Programmcode der zusammengefasst werden soll}

    -Der Datentyp gibt an mit welchem Datentyp das Ergebnis ausgegeben wird
    -Funktionsname ist halt der Name
    -Und die Paramterliste gibt an mit welchen Paramtetern die Funktion arbeiten wird, deklariert also quasi die Variablen. wenn ich keine variablen habe ist es "void"

    Als Beispiel:

    int Beispiel (a, b, c, d, e)
    {
    a= b + c + d * e
    cout<<"Das Ergebnis ist" <<a <<endl;
    return O;
    }

    Hiermit habe ich doch beschlossen, dass "a= b + c + d * e" durch einen kurzen befehl ersetzt wird, oder?

    Wie rufe ich diese Funktion aber auf?

    Kann ich einfach sagen
    int Beispiel (2, 3, 4, 5)

    und das Programm gibt mir 2+3+4*5 aus?

    Habe es mal so aufgeschrieben wie ich es verstanden habe.
    Es wäre nett wenn jemand eventuelle Fehler korrigieren könnte und für einen Fachfemden erklären könnte 🙂

    Vielen Dank



  • haifisch1010 schrieb:

    Ich habe einen langen Programmcode, den ich durch einen Befehl substituiere, sodass ich jedesmal den kurzen Befehl eingebe wenn ich die Funktion will.
    Habe ich die Theorie richtig verstanden?

    Ja. Grundsätzlich geht es darum.

    haifisch1010 schrieb:

    Das ganze Programmiere ich dann so:

    Datentyp Funktionsname (Parameterliste)
    {Programmcode der zusammengefasst werden soll}

    -Der Datentyp gibt an mit welchem Datentyp das Ergebnis ausgegeben wird
    -Funktionsname ist halt der Name
    -Und die Paramterliste gibt an mit welchen Paramtetern die Funktion arbeiten wird, deklariert also quasi die Variablen. wenn ich keine variablen habe ist es "void"

    Auch korrekt. Das Schlüsselwort void mußt Du in C auch angeben. In C++ darfst Du es weglassen.

    haifisch1010 schrieb:

    Als Beispiel:

    int Beispiel (a, b, c, d, e)
    {
    a= b + c + d * e
    cout<<"Das Ergebnis ist" <<a <<endl;
    return O;
    }

    Falsch. Du muß in Deiner Parameterliste auch die Typen der Parameter angeben. So zum Beispiel:

    int Beispiel( int a, int b, int c, int d, int e )
    {
    }
    

    haifisch1010 schrieb:

    Hiermit habe ich doch beschlossen, dass "a= b + c + d * e" durch einen kurzen befehl ersetzt wird, oder?

    Nicht ganz, da Du a nicht zurückgegeben hast sondern nur ausgegeben hast. Du mußt das Ergebnis Deiner Rechnung auch wieder zurückgeben. Sonst hat es einen anderen Effekt, da die Funktion nur lokale Variablen verändert.

    int Beispiel( int a, int b, int c, int d, int e )
    {
        a= b + c + d * e;
        return a;
    }
    

    haifisch1010 schrieb:

    Wie rufe ich diese Funktion aber auf?

    Kann ich einfach sagen
    int Beispiel (2, 3, 4, 5)

    und das Programm gibt mir 2+3+4*5 aus?

    Du mußt das Schlüsselwort int weglassen. Besser ist, Deine Funktion gibt nichts aus und der Aufrufer entscheidet, was mit dem Ergebniss weiter passieren soll.

    int a = Beispiel (2, 3, 4, 5);
        std::cout << "Das Ergebnis ist" <<a << std::endl;
    

    VG


Log in to reply