На этом уроке мы напишем простенький консольный калькулятор на языке С#. Программа будет работать так: пользователь вводит операнды и оператор, а программа сообщает результат.
Калькулятор будет поддерживать только базовые операторы (+, -, *, /). Вместо обработки исключения деления на 0 мы произведем проверку ввода — если второй оператор будет равен 0, мы просто не будем производить вычисление.
Данный калькулятор абсолютно элементарен и требует минимальных знаний языка. Создаём проект (“Файл” ->”Создать”->”Проект”->”Консольное приложение”) и объявляем наши переменные:
Калькулятор будет поддерживать только базовые операторы (+, -, *, /). Вместо обработки исключения деления на 0 мы произведем проверку ввода — если второй оператор будет равен 0, мы просто не будем производить вычисление.
Данный калькулятор абсолютно элементарен и требует минимальных знаний языка. Создаём проект (“Файл” ->”Создать”->”Проект”->”Консольное приложение”) и объявляем наши переменные:
double a;
double b;
double res = 0;
char oper;
Double – это тип переменной с плавающей запятой, иными словами, тип, в который можно записать десятичные числа. В него поместится как значение 5, так и значение 5,45, и даже значение 5,4571601695, также в нём можно использовать и отрицательные числа.
В переменную a мы внесём первое число, которое запишет пользователь. В переменную b – второе число. А переменная res будет выводить результат математических операций с переменными а и b.
Char – это тип переменной в виде какого-либо символа, будь то буква, цифра или какой-нибудь знак. В переменную oper мы будем заносить знак математической операции над числами.
Итак, переменные объявлены, теперь нам надо узнать, что конкретно нужно посчитать пользователю, а для этого придётся считывать данные, которые он будет вводить:
В переменную 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, и уже исходя из этого, производить операции над числами:
В следующей строке мы присваиваем переменной a введенное пользователем число, но при этом не забываем, что введенные пользователем данные всегда имеют строковой формат string, а так как у нашей переменной тип double, то надо отконвертировать string в double соответствующим методом Convert.
То же самое проделываем с переменной oper, но конвертируем string уже не в double, а в char, потому что переменная oper имеет такой тип данных. Точно то же самое, что было с переменной a проделываем и с переменной b, так как они одинакового типа.
Числа получены. Но пока неизвестно, как ими оперировать, так как главное для нас – узнать что за знак скрывается в переменной oper, и уже исходя из этого, производить операции над числами:
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("Неизвестный оператор.");
}
Для этого мы используем оператор условия 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Результат: {0}", res);
Console.ReadLine();
}
}
}
После написания кода откомпилируем ее и получим результат:
Для закрепления материала рекомендую самостоятельно записать каждую строчку кода в свой созданный проект и изучить ход выполнения программы.