Wo ist der Fehler?



  • Hi,habe dieses kleine Programm hier geschrieben:

    #include <iostream.h>
    
    int Multiplikation(int x,int y);
    
    void main(void)
    
    {
    	int a;
    	int b;
    	int Ergebnis = Multiplikation(a,b);
    	cout << "Zwei Zahlen zum multiplizieren eingeben\n";
    	cin >> a;
    	cin >> b;
    	cout << "Das Ergebnis lautet:"<<Ergebnis;
    
    }
    int Multiplikation(int x,int y,int Produkt)
    {
    	int Produkt = x * y;
    	return Produkt;
    }
    

    Visual C++ zeigt nun beim Kompilieren diese Fehlermeldung:C:\Entwicklungen\HelloWorld\HelloWorld.cpp(20) : error C2082: Neudefinition des formalen Parameters "Produkt"

    ???

    Wo ist der Fehler?



  • fehler nr1: du hast das schließende cpp-tag vergessen 😃

    also: du rufst Multiplikation mit zwei parametern auf.
    in der untenstehenden definition stehen aber drei parameter.

    der compiler beschwert sich darüber, daß du erst int Produkt definierst und dann im funktionskörper nochmal definierst.



  • Wie soll der Code richtig lauten?



  • du läßt das int Produkt aus der parameterliste von Multiplikation raus.



  • Es geht aber wenn ich jetzt 4 und 5 eingebe kommt etwas als Ergebnis das in etwa so aussieht:Das Ergebnis lautet:625419



  • Tommy438 schrieb:

    Hi,habe dieses kleine Programm hier geschrieben:

    int a; //hier vereinbarst du eine variable a
    	int b; //und hier eine b
    	int Ergebnis = Multiplikation(a,b); //die variablen haben noch keinen wert zugewiesen bekommen, sei enthalten irgendwas. jetzt übergibts du also an die funktion zwei zufällige werte!
    

    lösung: ERST die zuweisung der werte an a und b (durch eingabe des benutzers)
    DANN das aufrufen der multipilkationsfunktion mit den parametern a und b



  • Das könnte daran liegen, daß du das Ergebnis berechnest, bevor die Zahlen überhaupt bekannt sind! Also erst Zahlen einlesen, dann Ergebnis berechnen.



  • Ok jetzt klappt alles,

    Danke an alle!

    👍

    Ihr habt ja echt was drauf 😮 😃


Anmelden zum Antworten