感谢这里的社区,我能够编写我的第一个程序。但是,我仍然需要一些帮助来改进程序:
Console.WriteLine("BMI Rechner");
Console.WriteLine("===========");
Console.WriteLine();
Console.Write("Körpergewicht in kg: ");
int kg;
kg = Convert.ToInt32(Console.ReadLine());
Console.Write("Größe in cm: ");
int cm;
cm = Convert.ToInt32(Console.ReadLine());
Console.Write("Geschlecht (m/w):");
string Geschlecht = Console.ReadLine();
bool Auswahl = false;
switch(Geschlecht)
{
case "m":
Auswahl = true;
break;
case "w":
Auswahl = true;
break;
default:
Console.WriteLine("Ungültige Eingabe");
Console.WriteLine("(m)ännlich/(w)eiblich");
break;
}
if (Auswahl != false) {Console.WriteLine("Eingabe wird verarbeitet");}
double BMI = kg / ( (cm / 100.0) * (cm / 100.0) );
if (BMI < 19 & Geschlecht == "w")
{ Console.WriteLine("-> Untergewicht"); }
else if (BMI >= 19 & BMI <= 24 & Geschlecht == "w")
{ Console.WriteLine("-> Normalgewicht"); }
else if (BMI > 24 & Geschlecht == "w")
{ Console.WriteLine("-> Übergewicht"); }
if (BMI < 20 & Geschlecht == "m")
{ Console.WriteLine("-> Untergewicht"); }
else if (BMI >= 20 & BMI <= 25 & Geschlecht == "m")
{ Console.WriteLine("-> Normalgewicht"); }
else if (BMI > 25 & Geschlecht == "m")
{ Console.WriteLine("-> Übergewicht"); }
Console.ReadLine();
我在中间做了一个开关,以防止程序在输入错误时崩溃。它有效,我得到以下几行:
Console.WriteLine("Ungültige Eingabe");
Console.WriteLine("(m)ännlich/(w)eiblich");
这应该是我回到选项“m”和“w”的“循环”。但是,如果我现在输入 m/w,程序就会关闭,这意味着它根本不起作用。
我的代码中有错误还是我只是使用了错误的命令?
对于我对编程术语的掌握,我深表歉意。这是我第一次。
提前致谢!