Написать код на C# для такого задания [требует правки]

255
29 мая 2017, 22:47

Назначение
Программа реализует автоматный распознаватель, использующий в качестве структуры данных таблицу переходов.

Что делает
Прямая польская запись арифметических выражений. Операнды – вещественные и целые числа, операции – сложение, умножение, деление и вычитание.

Осуществлено (очень криво)
проверка первого символа (должен быть + - * /)

using System;
using System.Linq;
using System.Windows.Forms;
namespace WindowsFormsApp2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                string[] temp = null;
                try
                {
                    temp = textBox1.Text.Split(' ');
                }
                catch (Exception)
                {
                    MessageBox.Show("Вы не ввели число(а). Пожалуйста совершите корректный ввод двух чисел!", "", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                string result = "";
                string result2 = "";
                string result3 = "";
                result = temp[0];
                result2 = temp[1];
                result3 = temp[2];
                bool t = true;
                if (result2 == "" | result3 == "")
                {
                    MessageBox.Show("Вы не ввели число(а). Пожалуйста совершите корректный ввод двух чисел!", "", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {                {
                    if (result.Contains('+') & !result.Contains('*') & !result.Contains('-') & !result.Contains('/'))
                    {
                        MessageBox.Show("Сложение выполнимо");
                    }                    
                    else
                    {
                        if (!result.Contains('+') & result.Contains('*') & !result.Contains('-') & !result.Contains('/'))
                        {
                            MessageBox.Show("Умножение выполнимо");
                        }
                        else
                        {
                            if (!result.Contains('+') & !result.Contains('*') & result.Contains('-') & !result.Contains('/'))
                            {
                                MessageBox.Show("Вычитание выполнимо");
                            }
                            else
                            {
                                if (!result.Contains('+') & !result.Contains('*') & !result.Contains('-') & result.Contains('/'))
                                {
                                    MessageBox.Show("Деление выполнимо");
                                }
                                else
                                {
                                    if (!result.Contains('+') & !result.Contains('*') & !result.Contains('-') & !result.Contains('/'))
                                    {
                                        MessageBox.Show("Не введен знак удовлетворяющий требованиям, пожалуйста введите один из знаков: + - * /", "", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                    }
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception)
            {
                MessageBox.Show("вы не верно ввели выражение", "", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
    }
}
READ ALSO
Как получить иконку папки?

Как получить иконку папки?

Как получить иконку папки?

299
wpf создать массив user control и поместить GroupBox

wpf создать массив user control и поместить GroupBox

Привет народ, создал User control с помощью конструктора, теперь мне нужно программно создать массив этих элементов и поместить их в Groupbox или какой...

481
Рассылка сообщений

Рассылка сообщений

Требуется рассылка сообщений с сервера клиентамВ среднем 300 раз в секунду, но в пике до 25000 (на несколько секунд)

283
Не могу найти решить проблему в TextMesh

Не могу найти решить проблему в TextMesh

Пытаюсь сделать журнал с записями, по 10 строк на одной страницеЕсли objectDelivery [i] == false, то цвет строки обычный, если true, то становится прозрачным

244