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
-