Всем привет! У меня есть цель - научиться программировать. В качестве первого языка я решил выбрать C#, хотя также иногда занимаюсь изучением языка C++. И я решил, что можно выкладывать свой код и свои программы здесь, на Хабре, так как тут есть много специалистов, которые смогут дать совет как улучшить код, подскажут интересные варианты решения различных проблем и так далее. В общем, если вы будете видеть в коде какие то недочеты, то я всегда за то, чтобы вы меня поправили в комментариях. А теперь приступим к написанию кода на языке C#.

Я буду писать код в среде Visual Studio 2022. Для меня данная среда максимально удобная и понятная. Чтобы написать консольное приложение в этой среде, необходимо создать проект. Так выглядит необходимый для нас тип проекта:

После создания проекта перед нами появляется окно с таким кодом:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Policy;
using System.Text;
using System.Threading.Tasks;

namespace calculator
{
    internal class Program
    {
        static void Main(string[] args)
        {
        }

    }
}

Писать весь наш код мы будем в пределах фигурных скобок данного метода:

static void Main(string[] args)
        {
        }

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

Для вводимых чисел и результата создаем переменные типа float.

float one, two, result;

Также создаем переменную типа char, которая будет отвечать за знак действия.

char sign;

Итого получаем такой код:

static void Main(string[] args)
        {
            float one, two, result;
            char sign;
        }

Теперь давайте выведем надпись в консоль, чтобы пользователь знал, что это за программа. Используем команду Console.WriteLine(). Также давайте напишем здесь то, что должен сделать пользователь.

 Console.WriteLine("Добро пожаловать в калькулятор. Вам нелбходимо ввести первое число, затем знак действия(+,-,*,/), которое хотите совершить и второе число.");

Теперь выводим надписи о вводе первого числа, знака, а также второго числа. И также используем команду Console.ReadLine(), чтобы получить от пользователя значения всех переменных. Но необходимо конвертировать значение, так как выше написанная команда принимает по умолчанию только строки.

            Console.Write("Введите первое число: ");
            one = Convert.ToSingle(Console.ReadLine());
            Console.Write("Введите знак действия : ");
            sign = Convert.ToChar(Console.ReadLine());
            Console.Write("Введите Второе число: ");
            two = Convert.ToSingle(Console.ReadLine());

Так выглядит весь наш написанный код на данный момент:

static void Main(string[] args)
        {
            float one, two, result;
            char sign;
            Console.WriteLine("Добро пожаловать в калькулятор. Вам нелбходимо ввести первое число, затем знак действия(+,-,*,/), которое хотите совершить и второе число.");
            Console.Write("Введите первое число: ");
            one = Convert.ToSingle(Console.ReadLine());
            Console.Write("Введите знак действия : ");
            sign = Convert.ToChar(Console.ReadLine());
            Console.Write("Введите Второе число: ");
            two = Convert.ToSingle(Console.ReadLine());


        }

А теперь необходимо написать несколько условий. Во-первых, для выбора действий - сложение, вычитание, деление и умножение. А во-вторых, если мы выбрали деление, то необходимо прописать условие, которое проверяет делитель на то, равен он нулю или же нет. Так как условия действий примерно похожие, то я выложу сразу 5 условий(5 условие - если пользователь ввел недопустимый знак).

            if (sign == '+')
            {
                result = one + two;
                Console.WriteLine("Сумма ваших чисел равна " + result);
                Console.WriteLine("Для выхода нажмите любую клавишу...");
                Console.ReadKey();
            }
            else if (sign == '-')
            {
                result = one - two;
                Console.WriteLine("Разность ваших чисел равна " + result);
                Console.WriteLine("Для выхода нажмите любую клавишу...");
                Console.ReadKey();
            }
            else if (sign == '*')
            {
                result = one * two;
                Console.WriteLine("Произведение ваших чисел равно " + result);
                Console.WriteLine("Для выхода нажмите любую клавишу...");
                Console.ReadKey();
            }
            else if (sign == '/')
            {
                result = one / two;
                Console.WriteLine("Частное ваших чисел равно " + result);
                Console.WriteLine("Для выхода нажмите любую клавишу...");
                Console.ReadKey();
                

            }
            else
            {
                Console.WriteLine("Ошибка. Вы ввели неверный знак.");
                Console.WriteLine("Для выхода нажмите любую клавишу...");
                Console.ReadKey();


            }

Как вы могли заметить, я также использовал команду Console.ReadKey(), она использовалась для того, чтобы наша программа не закрывалась сразу после завершения вычислений. В этих условиях мы проверяли на равенство какому либо знаку переменную sign, имеющую тип char. А теперь давайте напишем условие, которое проверяет второе число на равенство нулю, его мы будем писать в той части кода, где описаны действия при выборе деления.

if (two == 0)
{
    Console.WriteLine("Ошибка. Делитель не может быть равным нулю.");
    Console.WriteLine("Для выхода нажмите любую клавишу...");
    Console.ReadKey();
}
else
{
    result = one / two;
    Console.WriteLine("Частное ваших чисел равно " + result);
    Console.WriteLine("Для выхода нажмите любую клавишу...");
    Console.ReadKey();
}

Как вы можете заметить, ничего сложного тут нет. Итого имеем такой код при выборе деления:

else if (sign == '/')
            {
                if (two == 0)
                {
                    Console.WriteLine("Ошибка. Делитель не может быть равным нулю.");
                    Console.WriteLine("Для выхода нажмите любую клавишу...");
                    Console.ReadKey();
                }
                else
                {
                    result = one / two;
                    Console.WriteLine("Частное ваших чисел равна " + result);
                    Console.WriteLine("Для выхода нажмите любую клавишу...");
                    Console.ReadKey();
                }

Ну и вот весь код, который мы написали.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Policy;
using System.Text;
using System.Threading.Tasks;

namespace calculator
{
    internal class Program
    {
        static void Main(string[] args)
        {
            float one, two, result;
            char sign;
            Console.WriteLine("Добро пожаловать в калькулятор. Вам нелбходимо ввести первое число, затем знак действия(+,-,*,/), которое хотите совершить и второе число.");
            Console.Write("Введите первое число: ");
            one = Convert.ToSingle(Console.ReadLine());
            Console.Write("Введите знак действия : ");
            sign = Convert.ToChar(Console.ReadLine());
            Console.Write("Введите Второе число: ");
            two = Convert.ToSingle(Console.ReadLine());
            if (sign == '+')
            {
                result = one + two;
                Console.WriteLine("Сумма ваших чисел равна " + result);
                Console.WriteLine("Для выхода нажмите любую клавишу...");
                Console.ReadKey();
            }
            else if (sign == '-')
            {
                result = one - two;
                Console.WriteLine("Разность ваших чисел равна " + result);
                Console.WriteLine("Для выхода нажмите любую клавишу...");
                Console.ReadKey();
            }
            else if (sign == '*')
            {
                result = one * two;
                Console.WriteLine("Произведение ваших чисел равно " + result);
                Console.WriteLine("Для выхода нажмите любую клавишу...");
                Console.ReadKey();
            }
            else if (sign == '/')
            {
                if (two == 0)
                {
                    Console.WriteLine("Ошибка. Делитель не может быть равным нулю.");
                    Console.WriteLine("Для выхода нажмите любую клавишу...");
                    Console.ReadKey();
                }
                else
                {
                    result = one / two;
                    Console.WriteLine("Частное ваших чисел равна " + result);
                    Console.WriteLine("Для выхода нажмите любую клавишу...");
                    Console.ReadKey();
                }


            }
            else
            {
                Console.WriteLine("Ошибка. Вы ввели неверный знак.");
                Console.WriteLine("Для выхода нажмите любую клавишу...");
                Console.ReadKey();


            }

        }

    }
}

А теперь давайте посмотрим, как работает наша программа.

Вводим числа и действие и видим, что все работает.

И давайте еще попробуем умножить дробное число на целое.

И опять видим, что все работает.

Вот такая получилась у нас программа. А на этом у меня всё. Если есть какие то вопросы, или же если вы хотите что то поправить, пишите в комментариях, я всегда на них с радостью отвечу!