Калькулятор C# в консолі - Програмування на C, C# та Java
Уроки програмування, алгоритми, статті, вихідники, приклади програм та корисні поради
Калькулятор 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 і виводимо відповідь на екран. У лапках записані слова, які виводяться на екран, а змінні, що розташувалися серед плюсів, виводять свої значення. Приклад такої відповіді виглядає так:

За подобою першої умови ми створюємо решту, використовуючи оператори else if (так належить семантично, якщо для алгоритму необхідні будь-які умови. Якщо умови не необхідні, то можна використовувати оператор else, як написано нижче).
Ми розписали всі необхідні нам оператори. Але що, якщо користувач введе якийсь невірний оператор? Тоді нам слід попередити, що такого оператора немає. Для цього ми використовуємо else. Логіка така – якщо у нас уoper є знак плюса – ми складаємо, якщо ж мінус -віднімаємо, знак множення- множимо, знак розподілу – ділимо, якщо уoper є будь-який інший знак (все інше), то нам уже не потрібне якесь визначення умови (як, наприклад,oper=='+'), тому можна обійтися простим else.
Наша програма вже працює, але можна додати ще одну нескладну деталь. А що якщо користувач захоче виконати кілька операцій? Наприклад, спочатку скласти два числа, а потім помножити два інші числа? Для цього йому довелося б перезапускати програму. Але можна зробити й інакше: