Simple Lösung für C#?
Hallo an alle die sich hiermit auskennen,
Ich lerne in der Schule gerade das Programmieren mit C# und wir sollen jetzt mal einen Taschenrechner programmieren. Jetzt komme ich nur nicht so ganz mit der neu gelernten "if"-Funktion klar, und verzweifle hier regelrecht, da C# möchte, dass ich nach jeder "if {}" Klammer noch eine weitere geschweifte Klammer dahinter setzte, ich weiß aber nicht warum, denn so steht es auf dem Arbeitsblatt welches wir bekommen haben...
Außerdem sagt mir das Programm jetzt, dass ich Zahlen vom Typ "int" nicht von einander subtrahieren kann, da dieser Operant nicht angewendet werden kann. Habe ich nur einen Fehler im Code, oder geht das tatsächlich nicht?
Vielen Dank schon mal im Vorraus,
MfG
Ich :D
4 Antworten
Also erstens muss der Strichpunkt hinter deiner if-Klammer weg.
Die streicht dir das Programm sogar an.
Syntax ist:
if(bedingung)
{
aktion
}
Deine Rechenoperation geht nicht, weil du string und int durcheinander würfelst.
Console.WriteLine("string"+(1+1)); --> string 2
Console.WriteLine("string"+ 1+1); -> string 11
";" darfst du nicht hinter den runden klammern beim if setzen das ist das einzige Problem weswegen } diese rot unterringelt werden. Das "-" darfst du nicht in der Ausgabe rechnen dafür benötigst du eine weitere Variable also
int ergebnis = i_Zahl1 - i_Zahl2;
Console.WriteLine("Ausgabe" + ergebnis);
Bei den if/else Operationen kommen keine ";" hin.
if (...) { ...
} else if (...) { ...
} else { ...
}
Danke!
Dann hat mein Lehrer das einfach Falsch auf dem Übungsblatt notiert. xD
if(BEDINGUNG)
{
BEFEHLE
}
[else if (BEDINGUNG) {...}}
[else {...}}
JEDE IF-Bedingung hat diese Format. JEDE. Und JEDE Klammer die geöffnet wird, muss auch geschlossen werden. IMMER.
Zu den Strings:
"abc" + 1 - 2 => "abc1"
"abc1" - 2 => geht nicht.
Du muss Klammern setzen. Es wird nämmlich von links nach rechts ausgeführt und nicht kreuz und quer ;)
Nein nur das ";" ist falsch am ende der runden klammern. Das else if muss nicht in klammer gesetzt werden es wird einfach unter das ende der ersten if Anweisung wie ein else angebaut.
Ahh hab mich da vertippt. Eckige Klammern werden in Dokumentationen meist genutzt um optionale Dinge zu kennzeichnen ;)
Und wie du siehst habe ich auch keine Strichpunkte genutzt.
Danke, das hat zumindest schon mal eins meiner Probleme gelöst! :D