Member 14875708 Ответов: 2

Как сделать равный операнд с помощью синтаксического анализа


Кодирование калькулятор равно не работает... не знаю почему

Что я уже пробовал:

<pre>	private void button5_Click(object sender, System.EventArgs e)
		{
            //Equal sign

            n2 = decimal.Parse(textBox1.Text = textBox1.Text);
            
            if (fun == "+")
			 n1 = n1 + n2;

			else
			if (fun == "-") 
			 n1 = n1 - n2;

			else
				if (fun == "*") 
				n1 = n1 * n2;

			else
				if (fun == "/") 
				n1 = n1 / n2;
			textBox1.Text = n1.ToString();
		}

2 Ответов

Рейтинг:
2

Garth J Lancaster

1. что означает "не работает...не знаю почему"? если вы не можете адекватно описать проблему, как вы ожидаете от нас помощи ? (Используйте "улучшить решение")

2. этот код

if (fun == "+")
 n1 = n1 + n2;

else
if (fun == "-")
 n1 = n1 - n2;

else
    if (fun == "*")
    n1 = n1 * n2;

else
    if (fun == "/")
    n1 = n1 / n2;

одно слово ... "ужасно" ... могу я предложить
switch(fun)
{
  case "+" : 
    n1 = n1 + n2;
    break;
  case "-" : 
    n1 = n1 - n2;
    break;
  case "*" : 
    n1 = n1 * n2;
    break;
  case "/" : 
    n1 = n1 / n2;
    break;
}


Maciej Los

5ed!

Рейтинг:
2

Richard MacCutchan

Что должно делать это утверждение?

n2 = decimal.Parse(textBox1.Text = textBox1.Text);

Особенно выражение в скобках.