Argumentliste



  • Hallo erst Mal
    Was ist falsch? Er sagt mir das dem Funktiosnaufruf die Argumentliste fehlt?
    [cpp][code]

    Int32 eingabe() {
    Int32 einZahl1, einZahl2;

    Console::Write("Geben Sie die Zahl 1 ein: = ");
    einZahl1=Convert::ToInt32(Console::ReadLine());

    Console::Write("Geben Sie die Zahl 2 ein: = ");
    einZahl2=Convert::ToInt32(Console::ReadLine());

    return (einZahl1 + einZahl2);
    return (einZahl1 - einZahl2);

    }

    int main(array<System::String ^> ^args)
    {

    switch (eingabe) {
    case '1':
    Console::WriteLine(" 1 ist für Plusrechnung {0}",eingabe());
    break;
    case '2':
    Console::WriteLine(" 2 ist für Minusrechnung {0}",eingabe());
    break;

    Console::WriteLine("\n Die Funktion eingabe () liefert den Wert {0}",eingabe());
    }

    return 0;
    }
    Vielen Dank im Voraus



  • switch(eingabe())
    

    ?



  • Erstens: eingabe() ist eine Funktion - und selbst wenn die keine Parameter benötigt, ist beim Aufruf die (in dem Fall leere) Argumentliste Pflicht.

    Zweitens: Eine Funktion kann nur einen Wert zurückgeben - nach der Anweisung 'return (einZahl1+einZahl2); kehrt der Programmfluß zur main() zurück und ignoriert die zweite return-Anweisung. (wenn du beide Werte zurückgeben willst, kannst du sie zu einer struct zusammenfassen)

    Drittens: sfds



  • CStoll schrieb:

    Erstens: eingabe() ist eine Funktion - und selbst wenn die keine Parameter benötigt, ist beim Aufruf die (in dem Fall leere) Argumentliste Pflicht.

    Zweitens: Eine Funktion kann nur einen Wert zurückgeben - nach der Anweisung 'return (einZahl1+einZahl2); kehrt der Programmfluß zur main() zurück und ignoriert die zweite return-Anweisung. (wenn du beide Werte zurückgeben willst, kannst du sie zu einer struct zusammenfassen)

    Drittens: <a target='_blank' href='viewtopic.php?t=39411'>So funktioniert das Syntaxcoloring:</a>

    Du hast Recht die Klammern fehlten.
    Das soll ein Rechner werden mit + - / * wenn ich zwei hinbekomme denke ich klappt das auch mit vieren. Er kompiliert das Programm ohne Fehler aber er rechnet nicht. Wie sage ich ihm das er + rechnen oder - rechnen soll. Wenn ich das vorher auswählen kann hatte ich gedacht das er dann die zweite return Anweisung nehmen würde?



  • Und woher soll die Funktion wissen, welche Rechnung sie nun tatsächlich durchführen soll? Das mußt du ihr natürlich mitteilen. (entweder du fragst in der Funktion ab, welche Operation du willst - und gibst dann das entsprechende Ergebnis zurück, oder du übergibst ihr einen Parameter, in dem die gewünschte Operation drinsteht)



  • CStoll schrieb:

    Und woher soll die Funktion wissen, welche Rechnung sie nun tatsächlich durchführen soll? Das mußt du ihr natürlich mitteilen. (entweder du fragst in der Funktion ab, welche Operation du willst - und gibst dann das entsprechende Ergebnis zurück, oder du übergibst ihr einen Parameter, in dem die gewünschte Operation drinsteht)

    Eine einzelne + - * oder / kriege ich hin aber ich weis nicht wie ich ihm sagen soll das ich zum Beispiel * nehmen oder teilen will, das muss ich im ja vorher sagen. Ich wäre dir sehr dankbar wenn du mir etwas schreiben würdest wie ich das anfangen soll.
    Mit besten Dank




Anmelden zum Antworten