Калькулятор C# в консоли

В данном уроке опять создадим простенький калькулятор на языке C#, но в этот раз будем работать в консоли.
Калькуляторы на Windows Forms можно посмотреть здесь и здесь.

Данный калькулятор абсолютно элементарен и требует минимальных знаний языка. Создаём проект (“Файл” ->”Создать”->”Проект”->”Консольное приложение”) и объявляем наши переменные:

Double – это тип переменной с плавающей запятой, иными словами, тип, в который можно записать десятичные числа, причём довольно большие. В него поместится как значение 5, так и значение 5,45, и даже значение 5,4571601695, также в нём можно использовать и отрицательные числа.
В переменную a мы внесём первое число, которое запишет пользователь. В переменную b – второе число. А переменная total будет выводить результат математических операций с переменными а и b.

Char – это тип переменной в виде какого-либо символа, будь то буква, цифра или какой-нибудь знак. В переменную oper мы будем заносить знак математической операции над числами. В нашем калькуляторе будут только самые основные – “+”, “-“, “*” и “/”.

Итак, мы объявили переменные, теперь нам надо узнать, что конкретно нужно посчитать пользователю, а для этого придётся считывать данные, которые он будет вводить:

Сначала мы выводим на консоль надпись о том, чтобы пользователь ввёл первое число.

В следующей строке мы присваиваем переменной a введенное пользователем число, но при этом не забываем, что введенные пользователем данные всегда имеют строковой формат string, а так как у нашей переменной тип double, то надо отконвертировать string в double соответствующим методом Convert.

Примерно то же самое мы проделываем с переменной oper, но конвертируем string уже не в double, а в char, потому что переменная oper имеет такой тип данных.

Точно то же самое, что было с переменной a проделываем и с переменной b, так как они одинакового типа.

Числа получены. Но пока неизвестно, как ими оперировать, так как главное для нас – узнать что за знак скрывается в переменной oper, и уже исходя из этого, производить операции над числами:

Для этого мы используем оператор условия if (если).
Первая строка звучит примерно так: если в переменной oper записан знак “+”, то..

..мы присваиваем переменной total сумму переменных a и b и выводим ответ на экран. В кавычках записаны слова, которые выводятся на экран, а переменные, расположившиеся среди плюсов выводят свои значения. Пример такого ответа выглядит вот так:

2015-10-12 22-42-59 Скриншот экрана

По подобию первого условия мы создаём остальные, используя операторы else if (так положено семантически, если для алгоритма необходимы какие-либо условия. Если условия не необходимы, то можно использовать оператор else, как написано ниже).

Мы расписали все необходимые нам операторы. Но что, если пользователь введёт какой-нибудь неверный оператор? Тогда нам следует предупредить его, что такого оператора нет. Для этого мы используем else. Логика такая – если у нас в oper имеется знак плюса – мы складываем, если же минус -вычитаем, знак умножения- умножаем, знак деления – делим, если в oper имеется любой другой знак (всё остальное), то нам уже не нужно какое-то определение условия (как, например, oper==’+’), поэтому можно обойтись простым else.

Наша программа уже работает, но, пожалуй, можно добавить ещё одну несложную деталь.
А что, если пользователь захочет выполнить несколько операций? Например, сначала сложить два числа, а затем умножить два других числа? Для этого ему пришлось бы перезапускать программу. Но можно сделать и иначе:

Это код всей нашей программы, но мы в неё кое-что добавили. А именно, переменную again типа char и цикл while. Итак, по замыслу, мы добавили после вывода посчитанных данных ещё один вопрос для пользователя, хотел бы он продолжить работу с калькулятором? Для выбора ответа ему предоставляются два знака д – да и н – нет. Если пользователь напишет в консоли “н”, то программа закроется, т.к. у нас в коде нет ничего, что было бы связано с переменной again, имеющей значение “н”. Но если пользователь выберет “д”, то программа начнёт работу заново благодаря циклу while и будет работать до тех пор, пока пользователь не присвоит переменной again значение “н”.
Данную программу можно улучшать дальше и дальше, но данный урок закончится на этом. Скачать исходный код программы “Калькулятор C#” можно по ссылке ниже. Спасибо за прочтение!

Скачать исходник

 

 

Калькулятор C# в консоли
5 (100%) 4 votes

Поделиться в соц. сетях:

2 комментария(ев) к статье “Калькулятор C# в консоли

  1. monoquad

    а как обезопасить себя от того, что пользователь введет вместо числа какую-то ерунду?

    1. Дима

      Используйте вот такой код:

      double a;
      double b;
      double total;
      char oper;
      try
      {
      Console.WriteLine(“Введите первое число:”);
      a = Convert.ToDouble(Console.ReadLine());

      Console.WriteLine(“Введите оператор:”);
      oper = Convert.ToChar(Console.ReadLine());

      Console.WriteLine(“Введите второе число:”);
      b = Convert.ToDouble(Console.ReadLine());
      }
      catch (System.FormatException)
      {
      // тут вывести в консоль ошибку.
      }

Добавить комментарий для Дима Отменить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">