Downhilljunkie - Sa 10.10.09 10:30
Titel: Verzweigung - "if (bool'sche Bedingung)" - Anwendung?
Hey leute.
Wie kann ich im Csharp den Befehl
if (1700 <= x < 2000) ? das funktioniert bei mir nicht wirklich.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| namespace ConsoleApplication2 { class Program { static void Main(string[] args) { string temp; int meter; Console.WriteLine("Geben Sie die in 12 Minuten gerannte Strecke ein"); temp = Console.ReadLine(); meter = Convert.ToInt16(temp); if (meter >= 2200) { Console.WriteLine("Ihre Körperliche Fitness ist sehr gut"); } else { <span style="color: red"> if (1700 <= meter >2200)</span> { Console.WriteLine("Ihre Körperliche Fitness ist gut"); } else .... |
JüTho - Sa 10.10.09 10:46
Hallo und :welcome:
Zunächst bitte ich dich, bei deinen Fragen an die Leser zu denken: Diese sollen dir helfen, also solltest du ihnen die Hilfe erleichtern.
1. Die Diskussion verlangt eine
sinnvolle Überschrift. "Probleme" hat jeder, der hier etwas fragt, gleichgültig ob es um Anfänger oder Fortgeschrittene geht. Was für ein Problem hast du? Richtig, eine Frage zu einer erweiterten if-Prüfung.
2.
Code ist als solcher zu markieren, dann ist er richtig lesbar. Das kannst du auch nachträglich erledigen: den Beitrag mit dem Schere-Button zum Editieren öffnen, Überschrift ändern, dann Text markieren, "Bereiche" öffnen, C# auswählen, Plus-Button, Absenden.
Zur Sache: Du musst natürlich die Syntax korrekt verwenden. if verlangt (in Klammern) eine Bedingung, die mit passenden Operatoren erstellt werden. Es gibt aber keinen booleschen Operator mit drei Argumenten à la "a <= b < c".
Eine solche if-Prüfung ist aufzuteilen. Dann stellst du fest, dass es eigentlich zwei Bedingungen sind, die durch einen booleschen Operator AND oder OR zu verknüpfen sind. Also entspricht das etwa dieser Bedingung:
Quelltext
1:
| wenn x >= 1700 und wenn x < 2000 |
In C# heißt das "und" '&' oder '&&', das "oder" heißt '|' bzw. '||'. In der Praxis wird fast immer das doppelte Zeichen verwendet. Erläuterungen findest du in der
SDK-Doku/MSDN oder auch unter
OpenBook VC# 2.4 Operatoren [
http://openbook.galileocomputing.de/visual_csharp/visual_csharp_02_004.htm#mjf35aef781dc462c1c11e8c8b864b3f2c].
Damit hast du auch gleich einen Tipp für einführende Lektüre. Jürgen
PS. int ist
Int32, nicht Int16. Anstelle von Convert.To-Methoden ist int.Parse oder noch besser
int.TryParse vorzuziehen; was passiert denn bei einer Falscheingabe wie "wwwe" (nur vertippt statt "2223")?
/Edit
Oh Mann, "und" und "oder" verwechselt, und das mir.
JüTho - Sa 10.10.09 12:21
UGrohne hat folgendes geschrieben : |
| Wie wärs noch die Bitten von JüTho zu beachten? |
Das bezieht sich nicht nur auf die erste, sondern auch auf die zweite Bitte. Es sollen nicht einzelne Zeilen farbig sein, sondern der gesamte Text als Code erkennbar, nämlich mit Schlüsselwörtern und Einrückungen:
C#-Quelltext
1: 2: 3: 4: 5: 6:
| namespace ConsoleApplication2 { class Program { } } |
Jürgen