Математические операции с данными из буфера обмена - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте Уважаемые програмисты! Понадобилась программа которая бы при копирывании выражения , например 2+2 3-1, находила сумму или разницу.Подскажите что не так со скриптом. Выполняет только первый иф, пробовал менять местами всё равно только первое условие. Буду благодарен за исправления и по возможности обьяснения.
private void button1_Click(object sender, EventArgs e)
        {
            IDataObject iData = Clipboard.GetDataObject();
            string str = (String)iData.GetData(DataFormats.Text);
            string begin = str.Substring(0, 1);
            string midl = str.Substring(1, 1);
            string end = str.Substring(2, 1);
            int a, b, res;
            a = int.Parse(begin);
            b = int.Parse(end);
            int length = str.Length;
            if (length > 2)
            {
                if (midl == "-")
                {
                    res = a - b;
                    Clipboard.SetDataObject(Convert.ToString(res));
                }
 
                else if (midl == "+")
                {
                    res = a + b;
                    Clipboard.SetDataObject(Convert.ToSingle(res));
                }

Решение задачи: «Математические операции с данными из буфера обмена»

textual
Листинг программы
        private void button1_Click(object sender, EventArgs e)
        {
            IDataObject iData = Clipboard.GetDataObject();
             string str = (String)iData.GetData(DataFormats.Text);
            string[] split = str.Split(new char[]{'+','-'},StringSplitOptions.RemoveEmptyEntries);
 
            
            int a = int.Parse(split[0]);
            int b = int.Parse(split[1]);
            if (str.IndexOf('+') != -1) this.Text = (a + b).ToString();
            if (str.IndexOf('-') != -1) this.Text = (a - b).ToString();
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.5 из 5
Похожие ответы