Ich weiß nicht, warum mein Programm schließen, bevor ich Zahlen schreibe (in Rechenoption). Und was ist falsch mit Etiketten. Jemand Hilfe? Das tut mir leid. Es muss leicht für dich sein.Mein Programm schließen, bevor ich Zahlen schreibe (Rechenoption)
class Program
{
static void Main(string[] args)
{
string str;
double parametrA, parametrB, parametrC;
Console.Write("Chose a option: \n");
Console.Write("calculating - calculating square equation \n");
Console.Write("series - even or odd \n");
Console.Write("exit - close program \n");
Console.ReadKey();
while (true)
{
str = Console.ReadLine();
if (str == "calculating")
{
goto label1;
}
else
{
if (str == "series")
{
goto label2;
}
else
{
if (str == "exit")
{
goto label3;
}
}
}
label1:
Console.WriteLine("calculating: \n");
Console.WriteLine("enter parameters: \n");
if (args.Length < 3)
{
Console.WriteLine("not enaught data \n");
return;
}
try
{
parametrA = Double.Parse(args[0]);
parametrB = Double.Parse(args[1]);
parametrC = Double.Parse(args[2]);
// sollte ich eine console.readkey() machen?
}
catch (Exception)
{
Console.WriteLine("One of the parameters isnt a correct number! ");
return;
}
Console.WriteLine("Introduced equation parameters: \n");
Console.Write("Parametr A = " + parametrA + "Parametr B = " + parametrB + "Parametr C = " + parametrC + "\n");
if (parametrA == 0)
{
Console.WriteLine("It isn't a square equation! ");
}
else
{
double delta = parametrB * parametrB - 4 * parametrA * parametrC;
double score;
if (delta < 0)
{
Console.WriteLine("Delta < 0! ");
}
else if (delta == 0)
{
score = -parametrB/(2 * parametrA);
Console.WriteLine("x = " + score);
}
else
{
score = (-parametrB + Math.Sqrt(delta))/(2 * parametrA);
Console.WriteLine("x1 = " + score);
score = (-parametrB - Math.Sqrt(delta))/(2 * parametrA);
Console.WriteLine("x2 = " + score);
}
}
Wenn ich Etiketten trennen, kann ich nicht kompilieren.
label2:
Console.WriteLine("odd numbers : \n");
for (int i = 1; i <= 10; i++)
{
if (i % 2 != 0)
Console.WriteLine(i);
else
Console.WriteLine("even!");
}
Dieses Etikett Arbeit korrekt
label3: Console.WriteLine ("exit \ n"); if (str == "exit") { Pause; }
}
}
}
}
ok, danke mann. Ich versuche mehr ... – SebiX