Pracowałem nad kalkulatorem przy użyciu C# i natknąłem się na problem, z którym nie mogłem pracować.Dlaczego moje zapobieganie "Podziel przez zero" nie działa?
Obecnie, gdy użytkownik wprowadza liczbę podzieloną przez zero, domyślna wartość odpowiedzi wynosi 0,00, zamiast tego powinna być nieważna.
Nie mam pojęcia, dlaczego i po majstrowaniu przy nim przez chwilę nie byłem w stanie tego rozgryźć. Oto odpowiedni kod:
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.
}
Czy ktoś ma jakieś pomysły, jak mogę to naprawić? Wydaje się to całkiem proste, ale czegoś mi brakuje.
brakuje 'return' lub nawiasy klamrowe. Proszę użyć debuggera, aby potwierdzić. Upewnij się również, że znasz zasady używania języka - C# * nie * używa znaczących białych znaków w przeciwieństwie do innych języków. –