Всем привет! У меня есть цель - научиться программировать. В качестве первого языка я решил выбрать 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();
}
}
}
}
А теперь давайте посмотрим, как работает наша программа.

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

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

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