Я работал над калькулятором с помощью C# и столкнулся с проблемой, с которой я не смог работать.Почему моя профилактика «Divide by Zero» не работает?
В настоящее время, когда пользователь вводит число, деленное на ноль, тогда ответ по умолчанию равен 0,00, а вместо этого он должен быть недействительным.
Я понятия не имею, почему и после того, как я немного поработал с ним, я не смог понять это. Вот соответствующий код:
private void button1_Click(object sender, EventArgs e)
{
double number1, number2, ans; // Identify variables as double to account for decimals.
number1 = Convert.ToDouble(num1.Text); // Convert the contents of the textBox into a double.
number2 = Convert.ToDouble(num2.Text); //
ans = 0.0;
string symbol = modifier1.Text;
if (symbol == "/" && number2 == 0) // This part seems to be broken.
answer.Text = "Invalid input.";
else
if (symbol == "+")
ans = number1 + number2;
else if (symbol == "-")
ans = number1 - number2;
else if (symbol == "/")
ans = number1/number2;
else if (symbol == "*")
ans = number1 * number2;
else
ans = 0;
answer.Text = ans.ToString("n"); // Change label value to a number.
}
Есть ли у кого-нибудь идеи, как я могу это исправить? Это кажется довольно прямым, но я чего-то не хватает.
Вы отсутствующий 'return' или фигурные скобки. Пожалуйста, используйте отладчик для подтверждения. Также убедитесь, что вы поняли правила языка, который используете - C# * не использует значительные пробелы в отличие от некоторых других языков. –