switch case in c#?

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Mein Lösungsvorschlag dafür wäre das hier:

using System;

class Program{
    private static void Main(string[] args){
        //Deklarieren der Variablen für die drei Seiten
        int a, b, c;
        //Abfragen und Umwandeln der Eingabe inkl. rudimentärer Fehlerbehandlung
        do{ Console.Write("a="); }while(!int.TryParse(Console.ReadLine(), out a));
        do{ Console.Write("b="); }while(!int.TryParse(Console.ReadLine(), out b));
        do{ Console.Write("c="); }while(!int.TryParse(Console.ReadLine(), out c));
        //Ermitteln des höchsten der drei Werte
        int max = Math.Max(Math.Max(a, b), c);
        //Berechnen und Ausgeben des Ergebnises
        Console.WriteLine(
            //Das Formatmuster für die Ausgabe
            "({0}|{1}|{2}) ist {3}ein gültiges SSS-Dreieck.",
            //Die drei Seitenlängen (diese nehmen die Plätze der Platzhalter 0, 1 und 2 ein)
            a, b, c,
            //Falls die Differenz der Summe der drei Seiten und der längsten Seite kleiner oder gleich der längsten Seite ist, handelt es sich nicht um ein gültiges SSS-Dreieck, daher wird in der Ausgabe der Platzhalter 3 durch ein "k" (nimm "ein" und setze ein "k" davor, schon hast du, eine sinnvolle Satzstruktur vorausgesetzt, die Aussage negiert) ersetzt, andernfalls durch einen leeren String.
            (((a+b+c) - max) > max) ? "" : "k"
        );
    }
}
Woher ich das weiß:Hobby

AGoogleUser 
Beitragsersteller
 15.12.2021, 15:52

Jo vielen Dank^^

Zahhak  15.12.2021, 17:10
@AGoogleUser

Aber nicht einfach nur kopieren, sondern auch verstehen, Okay? ^^

z.b. könnte man es so lösen :

die drei werte sortieren , und dann einfach gucken ob die beiden kleineren werte addiert <= des größten wert ist .

also maximal 4 ifs brauchst du da

if a>b -> tauschen
if b>c -> tauschen
if a>b -> tauschen
if (a+b < c ) jo geht 
else nö geht nicht

AGoogleUser 
Beitragsersteller
 14.12.2021, 21:51

Danke für deine Antwort^^Ich weiß nicht ob das jetzt ne doofe Frage ist, aber wie genau meinst du das mit Werte tauschen?

TechPech1984  14.12.2021, 21:52
@AGoogleUser

a wird zu b , b wird zu a , brauchste einen zwischen speicher z.b. z ;)

ergo

z = a;
a = b:
b = z;
AGoogleUser 
Beitragsersteller
 14.12.2021, 21:55
@TechPech1984

ok...sorry vielleicht steh ich grad echt auf m Schlauch.Wie genau soll ich das machen😅Kannst du vielleicht ne kurze Codezeile schreiben?

AGoogleUser 
Beitragsersteller
 14.12.2021, 21:57
@AGoogleUser

oh sorry hast ja schon gemacht🙈, habs bloss noch nicht gesehen weils noch nicht aktualisiert hatte...