Возврат методом различных типов данных - C#

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

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

Здравствуйте, ребята, как научить мой "калькулятор" понимать строку ввода типа "2+2" или к примеру "10/2" когда я ввожу в консоль, выдаётся ошибка. Код ниже:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace _07Metods02
{
    class Program
    {
        static double Add(double a, double b)
        {
                return a + b;
        }
        static double Sub(double a, double b)
        {
                return a - b;
        }
        static double Mul(double a, double b)
        {
                return a * b;
        }
        static double Div(double a, double b)
        {
                return a / b;
        }
        static void Main(string[] args)
        {
            double a, b;
            char x;
            Console.WriteLine("Пожалуста введите 2 числа");
            a = double.Parse(Console.ReadLine());
            x = char.Parse(Console.ReadLine());
            b = double.Parse(Console.ReadLine());
            if (b == 0)
            {
                Console.WriteLine("Ошибка! На ноль делить нельзя!");
            }
                switch (x)
                {
                    case '+':
                        Console.WriteLine("Сумма этих двух чисел {0:0.00}", Add(a, b));
                        break;
                    case '-':
                        Console.WriteLine("Разница этих двух чисел {0:0.00}", Sub(a, b));
                        break;
                    case '*':
                        Console.WriteLine("Произведение этих двух чисел {0:0.00}", Mul(a, b));
                        break;
                    case '/':
                        Console.WriteLine("Деление этих двух чисел {0:0.00}", Div(a, b));
                        break;
                }
            Console.ReadKey();
        }
    }
}

Решение задачи: «Возврат методом различных типов данных»

textual
Листинг программы
            double a, b;
            char x = ' ';
            string str = Console.ReadLine();
            foreach (var ch in str) { if (!Char.IsDigit(ch)) { x=ch; } }
            string[] digits = str.Split(new char[1]{x}, StringSplitOptions.RemoveEmptyEntries);
            a = Convert.ToInt32(digits[0]);
            b = Convert.ToInt32(digits[1]);

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


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

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

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