Я делал калькулятор в C#. Вот умножение часть ---Почему консоль закрывается после ввода да?
using System;
static class calculator
{
public static void Main()
{
welcome:
Console.WriteLine("Welcome to my calculator, please press enter to continue");
Console.ReadLine();
Console.WriteLine("Do you want to add, subtract, multiply or divide?");
string x = Convert.ToString(Console.ReadLine());
if (x == "multiply")
{
Console.WriteLine("Please enter the first value");
decimal value1multiply = Convert.ToDecimal(Console.ReadLine());
Console.WriteLine("Please enter the second value");
decimal value2multiply = Convert.ToDecimal(Console.ReadLine());
Console.WriteLine("Result =");
Console.WriteLine(value1multiply * value2multiply);
Console.WriteLine("Thank you for using my calculator!Do you still want to use it?Please answer in 'yes' or 'no' and press 'enter'");
Console.ReadLine();
string yesorno =Console.ReadLine();
if (yesorno == "yes")
{
goto welcome;
}
if (yesorno == "no")
{
Environment.Exit(0);
}
}
}
}
Когда я типа «да», когда он просит меня, консоль должна привести меня приветствовать. Но вместо этого он ничуть не ведет и остается пустым. Когда я снова нажимаю клавишу, консоль закрывается. Почему это происходит и как я могу это предотвратить?
То, что я пробовал:
Я попытался удалить environment.exit (0), полагая, что консоль ведет меня к тому, что, но это не помогло. Я даже попытался ввести код в Visual Studio, но никакой разницы в результатах. (Я использую острое развитие)
вместо goto - использование в то время как состояние. goto не следует использовать, его считается плохой практикой – Mafii
строка явно не есть и не да - вот почему она по-прежнему закрыта при удалении environment.exit. рассмотрите возможность проверки значения yesorno с точкой останова – Mafii
удалите консоль .readline перед строкой yesorno = Console.ReadLine(); – rashfmnb