Консольный калькулятор си шарп

Делаем консольный калькулятор.

На этом уроке мы напишем простенький консольный калькулятор на языке С#. Программа будет работать так: пользователь вводит операнды и оператор, а программа сообщает результат. Калькулятор будет поддерживать только базовые операторы (+, -, *, /). Вместо обработки исключения деления на 0 мы произведем проверку ввода — если второй оператор будет равен 0, мы просто не будем производить вычисление. Данный калькулятор абсолютно элементарен и требует минимальных знаний языка. Создаём проект (“Файл” ->”Создать”->”Проект”->”Консольное приложение”) и объявляем наши переменные:

double a; double b; double res = 0; char oper;

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

Console.Write("Введите первое число:"); a = Convert.ToDouble(Console.ReadLine()); Console.Write("\nВведите оператор:"); oper = Convert.ToChar(Console.ReadLine()); Console.Write("\nВведите второе число:"); b = Convert.ToDouble(Console.ReadLine());

Сначала мы выводим на консоль надпись о том, чтобы пользователь ввёл первое число. В следующей строке мы присваиваем переменной a введенное пользователем число, но при этом не забываем, что введенные пользователем данные всегда имеют строковой формат string, а так как у нашей переменной тип double, то надо отконвертировать string в double соответствующим методом Convert. То же самое проделываем с переменной oper, но конвертируем string уже не в double, а в char, потому что переменная oper имеет такой тип данных. Точно то же самое, что было с переменной a проделываем и с переменной b, так как они одинакового типа. Числа получены. Но пока неизвестно, как ими оперировать, так как главное для нас – узнать что за знак скрывается в переменной oper, и уже исходя из этого, производить операции над числами:

Читайте также:  Php как получить имя файла

if (oper == ‘+’) < res = a + b; >else if (oper == ‘-‘) < res = a - b; >else if (oper == ‘*’) < res = a * b; >else if (oper == ‘/’) < if (b != 0) res = a / b; else Console.WriteLine("На 0 делить нельзя!"); >else

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

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Console_Calck < class Program < static void Main(string[] args) < Console.OutputEncoding = Encoding.GetEncoding(866); Console.InputEncoding = Encoding.GetEncoding(866); double a; double b; double res = 0; char oper; Console.Write("Введите первое число:"); a = Convert.ToDouble(Console.ReadLine()); Console.Write("\nВведите оператор:"); oper = Convert.ToChar(Console.ReadLine()); Console.Write("\nВведите второе число:"); b = Convert.ToDouble(Console.ReadLine()); if (oper == '+') < res = a + b; >else if (oper == '-') < res = a - b; >else if (oper == '*') < res = a * b; >else if (oper == '/') < if (b != 0) res = a / b; else Console.WriteLine("На 0 делить нельзя!"); >else < Console.WriteLine("Неизвестный оператор."); >Console.WriteLine("\nРезультат: ", res); Console.ReadLine(); > > >

Делаем консольный калькулятор.

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

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

Источник

Программирование на C, C# и Java

Уроки программирования, алгоритмы, статьи, исходники, примеры программ и полезные советы

ОСТОРОЖНО МОШЕННИКИ! В последнее время в социальных сетях участились случаи предложения помощи в написании программ от лиц, прикрывающихся сайтом vscode.ru. Мы никогда не пишем первыми и не размещаем никакие материалы в посторонних группах ВК. Для связи с нами используйте исключительно эти контакты: vscoderu@yandex.ru, https://vk.com/vscode

Калькулятор 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.

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

Источник

Шаг 2: начинаем программировать!

c

rus

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

О песочнице

Это «Песочница» — раздел, в который попадают дебютные публикации пользователей, желающих стать полноправными участниками сообщества.

Если у вас есть приглашение, отправьте его автору понравившейся публикации — тогда её смогут прочитать и обсудить все остальные пользователи Хабра.

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

О модерации

  • рекламные и PR-публикации
  • вопросы и просьбы (для них есть Хабр Q&A);
  • вакансии (используйте Хабр Карьеру)
  • статьи, ранее опубликованные на других сайтах;
  • статьи без правильно расставленных знаков препинания, со смайликами, с обилием восклицательных знаков, неоправданным выделением слов и предложений и другим неуместным форматированием текста;
  • жалобы на компании и предоставляемые услуги;
  • низкокачественные переводы;
  • куски программного кода без пояснений;
  • односложные статьи;
  • статьи, слабо относящиеся к или не относящиеся к ней вовсе.

Источник

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

A simple console calculator written in c#.

License

snixtho/Console-Calculator

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

This was mainly a fun practice/learning project. The calculator which is written in C# supports all basic math operators with some extra things like factorial and binary operations. The TreeViewer project is a perfect-tree drawing program which i was originally thinking about hooking up to the parse tree which the calculator parser generates for debugging purposes. I may still do that in the future since the tree drawing is pretty much done already anyways, but we’ll see.

Screenshot

Here is a full list of functions:

Symbol Description
+ Addition (a + b)
Subtraction (a — b)
/ Division (a / b)
* Multiplication (a * b)
% Modulo (a % b)
@ XOR (a @ b)
| OR (a
& AND (a & b)
~ Negation (~a)
! Factiorial (a!)
Shift Left (a
>> Shift Right (a >> b)
= Assignment for variables (a = b) — NOT IMPLEMENTED YET
name description
abs(x) Absolute Value of x
acos(x) Inverse cosinus of x
asin(x) Inverse sinus of x
atan(x) Inverse tangent of x
atan2(x, y) Inverse tangent of quotient x/y
ceil(x) Round up of x
round(x) Round nearest of x
floor(x) Round down of x
cos(x) Cosinus of x
sin(x) Sinus of x
tan(x) Tangent of x
cosh(x) Hyperbolic cosinus of x
sinh(x) Hyperbolic sinus of x
tanh(x) Hyperbolic tangent of x
ln(x) Natural Logarithm of x
log10(x) Base 10 logarithm of x
log(x) Base 2 logarithm of x
logn(x, y) Logarithm of x with base y
max(x, y) Max number of x and y
min(x, y) Min number of x and y
exp(x) Exponential, e^x
sqrt(x) Square root of x
sqrtn(x, y) y root of x.
lcm(x, y) Least common multiple of x and y
gcd(x, y) Greatest common divisor of x and y
rand(x) Random number from 0 to x
avg(x1. xN) Average of the numbers given.

About

A simple console calculator written in c#.

Источник

Оцените статью