Консольный калькулятор на c: Создание консольного приложения «Калькулятор» на C++

Содержание

8.4) Создание калькулятора — Разные уроки по Программированию

    Для создания любой программы нужно определить границы решаемой задачи. По этому определим для работы нашей программы седеющий круг задач.

Описание работы простого калькулятора:

 Описание алгоритма на естественном языке

1) Пользователь вводит 1 число сохраняем его в переменную A 

2) Пользователь вводит действие в виде символов

+  (сложение)

—  (вычитание)

*  (умножение)

/  (деление)

3) Запоминаем команду в строковую переменную Moushen (действие)

4) Пользователь вводит число сохраняем его в переменную B

5) Проверяем какое действие выполнить на основе выбора пользователя

Если Moushen=сложение то выполняем C=A+B

Если Moushen=вычитание то выполняем C=A-B

Если Moushen=умножение то выполняем C=A*B

Если Moushen=деление то выполняем проверку можем ли мы делить вообще:

Если B = 0 выводим сообщение об ошибке

Если B <>0 то производим деление C=A/B

6) Выводим результат операции на экран.

7) Спрашиваем закончил пользователь или нет 

        если да то выходим из программы

        если нет то считаем следующее число

 Блок схема


    Для создания простого калькулятора воспользуемся стандартным консольным приложением в котором будем спрашивать пользователя и выводить ему результат работы на экран.

 Для этого запустим Embarcadero Rad Studio XE 3


    Создаем новый  консольный проект для этого выполняем следующие действия.

     Выбираем пункт меню File -> New -> Other…     Далее выбираем язык программирования и ярлык консольного приложения
     В мастере создания проекта просто нажимаем OK 

    Создается шаблон проекта все что написала среда разработки нужно оставлять так как есть

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


    После отключения нам станут доступны следующие функции.

     1) Функция вывода данных в консоль 

    

    cout (console out — консольный вывод) — данная функция позволяет вывести содержимое любой переменной на экран консоли

    пример 1 :

    Выводим на экран содержимое переменной а


    пример 2 :

    Выводим на экран текст например слово privet

   пример 3 :

   когда нужно перенести текст на новую строчку нужно вывести на экран символ переноса строки \n

   

     2) Функция получения данных с клавиатуры:

    cin (console input — консольный ввод) — данная функция позволяет записать из клавиатуры значение переменной

    Пример 1:

    Запись числа в переменную а и вывод его на экран

        пример 2 :

    Ввод пользователем символа клавиатуры и вывод его на экран

    пример 3 : 

    Ввод нескольких символов с клавиатуры и вывод их на экран, особенность данного подхода в том что символы вводить нужно без пробела так как cin читает данные до пробела.

    

    Задание:

Реализовать консольный калькулятор.

Решение.

1) Объявляем переменные которые понадобятся для калькулятора

2) Получаем 1 число от пользователя

3) Получаем действие от пользователя


4) Получаем второе число

5) На основе выбора пользователя выполняем операцию с переменными


6) Все считается ура


Дополнительные задания:

1) Решить вопрос с дробными делением чисел в калькуляторе.

2) В конце расчетов калькулятор должен спрашивать закончил ли пользователь вычисления если нет то начать работу калькулятора заново.

3) Решить вопрос с делением на 0.

    

Тестовая задача — Калькулятор · GitHub

Тестовая задача — Калькулятор · GitHub

Instantly share code, notes, and snippets.

Тестовая задача — Калькулятор

This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Задача: консольный калькулятор
Описание: нужно написать консольную утилиту на Java, которая будет
принимать 3 параметра:
-a <десятичное число>
-b <десятичное число>
-o <+|-|*|/>
Пример вызова:
> calc -a 22.45 -b 33.6 -o *
> 754.32
Если выбрана опция —help должна печататься справка по утилите.
Программа должна выдавать внятные сообщения об ошибках: неверный ввод,
деление на ноль.
Результат выводить с точностью 4 знака после запятой.
Как делать
1. Регистрируешься на github.com и создаёшь git репозиторий для проекта
(Прочитать про системы контроля версий и про конкретно про Git)
2. Пробуешь создавать/удалять/редактировать файлы в репозитории
3. Берём текстовый редактор и пробуем писать Hello World на Java в любой
IDE.
4. Выключаем IDE, пробуем собрать наш Hello World при помощи утилиты
javac и запустить.
5. Идёшь читать про системы сборки, можно посмотреть Ant и Maven,
использовать будем Maven.
6. Создаёшь пустой проект с Maven сборкой, чтобы его можно было взять в
виде исходника в пакете и файла сборки (pom.xml), и собрать из консоли
jar файл.
7. Добавляешь в зависимости проекта (Тут уже надо знать что это такое)
библиотеку commons-cli из Maven Central (http://mvnrepository.com)
8. Пробуешь писать получение опций из консоли при помощи API библиотеки
commons-cli
9. Пишешь сам код калькулятора, он довольно простой и маленький
10. Сохраняешь весь код и файл сборки в репозиторий на github. (не
забудь исключить из контроля версий бинарные файлы классов и проектные
файлы IDE)
Писать можно в любой среде разработки, я буду смотреть сам код и файл
сборки. На будущее лучше пользоваться IntelliJ Idea, в проекте удобнее
всего будет с ней. За неделю выше обозначенную задачку можно
непринуждённо сделать, после неё будут задачи более близкие к проекту.
You can’t perform that action at this time. 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.

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


  
    Консольный калькулятор предназначен для использования без графической среды в Linux или в эмуляторе терминала. Позволяет вычислять синус, косинус, тангенс, котангенс, процентное отношение, логарифмы по любому основанию, вставлять в вычисления физические и астрономические константы, производить операции с памятью, возводить в любую степень, извлекать корень и прочие арифметические действия. Имеет режим суммирования. Вывод результата вычислений в научном формате. Программа предельно проста в освоении. После копирования файла в bin — директорию и придания ему свойства исполняемой программы:

#cp  /home/user/calc /bin
#chmod +x /bin/calc
вызываем программу:
$/bin/calc

    Интерфейс программы одинаков в Linux и Windows. Есть лишь небольшая тонкость в том, что для запуска кликом мышки в windows требуется кодировка CP866 (ДОСовская кодировка), а для запуска из командной строки нужна кодировка CP1251 (Windows-кодировка). В Linux, как правило, используется UTF-8 для Gnome-GTK-KDE, именно в ней выполнена программа. Вид запущенной программы в начале работы:



    Первой строчкой показано состояние памяти калькулятора. С ней можно выполнять различные операции. Все они обозначены в меню, которое становится видно после ввода первого численного значения:

    После ввода каждого значения нажимается Enter:



    Как видно на скрине, второй строчкой сверху отображается результат, а на третьей — последнее введённое численное значение. В две колонки расположены обозначения операций (действий) и их краткое пояснение. Следует вводить знаки с клавиатуры в точности, как они обозначены, поскольку меню чувствительно к регистру. Например:
предположим, что введено значение угла, в градусах ( 76 = 7,6E+001), вычислим косинус угла. Для этого, как значится в меню, вводим  cos  и нажимаем Enter :



    Во второй строке сверху считываем значение cos(76º) = 2,41921895599668E-001 = 0,2419…..68
   Для записи полученного значения в память, набираем m  и  Enter : 

Для очистки памяти набираем rm и Enter :

    Для сброса результата набираем c и Enter :

    На скрине видно, что строка памяти и строка результата вычислений теперь пусты, остаётся лишь последнее введённое число. Одновременно калькулятор выводит меню ввода числового значения для новых вычислений. Здесь в случае ввода нуля ( 0 и Enter ), появится другое меню выбора некоторых констант из физики, математики и химии:

    Например, выберем «Число Авогадро» — ( L и Enter ):

    Число Авогадро теперь записано в результат и в качестве последнего введённого числа. Калькулятор переключился к меню выбора действий с этим числом.
    У калькулятора есть дополнительно режим многочисленного суммирования. Для перехода в этот режим набирается первое число (например 6 ), затем  ++ и Enter :

Далее вводим числа лишь нажимая между ними Enter .

    Для выхода из режима суммирования нужно лишь набрать 0 (ноль), калькулятор автоматически переключится в меню выбора операций с числами и сохранит сумму в результат ( итог):

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

Все результаты вычислений записываются в вещественный тип чисел, это позволяет считать очень большие и очень малые числа, что обычно требуется в физике и химии.

P.S. Программа обновлена. Добавлены:

  • Конвертация калорий в джоули
  • Вычисление логарифмов
  • Ввод астрономической постоянной парсек
  • Ввод астрономической постоянной световой год
  • Увеличена разрядность вычислений
Теперь окно выбора константы (ос Windows-7)  выглядит так:

    Если требуется вычислить логарифм числа: например логарифм по основанию 2 числа 8 , вводим число 8

.

фриланс, работа на дому. ID 948103

Перейти к разделуО работодателеВсе проекты работодателя (1107233)

Бюджет 8$ / 500

руб

в месяц

Создан: 2 года назад

Закрыт

Описание
Срок исполнения работы до 22.06
Нужно создать консольное приложение «Калькулятор».
Приложение должно читать из консоли введенные пользователем арифметические операции и выводить в консоль результат их выполнения.

Требования:
Калькулятор умеет выполнять операции сложения, вычитания, умножения и деления с двумя числами: a + b, a – b, a * b, a / b. Данные передаются в одну строку (смотрите пример)! Решения, в которых каждое число и арифмитеческая операция передаются с новой строки считаются неверными.

Калькулятор умеет работать как с арабскими (1,2,3,4,5…), так и с римскими (I,II,III,IV,V…) цифрами.
Калькулятор умеет работать с цифрами от 1 до 10 включительно.
Калькулятор умеет работать только с целыми числами.
Калькулятор умеет работать только с арабскими или римскими цифрами одновременно, при вводе пользователем строки вроде 3 + II калькулятор должен выбросить исключение и прекратить свою работу.
При вводе пользователем неподходящих чисел приложение выбрасывает исключение и завершает свою работу.
При вводе пользователем строки не соответствующей одной из вышеописанных арифметических операций приложение выбрасывает исключение и завершает свою работу.
Пример работы программы:
Input:
1 + 2

Output:
3

Input:
VI / III

Output:
II

Принципы оценки работы:
Следует разбить программу на логические классы. Решение, в котором весь код программы находится в одном классе не принимает. Не забудьте про исключительные ситуации, при которых выполнение программы невозможно из-за некорректных входных данных.

Категория

Похожие проекты

Бот написан на PHP + mysql    Что нужно сделать? 1. Настроить систему оплаты (QIWI).   В чем проблема: Перестал отражаться баланс на кошельке внутри бота телеграмм . То есть при пополнение через бота пользователем на сам QIWI средства приходят, а на баланс нет, ранее все работало.   2. Бот службы поддержке…….

SoftVoya — продуктово-аутсорсинговая компания, мы специализируемся в сфере разработки CRM-систем и систем управления ресурсами предприятий (ERP). Мы делаем продукты в сфере управление бизнес-процессам, майнинг бизнес-процессов, выработка рекомендаций по оптимизации корпоративного ПО. А также создаем……

Участие в проекте, в котором планируется использовать ГИС систему QGis. Работы (пока примерно): . — Настройка карт / слоев; . — Настройка WMS-сервиса для отображения слоев в веб-интерфейсе; . — Интеграция с Яндекс. Картами; . — Предоставление других API для работы с картой из веб-приложения. Работы и……

 

33 0

Добрый день! У нас есть CRM, не коробочная. Front-end написан на VUE, скомпилирован webpackJson. API реализовано на YII2. БД — MySQL без диалектов. Необходимо написать модуль, реализующий статистический отчет с выводом на экран. Макет отчета есть в Excel. Требования:. — Обязательное умение работать с……

 

38 1

Описание Необходимо создать систему донатов (поощрение) для мобильного приложения в существующем дизайне и возможностью дальнейшей интеграции в само приложение. Система должна соответствовать архитектуре MVC и иметь возможность работать обособленно от самого приложения. Система предполагает добровольного……

1 неделя назад

 

39 2

Случайно вчера или позавчера удалила через административную панель почты для бизнеса mail. ru адрес сотрудника, который больше не работает. Как оказалось, к этому адресу были привязаны папки в облаке mail. И все папки (файлы), которые были с этого адреса, удалились. На компьютере установлена программа……

1 неделя назад

 

3927 0

Необходимо в CRM реализовать формирование статистического отчета по продажам согласно макету в Excel. Front-end написан на VUE, скомпилирован webpackJson….

2 недели назад

Нужно разобраться с с++ open source приложением (приложение для майнинга на CPU), нужно вытащить код формирования хэша и скомпилировать его отдельно. Он нужен для проверки блоков. Это срочная задача. Для её выполнение нужны знание ассемблера и отпимизация современных процессоров, знание криптоалгоритмов…….

2 недели назад

Добрый день ищем ANDROID разработчика. Компания занимается Siltech созданиемдоработкой сайтов, создание программ IOSandroid,верстка страниц ,создание приложений. Ожидаем:. Опыт в коммерческой разработке на Android. Знание java/kotlin. Умение работать с github. Наличие от 5 часов свободного времени в……

2 недели назад

Необходимо разработать Grpc Service для управления пользователями. Авторизация, регистрация, CRUD, логирование действий. Proto файл предоставлю, модель БД (PGSQL), и тимплейт для логики разработки — тоже….

2 недели назад

Наша компания ищет профессионала в веб-извлечении данных для работы над проектами на контрактной основе, в соответствии с тех заданиями. Требуемые навыки:. ● Docker. ● Node. ● Puppeteer или Playwright. ● Желательно Apify. ● Понимание OAuth. Резюме направляйте по адресу: applications@robonec….

3 недели назад

Наша компания ищет разработчика . NET для выполнения проектов на контрактной основе в соответствии с техническими заданиями. Требуемые навыки:. ● C#. ● . NET. ● ASP. NET Razor pages. ● ASP. NET WebAPI. ● Git. ● Docker….

3 недели назад

Обязанности:. Разработка мобильного-приложения (iOS и Android) на React Native;. Разработка бек-енд на Node. JS, PostgreSQL, nginx, apache, linux;. Поддержка и доработка существующих сервисов;. Участие в обсуждении и реализации архитектуры продукта. Требования:. Знание React Native и TypeScript;. Знание……

3 недели назад

На постоянную удаленную работу требуется разработчик со знанием С# и (или) Delphi Наше программное обеспечение касается двух ключевых языков программирования: С# и Delphi. Поэтому, главным требованием к будущему сотруднику является знание С# или готовность его изучать в рамках работы в нашей команде…….

4 недели назад

$625

38 1

Имеется VNC сервер, написанный на языке СИ. В настоящее время имеются некоторые проблемы в его работе, а именно при подключении клиента к серверу в окне вьювера разные браузеры ведут себя по-разному. То есть в одном браузере всё корректно работает. В другом браузере запуск корректный, но не корректно……

4 недели назад

Практическая работа № 3 Задание 1. Создайте класс User со следующими полями, подобрав правильный тип: id, логин, пароль Создайте конструктор класса User, приняв все 3 параметра для полей Присвойте полям полученные значения Создайте два объекта класса User с различными входными параметрами Выведите в……

Наша компания ищет профессионала в веб-извлечении данных для работы над проектами на контрактной основе, в соответствии с тех заданиями. Требуемые навыки:. ● Docker. ● Node. ● Puppeteer или Playwright. ● Желательно Apify. ● Понимание OAuth. Резюме направляйте по адресу: applications@robonec….

Необходимо написать патчи для crypto3-blueprint (https://github. com/NilFoundation/crypto3-blueprint) и его зависимостей, а также для компилятора C++, чтобы его можно было бы скомпилировать и запустить смарт-контракт C++, который использует эту библиотеку. Рекомендуется использовать репозиторий шаблонов……

Для разработки . NET веб приложений на различных доменах, преимущественно blockchain направления, требуется специалист от 1 года коммерческого либо фриланс опыта. Требования:. — Опыт работы с ASP . NET Core Web API, Entity framework Core, MS SQL/Mongo Db, Git. — Опыт в интеграции различных API. — Инициативность,……

Нужно разработать лаунчер для Android, который будет давать возможность пользоваться только конкретными приложениями, предустановленными пользователем в панели настроек. Лаунчер должен определяться андроидом как полноценный лаунчер и предлагать запуститься с него, подобно аналогам. Программа должна показываться……

Необходима разработка парсера на Python для социальной сети facebook. Парсер должен собирать следующие данные:. — Имя пользователя. — Фотография. — Ссылка на профиль. — Ссылки на группы, в которых он состоит. — Ссылки на друзей пользователя. После чего переходить в базу по последним и проводить те же……

Смотреть все

Похожая удалённая работа

Оставить отзыв

Вход в аккаунт

Восстановление пароля

Требуется авторизация

Пожалуйста, авторизуйтесь как работодатель для добавления соискателя в закладки.

Требуется авторизация

Чтобы добавить проект в избранное, пожалуйста, авторизуйтесь как фрилансер.

Предложить работу

Добавить фотографию

  • Загружается…
Перетащите
сюда фотографию

Минимальное разрешение: 250 х 250 px
Максимальный размер: 5 mb

Установить как аватар

Как сделать простую программу-калькулятор на Python 3

Вступление

Язык программирования Python — отличный инструмент для работы с числами и оценки математических выражений. Это качество может быть использовано для создания полезных программ.

Это руководство представляет собой учебное упражнение, которое поможет вам создать простую программу-калькулятор для командной строки в Python 3. Хотя мы рассмотрим один из возможных способов создания этой программы, существует множество возможностей улучшить код и создать более надежный калькулятор.

Предпосылки

Для этого урока у вас должен быть установлен Python 3 на вашем локальном компьютере и на нем должна быть установлена ​​среда программирования. Если вам нужно либо установить Python, либо настроить среду, вы можете сделать это, следуя https://www.digitalocean.com/community/tutorial_series/how-to-install-and-set-up-a-local- Programming Environment-for-Python-3 [соответствующее руководство для вашей операционной системы].

Шаг 1 — Запрос пользователей на ввод

Калькуляторы работают лучше всего, когда человек предоставляет уравнения для компьютера, чтобы решить. Мы начнем писать нашу программу в тот момент, когда человек вводит цифры, с которыми он хотел бы, чтобы компьютер работал.

Для этого мы будем использовать встроенную в Python функцию + input () +, которая принимает пользовательский ввод с клавиатуры. Внутри скобок функции + input () + мы можем передать string, чтобы предложить пользователю , Мы назначим пользовательский ввод переменной.

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

number_1 = input('Enter your first number: ')
number_2 = input('Enter your second number: ')

После написания двух строк мы должны сохранить программу, прежде чем запускать ее. Мы можем вызвать эту программу + calculator.py + и в окне терминала мы можем запустить программу в нашей среде программирования, используя команду + python calculator.py +. Вы должны иметь возможность вводить в окно терминала в ответ на каждое приглашение.

OutputEnter your first number:
Enter your second number:

Если вы запустите эту программу несколько раз и измените свой ввод, вы заметите, что при появлении запроса вы можете ввести все, что захотите, включая слова, символы, пробелы или просто клавишу ввода. Это потому, что + input () + принимает данные как strings и не знает, что мы являемся ищу номер.

Мы хотели бы использовать число в этой программе по двум причинам: 1) чтобы программа могла выполнять математические вычисления, и 2) для проверки того, что вводимые пользователем данные представляют собой числовую строку.

В зависимости от наших потребностей в калькуляторе, мы можем преобразовать строку, поступающую из функции + input () +, в целое число или число с плавающей точкой. Для нас целые числа соответствуют нашей цели, поэтому мы обернем функцию + input () + в функции + int () + в https://www.digitalocean.com/community/tutorials/how- to-convert-data-types-in-python-3 [преобразовать] входные данные в данные integer тип.

number_1 = input('Enter your first number: ')
number_2 = input('Enter your second number: ')

Теперь, если мы введем два целых числа, мы не столкнемся с ошибкой:

OutputEnter your first number:
Enter your second number:

Но если мы введем буквы, символы или любые другие нецелые числа, мы столкнемся со следующей ошибкой:

OutputEnter your first number: sammy
Traceback (most recent call last):
 File "testing.py", line 1, in <module>
   number_1 = int(input('Enter your first number: '))
ValueError: invalid literal for int() with base 10: 'sammy'

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

Шаг 2 — Добавление операторов

Прежде чем наша программа будет завершена, мы добавим всего 4 matематических операторов: + для сложения, + - + для вычитания, + * + для умножения и + / + для деления.

Когда мы создаем нашу программу, мы хотим убедиться, что каждая часть работает правильно, поэтому здесь мы начнем с настройки добавления. Мы добавим два числа в функцию печати, чтобы человек, использующий калькулятор, мог видеть результат.

number_1 = int(input('Enter your first number: '))
number_2 = int(input('Enter your second number: '))

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

OutputEnter your first number:
Enter your second number:

Вывод показывает нам, что программа работает правильно, поэтому давайте добавим еще немного контекста, чтобы пользователь был полностью информирован во время выполнения программы. Для этого мы будем использовать string formatters, чтобы помочь нам правильно отформатировать наш текст и обеспечить обратную связь. Мы хотим, чтобы пользователь получил подтверждение о числах, которые он вводит, и об операторе, который используется вместе с полученным результатом.

number_1 = int(input('Enter your first number: '))
number_2 = int(input('Enter your second number: '))


print(number_1 + number_2)

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

OutputEnter your first number:
Enter your second number:
+  =

Использование строковых форматеров предоставляет пользователям больше отзывов.

На этом этапе вы можете добавить остальных операторов в программу в том же формате, который мы использовали для добавления:

number_1 = int(input('Enter your first number: '))
number_2 = int(input('Enter your second number: '))

# Addition
print('{} + {} = '.format(number_1, number_2))
print(number_1 + number_2)

# Subtraction



# Multiplication



# Division

Мы добавили оставшиеся операторы + - +, + * + и + / + в программу выше. Если мы запустим программу в этот момент, она выполнит все вышеуказанные операции. Однако мы хотим ограничить выполнение программы только одной операцией за раз. Для этого мы будем использовать условные выражения.

Шаг 3 — Добавление условных операторов

С нашей программой + calculator.py + мы хотим, чтобы пользователь мог выбирать между различными операторами. Итак, начнем с добавления некоторой информации вверху программы вместе с выбором, чтобы человек знал, что делать.

Мы напишем строку в несколько разных строк, используя тройные кавычки:

'''
Please type in the math operation you would like to complete:
+ for addition
- for subtraction
* for multiplication
/ for division
'''

Мы используем каждый из символов оператора для пользователей, чтобы сделать свой выбор, поэтому, если пользователь хочет, чтобы деление было выполнено, он будет набирать + / +. Тем не менее, мы можем выбрать любой символ, какой захотим, например +1 для сложения + ​​или + b для вычитания +.

Поскольку мы просим пользователей ввести данные, мы хотим использовать функцию + input () +. Мы поместим строку в функцию + input () + и передадим значение этого входа в переменную, которую мы назовем + operation +.

number_1 = int(input('Enter your first number: '))
number_2 = int(input('Enter your second number: '))

print('{} + {} = '.format(number_1, number_2))
print(number_1 + number_2)

print('{} - {} = '.format(number_1, number_2))
print(number_1 - number_2)

print('{} * {} = '.format(number_1, number_2))
print(number_1 * number_2)

print('{} / {} = '.format(number_1, number_2))
print(number_1 / number_2)

На этом этапе, если мы запускаем нашу программу, не имеет значения, что мы вводим в первом приглашении, поэтому давайте добавим наши условные операторы в программу. Из-за того, как мы структурировали нашу программу, оператор + if + будет там, где выполняется добавление, будет 3 оператора else-if или + elif + для каждого из других операторов и оператор + else + будет установлен для обработки ошибки, если человек не вводил символ оператора.

operation = input('''
Please type in the math operation you would like to complete:
+ for addition
- for subtraction
* for multiplication
/ for division
''')

number_1 = int(input('Enter your first number: '))
number_2 = int(input('Enter your second number: '))

if operation == '+':
   print('{} + {} = '.format(number_1, number_2))
   print(number_1 + number_2)

elif operation == '-':
   print('{} - {} = '.format(number_1, number_2))
   print(number_1 - number_2)

elif operation == '*':
   print('{} * {} = '.format(number_1, number_2))
   print(number_1 * number_2)

elif operation == '/':
   print('{} / {} = '.format(number_1, number_2))
   print(number_1 / number_2)

else:
   print('You have not typed a valid operator, please run the program again.')

Чтобы пройти через эту программу, сначала она предлагает пользователю ввести символ операции. Мы скажем, что пользователь вводит + * + для умножения. Затем программа запрашивает 2 числа, и пользователь вводит + 58 + и + 40 +. В этот момент программа показывает выполненное уравнение и произведение.

OutputPlease type in the math operation you would like to complete:
+ for addition
- for subtraction
* for multiplication
/ for division

Please enter the first number:
Please enter the second number:
*  =

Из-за того, как мы структурируем программу, если пользователь вводит «+% +» при запросе операции в первом приглашении, он не получит обратной связи для повторной попытки, пока не введет числа. Вы можете рассмотреть другие возможные варианты решения различных ситуаций.

На данный момент у нас есть полностью функциональная программа, но мы не можем выполнить вторую или третью операцию без повторного запуска программы, поэтому давайте добавим еще немного функциональности в программу.

Шаг 4 — Определение функций

Чтобы обрабатывать возможность выполнять программу столько раз, сколько хочет пользователь, мы определим некоторые функции. Давайте сначала поместим наш существующий блок кода в функцию. Мы назовем функцию + Calculate () + и добавим дополнительный слой отступа внутри самой функции. Чтобы программа работала, мы также вызовем функцию внизу нашего файла.

# Define our function

   operation = input('''
Please type in the math operation you would like to complete:
+ for addition
- for subtraction
* for multiplication
/ for division
''')

   number_1 = int(input('Please enter the first number: '))
   number_2 = int(input('Please enter the second number: '))

   if operation == '+':
       print('{} + {} = '.format(number_1, number_2))
       print(number_1 + number_2)

   elif operation == '-':
       print('{} - {} = '.format(number_1, number_2))
       print(number_1 - number_2)

   elif operation == '*':
       print('{} * {} = '.format(number_1, number_2))
       print(number_1 * number_2)

   elif operation == '/':
       print('{} / {} = '.format(number_1, number_2))
       print(number_1 / number_2)

   else:
       print('You have not typed a valid operator, please run the program again.')

# Call calculate() outside of the function

Далее, давайте создадим вторую функцию, состоящую из более условных операторов. В этом блоке кода мы хотим дать пользователю выбор относительно того, хотят ли они вычислять снова или нет. Мы можем основывать это на наших условных выражениях калькулятора, но в этом случае у нас будет только один + if +, один + elif + и один + else + для обработки ошибок.

Мы назовем эту функцию + again () + и добавим ее ниже нашего кодового блока + def define (): +.

...
# Define again() function to ask user if they want to use the calculator again


   # Take input from user





   # If user types Y, run the calculate() function



   # If user types N, say good-bye to the user and end the program



   # If user types another key, run the function again



# Call calculate() outside of the function
calculate()

Несмотря на то, что есть некоторая обработка ошибок с оператором else, приведенным выше, мы, вероятно, могли бы немного лучше принять, скажем, + y + и + n + в нижнем регистре в дополнение к + Y + в верхнем регистре и + N +. Для этого добавим функцию string + str.upper () +:

...
def again():
   calc_again = input('''
Do you want to calculate again?
Please type Y for YES or N for NO.
''')

   # Accept 'y' or 'Y' by adding str.upper()
   if calc_again == 'Y':
       calculate()

   # Accept 'n' or 'N' by adding str.upper()
   elif calc_again == 'N':
       print('See you later.')

   else:
       again()
...

На этом этапе мы должны добавить функцию + again () + в конец функции + Calculate () +, чтобы мы могли вызвать код, который спрашивает пользователя, хотят ли они продолжить.

def calculate():
   operation = input('''
Please type in the math operation you would like to complete:
+ for addition
- for subtraction
* for multiplication
/ for division
''')

   number_1 = int(input('Please enter the first number: '))
   number_2 = int(input('Please enter the second number: '))

   if operation == '+':
       print('{} + {} = '.format(number_1, number_2))
       print(number_1 + number_2)

   elif operation == '-':
       print('{} - {} = '.format(number_1, number_2))
       print(number_1 - number_2)

   elif operation == '*':
       print('{} * {} = '.format(number_1, number_2))
       print(number_1 * number_2)

   elif operation == '/':
       print('{} / {} = '.format(number_1, number_2))
       print(number_1 / number_2)

   else:
       print('You have not typed a valid operator, please run the program again.')

   # Add again() function to calculate() function


def again():
   calc_again = input('''
Do you want to calculate again?
Please type Y for YES or N for NO.
''')

   if calc_again.upper() == 'Y':
       calculate()
   elif calc_again.upper() == 'N':
       print('See you later.')
   else:
       again()

calculate()

Теперь вы можете запустить вашу программу с помощью + python calculator.py + в окне терминала, и вы сможете рассчитывать столько раз, сколько захотите.

Шаг 5 — Улучшение кода

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

def welcome():
   print('''
Welcome to Calculator
''')
...
# Don’t forget to call the function
welcome()
calculate()

Есть возможности, чтобы ввести больше обработки ошибок во всей программе. Для начала вы можете убедиться, что программа продолжает работать, даже если пользователь вводит + plankton + при запросе числа. Поскольку программа сейчас работает, если + number_1 + и + number_2 + не являются целыми числами, пользователь получит ошибку, и программа прекратит работу. Кроме того, для случаев, когда пользователь выбирает оператор деления (+ / +) и вводит + 0 + для своего второго числа (+ number_2 +), пользователь получит + ZeroDivisionError: Деление на ноль + ошибка. Для этого вы можете использовать обработку исключений с помощью `+ try …​ кроме + `заявление.

Мы ограничены четырьмя операторами, но вы можете добавить дополнительные операторы, как в:

...
   operation = input('''
Please type in the math operation you would like to complete:
+ for addition
- for subtraction
* for multiplication
/ for division


''')
...
# Don’t forget to add more conditional statements to solve for power and modulo

Кроме того, вы можете переписать часть программы с помощью оператора цикла.

Существует много способов обработки ошибок, изменения и улучшения каждого проекта кодирования. Важно помнить, что не существует единственно правильного способа решения проблемы, с которой мы сталкиваемся.

Заключение

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

Мы заинтересованы в том, чтобы увидеть ваши решения для этого простого проекта калькулятора командной строки! Пожалуйста, не стесняйтесь размещать свои проекты калькулятора в комментариях ниже.

Затем вы можете создать текстовую игру, такую ​​как крестики-нолики или ножницы.

Lua как калькулятор с настройками

Последнее время я часто работаю на относительно старом «железе». И хотя меня практически всё устраивает, ожидание запуска очередной программы — не то, за что я люблю свой компьютер… Ввиду того, что я также часто пользуюсь терминале, появилось желание установить какой-нибудь консольный калькулятор. Встроенные в Linux вещи типа bc или dc по тем или иным причинам мне не подошли, обзор репозитория также не впечатлил. И тут я вспомнил про интерпретаторы языков программирования…

Не буду утомлять читателя рассуждениями, почему я не выбрал Python, и не воспользовался чисто математическими пакетами с консольным интерфейсом типа Maxima или Octave, сразу перейду к делу. Lua — легковесный но мощный и быстрый скриптовый язык программирования, а его интерпретатор запускается мгновенно даже на старом железе. Есть, конечно, свои неудобства, но и достоинств достаточно.

Главная «проблема» заключается в том, что Lua, в отличие от того же Python, не выводит по-умолчанию, результат расчёта, если он не вызван через print(), или перед ним не стоит знак ‘=‘. Т.е. вот так должно быть записано одно и то же выражение в этих двух интерпретаторах, чтобы получить числовое значение:

Python

> 2+2 

4

Lua

> = 2+2

4

Для решения этой проблемы можно было бы написать свой интерпретатор Lua или скопировать существующий с возможностью ‘pretty print‘, которых в сети достаточно, но я решил оставить всё как есть и ограничиться минимальными изменениями.  

Вторая проблема — необходимость обращаться к math при вызове специальных функций, типа math.sin() или math.abs(). Для её решения я воспользовался тем, что функции в Lua — объекты первого класса, т.е. можно без проблем копировать их имена. Итак, создадим файл с расширением .lua и запишем туда все необходимые функции:

sin = math.sin

cos = math.cos

ln = math.log 

и т.д.

Если вызвать интерпретатор Lua с флагом ‘-i‘, то он отработает содержимое файла и перейдёт в обычный режим работы. Т.е. все синонимы будут загружены, и можно будет обращаться к функциям по их сокращённым названиям. 

Данный файл удобен ещё и тем, что в нём можно определить дополнительные функции. Синтаксис очень напоминает MATLAB. Например, следующий блок позволяет получать новую функцию из строкового выражения (fcreate) и вычислить корень методом хорд как для функции, представленной на языке Lua (fsolve), так и для строки (solve). 

Например 

> = solve(«sin(x)-cos(x)», 0, 3.14)

0.785422395

Если на вашем компьютере установлена программа Gnuplot и путь  прописан в PATH, можно использовать её для построения графиков.

Если указать в качестве аргумента только имя функции (plot(«sin(x)»)), диапазон абсцисс определится по-умолчанию, но его можно задать явно (plot(«sin(x)», 0, 3.14))

На своём компьютере я прописал новый алиас в .bashrc

alias lc=’lua -i путь_к_calc.lua’

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

Моя версия calc.lua

P.S. Начиная с версии интепретатора Lua 5.3, не обязательно ставить знак равенства перед выражением, чтобы отобразить его результат.

P.P.S. Увидеть, во что эволюционировал проект, можно на github:lc

       

Любой калькулятор командной строки для Ubuntu?

Баш Арифметика

Другое возможное решение — добавить простую функцию для встроенной арифметики Bash. Поместите это в свой .bashrcфайл, чтобы попробовать:

=() {
    echo "$(($@))"
}

Так что теперь вам даже не нужно $((...))больше, только то, =что кажется достаточно естественным.

замена

Другое дело , если вы хотите быть еще быстрее: вы можете сделать его заменить pс +и xс *. Это будет работать для этого:

=() {
    local IFS=' '
    local calc="${*//p/+}"
    calc="${calc//x/*}"
    echo "$(($calc))"
}

= 5 x 5  # Returns 25
= 50p25  # Returns 75

Теперь вам даже не нужно Shiftбольше, только перед арифметикой.

Шестнадцатеричный вывод

Выходные данные могут отображаться в десятичном и шестнадцатеричном виде, если это необходимо. ( Примечание : использование xподстановки будет конфликтовать с 0x...шестнадцатеричным синтаксисом)

=() {
    local answer="$(($@))"
    printf '%d (%#x)\n' "$answer" "$answer"
}

Пример:

$ = 16 + 0x10
272 (0x110)

$ = 16**3 + 16**4
69632 (0x11000)

С помощью

bc

Если вы хотите немного более сложных вычислений, вы можете сделать bcтак:

=() {
    local IFS=' '
    local calc="${*//p/+}"
    calc="${calc//x/*}"
    bc -l <<<"scale=10;$calc"
}

= 'sqrt(2)' # Returns 1.4142135623
= '4*a(1)'  # Returns pi (3.1415926532)

Функции, предоставляемые bcследующим образом (и могут быть найдены из man bc):

sqrt ( expression )
       The value of the sqrt function is the square root of the expression.  
       If the expression is negative, a run time error is generated.

s (x)  The sine of x, x is in radians.

c (x)  The cosine of x, x is in radians.

a (x)  The arctangent of x, arctangent returns radians.

l (x)  The natural logarithm of x.

e (x)  The exponential function of raising e to the value x.

j (n,x)
       The Bessel function of integer order n of x.

Он также поддерживает if, for, whileи переменные , такие как язык программирования , хотя , если это может быть лучше писать в файл , если вы хотите этого.

Имейте в виду, что он будет подставлять pи xв имена функций / переменных. Может быть, лучше просто удалить замены.4′ # Returns 256

Кажется, что доступные функции (взяты прямо из исходного кода ) ==обозначают эквивалентные функции:

ln()
sqrt()
abs()
int()
frac()
sin()
cos()
tan()
sin⁻¹() == asin()
cos⁻¹() == acos()
tan⁻¹() == atan()
sinh()
cosh()
tanh()
sinh⁻¹() == asinh()
cosh⁻¹() == acosh()
tanh⁻¹() == atanh()
ones()
twos()
Пример простого калькулятора

в консольном приложении C # — Программирование, пример псевдокода, пример программирования на C #

class Program

{

static void Main (string [] args)

{

int num1;

int num2;

строковый операнд;

ConsoleKeyInfo status;

ответ с плавающей точкой;

while (true)

{

Консоль.Напишите («Пожалуйста, введите первое целое число:»);

num1 = Convert.ToInt32 (Console.ReadLine ());

Console.Write («Введите второе целое число:»);

num2 = Convert.ToInt32 (Console.ReadLine ());

Console.Write («Пожалуйста, введите операнд (+, -, /, *):»);

операнд = Console.ReadLine ();

переключатель (операнд)

{

case «-«:

answer = num1 — num2;

перерыв;

case «+»:

answer = num1 + num2;

перерыв;

case «/»:

answer = num1 / num2;

перерыв;

case «*»:

answer = num1 * num2;

перерыв;

по умолчанию:

ответ = 0;

перерыв;

}

Консоль.WriteLine (num1.ToString () + «» + операнд + «» + num2.ToString () + «=» + answer.ToString ());

Console.WriteLine («\ n \ n Вы хотите разорвать (Y / y)»);

status = Console.ReadKey ();

if (status.Key == ConsoleKey.Y)

{

break;

}

Console.Clear ();

}

}

}

Программа на языке C для вычисления сложения, вычитания и умножения с использованием аргументов командной строки

Дом » Программы C » Программы аргументов командной строки C

Узнайте: как передавать числа и операторы для выполнения основных арифметических операций с использованием аргументов командной строки на языке программирования C.

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

В этой программе мы передадим три аргумента с именем исполняемого файла программы, например (./main 10 + 20), программа вычислит результат в соответствии с оператором ввода. В этой программе разрешены операторы +, — и *, вы можете добавить другие случаи для выполнения вычислений.

Пример ввода:

./ главная 10 + 20 

Пример вывода:

Результат: 10 + 20 = 30

 #include 

int main (int argc, char * argv [])
{
int a, b, результат;
char opr;

если (argc! = 4)
{
printf ("Недействительные аргументы ... \ n");
возврат -1;
}

// получаем значения
a = atoi (argv [1]);
b = atoi (argv [3]);

// получаем оператор
опр = argv [2] [0];

// расчет по оператору
переключатель (опр)
{
case '+':
результат = а + б;
перерыв;
кейс '-':
результат = а-б;
перерыв;
кейс '*':
результат = а * б;
перерыв;
дефолт:
результат = 0;
перерыв;
}

если (opr == '+' || opr == '-' || opr == '*')
printf ("Результат:% d% c% d =% d \ n", a, opr, b, результат);
еще
printf ("Неопределенный оператор... \ n ");

возврат 0;
}
 

Выход

 Первый запуск:
ш-4,2 $. / основная 10 + 20
Результат: 10 + 20 = 30

Второй прогон:
sh-4.2 $. / основная 10-20
Результат: 10-20 = -10

Третий прогон:
sh-4.2 $. / основная 10/20
Неопределенный оператор ...
 

Что такое atoi ()?

atoi () — это библиотечная функция, которая преобразует строку в целое число, когда программа получает ввод из командной строки, строковые значения передаются в программе, мы должны преобразовать их в целые числа (в этой программе).atoi () используется для возврата целого числа строковых аргументов.

Программы аргументов командной строки C »



TOP Проблемы / вызовы по кодированию интервью!


ОБЪЯВЛЕНИЕ


ОБЪЯВЛЕНИЕ


Программа

C / C ++ для создания простого калькулятора

В настоящее время калькуляторы широко используются. Это упрощает и ускоряет расчеты. Калькуляторы используются в повседневной жизни. Простой калькулятор можно сделать с помощью программы на C ++, которая может складывать, вычитать, умножать и делить два операнда, введенные пользователем.Операторы switch и break используются для создания калькулятора.

Программа:

#include

с использованием пространства имен std;

основной ()

{

char op;

с плавающей запятой число1, число2;

cin >> op;

cin >> num1 >> num2;

переключатель (op) {

cout << num1 + num2;

перерыв ;

корпус '-' :

cout << num1 - num2;

перерыв ;

корпус '*' :

cout << num1 * num2;

перерыв ;

корпус '/' :

cout << num1 / num2;

перерыв ;

по умолчанию :

cout << "Ошибка! Оператор 9016 неверен.

перерыв ;

}

возврат 0;

}

Вывод:


Как создать программу калькулятора на Python 3

Введение

Язык программирования Python - отличный инструмент для работы с числами и вычисления математических выражений.Это качество можно использовать для создания полезных программ.

Это руководство представляет собой обучающее упражнение, в котором описывается, как создать программу калькулятора командной строки на Python 3. Этот калькулятор сможет выполнять только базовую арифметику, но последний шаг этого руководства служит отправной точкой для того, как вы можете улучшить код для создания более надежного калькулятора.

Мы будем использовать математические операторы, переменные, условные операторы, функции и обрабатывать вводимые пользователем данные для создания нашего калькулятора.

Предварительные требования

Для этого руководства у вас должен быть установлен Python 3 на локальном компьютере и на нем настроена среда программирования. Если вам нужно установить Python или настроить среду, вы можете сделать это, следуя соответствующему руководству для вашей операционной системы.

Шаг 1. Запрашивать ввод данных у пользователей

Калькуляторы

работают лучше всего, когда компьютер предоставляет уравнения для решения человеком. Вы начнете писать свою программу с того момента, когда человек вводит числа, с которыми он хотел бы, чтобы компьютер работал.

Сначала вы создадите файл для своей программы. В этом примере мы воспользуемся текстовым редактором nano и назовем файл Calculator.py :

.
  

Затем вы добавите содержимое в этот файл для запуска вашей программы. В этой программе пользователь должен ввести два числа, поэтому попросите программу предложить пользователю ввести два числа. Вы можете сделать это, используя встроенную в Python функцию input () для приема пользовательского ввода с клавиатуры.Внутри скобок функции input () вы можете передать строку, которая будет запрашивать пользователя, а затем назначить ввод пользователя переменной. Имейте в виду, что при запросе ввода может быть полезно добавить пробел в конце строки, чтобы между вводом пользователя и строкой запроса оставался пробел:

Calculator.py

  number_1 = input ('Введите первое число:')
number_2 = input ('Введите второй номер:')
  

После написания двух строк вы должны сохранить программу перед ее запуском.Если вы используете nano , вы можете выйти, нажав CTRL + X , затем Y и ENTER .

Запустите вашу программу с помощью следующей команды:

  

Это запустит подсказки вашей программы, и вы сможете ответить в окне терминала:

  

Выход

Введите ваше первое число: 5 Введите свой второй номер: 7

Если вы запустите эту программу несколько раз и измените ввод, вы заметите, что можете вводить все, что хотите, когда вас попросят, включая слова, символы, пробелы или клавишу ввода.Это связано с тем, что input () принимает данные в виде строк и не знает, что вы ищете числа.

Вы можете использовать числа в этой программе по двум причинам:

  1. , чтобы программа могла выполнять математические вычисления
  2. для проверки того, что пользовательский ввод является числовой строкой

В зависимости от потребностей вашего калькулятора вы можете преобразовать строку, поступающую из функции input () , в целое число или число с плавающей запятой.В этом руководстве для нашей цели подходят целые числа, поэтому оберните функцию input () в функцию int () , чтобы преобразовать ввод в целочисленный тип данных:

Calculator.py

  number_1 = int (input ('Введите первое число:'))
number_2 = int (input ('Введите второе число:'))
  

Теперь, если вы запустите программу и введете два целых числа, вы не столкнетесь с ошибкой:

  

Выход

Введите ваше первое число: 23 Введите свой второй номер: 674

Но если вы введете буквы, символы или любые другие нецелые числа, вы столкнетесь со следующей ошибкой:

  

Выход

Введите ваше первое число: sammy Отслеживание (последний вызов последний): Файл "тестирование.py ", строка 1, в number_1 = int (input ('Введите свой первый номер:')) ValueError: недопустимый литерал для int () с базой 10: 'sammy'

Итак, вы настроили две переменные для хранения вводимых пользователем данных в виде целочисленных типов данных. Вы также можете поэкспериментировать с преобразованием входных данных в числа с плавающей запятой.

Шаг 2 - Добавление операторов

Перед тем, как программа будет завершена, вы добавите в общей сложности четыре математических оператора: + для сложения, - для вычитания, * для умножения и / для деления.

При создании программы вы должны убедиться, что каждая часть работает правильно, поэтому начните с настройки добавления. Вы сложите два числа в функции печати, чтобы человек, использующий калькулятор, смог увидеть содержимое:

Calculator.py

  number_1 = int (input ('Введите первое число:'))
number_2 = int (input ('Введите второе число:'))

печать (число_1 + число_2)
  

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

  

Выход

Введите ваше первое число: 8 Введите свой второй номер: 3 11

Вывод показывает, что программа работает правильно.Теперь добавьте еще немного контекста, чтобы пользователь был полностью информирован во время выполнения программы. Для этого используйте средства форматирования строк, которые помогут правильно отформатировать текст и предоставить обратную связь. Вы хотите, чтобы пользователь получал подтверждение о вводимых числах и об операторе, который используется вместе с полученным результатом:

Calculator.py

  number_1 = int (input ('Введите первое число:'))
number_2 = int (input ('Введите второе число:'))

print ('{} + {} ='.формат (число_1, число_2))
печать (число_1 + число_2)
  

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

  

Выход

Введите ваше первое число: 90 Введите свой второй номер: 717 90 + 717 = 807

Использование средств форматирования строк дает пользователям больше отзывов.

На этом этапе вы можете добавить в программу остальные операторы в том же формате, который использовался для добавления:

Калькулятор

.py

  number_1 = int (input ('Введите первое число:'))
number_2 = int (input ('Введите второе число:'))

# Добавление
print ('{} + {} =' .format (число_1, число_2))
печать (число_1 + число_2)

# Вычитание
print ('{} - {} =' .format (число_1, число_2))
печать (число_1 - число_2)

# Умножение
print ('{} * {} =' .format (число_1, число_2))
печать (число_1 * число_2)

# Разделение
print ('{} / {} =' .format (число_1, число_2))
печать (число_1 / число_2)
  

Здесь вы добавляете оставшиеся операторы - , * и / в программу выше.Если вы запустите программу на этом этапе, она выполнит все описанные выше операции. Однако вы хотите ограничить выполнение программой одной операции за раз. Для этого вы будете использовать условные операторы.

Шаг 3 - Добавление условных операторов

Цель программы Calculator.py - предоставить пользователю возможность выбирать среди различных операторов. Начните с добавления некоторой информации в верхней части программы вместе с выбором, который нужно сделать, чтобы человек знал, что делать.

Запишите строку в нескольких разных строках, используя тройные кавычки:

  ''
Введите математическую операцию, которую вы хотите выполнить:
+ для сложения
- на вычитание
* для умножения
/ для деления
'' '
  

Эта программа использует каждый из символов оператора, чтобы пользователи могли сделать свой выбор, поэтому, если пользователь хочет выполнить разделение, он наберет /. Однако вы можете выбрать любые символы, например, 1 для сложения или b для вычитания .

Поскольку вы запрашиваете ввод данных у пользователей, вы хотите использовать функцию input () . Поместите строку в функцию input () и передайте значение этого ввода переменной, которую вы назовете операция :

Calculator.py

  операция = ввод ('' '
Введите математическую операцию, которую вы хотите выполнить:
+ для сложения
- на вычитание
* для умножения
/ для деления
'' ')

number_1 = int (input ('Введите свой первый номер:'))
number_2 = int (input ('Введите второе число:'))

print ('{} + {} ='.формат (число_1, число_2))
печать (число_1 + число_2)

print ('{} - {} =' .format (число_1, число_2))
печать (число_1 - число_2)

print ('{} * {} =' .format (число_1, число_2))
печать (число_1 * число_2)

print ('{} / {} =' .format (число_1, число_2))
печать (число_1 / число_2)
  

На этом этапе, если вы запустите программу, ничего не произойдет, независимо от того, что вы вводите при первом запросе. Чтобы исправить это, добавьте в программу несколько условных операторов. Из-за того, как вы структурировали программу, оператор if будет там, где выполняется добавление, будет 3 оператора else-if или elif для каждого из других операторов, а оператор else будет помещен на месте для обработки ошибки, если пользователь не ввел символ оператора:

Калькулятор

.py

  операция = вход ('' '
Введите математическую операцию, которую вы хотите выполнить:
+ для сложения
- на вычитание
* для умножения
/ для деления
'' ')

number_1 = int (input ('Введите свой первый номер:'))
number_2 = int (input ('Введите второе число:'))

если операция == '+':
    print ('{} + {} =' .format (число_1, число_2))
    печать (число_1 + число_2)

elif operation == '-':
    print ('{} - {} =' .format (число_1, число_2))
    печать (число_1 - число_2)

elif operation == '*':
    print ('{} * {} ='.формат (число_1, число_2))
    печать (число_1 * число_2)

elif operation == '/':
    print ('{} / {} =' .format (число_1, число_2))
    печать (число_1 / число_2)

еще:
    print ('Вы не ввели правильный оператор, запустите программу еще раз.')
  

Чтобы пройти через эту программу, сначала она предлагает пользователю ввести символ операции. Например, скажем, пользователь вводит * для умножения. Затем программа запрашивает два числа, и пользователь вводит 58 и 40 .На этом этапе программа показывает выполненное уравнение и продукт:

  

Вывод

Введите математическую операцию, которую вы хотите выполнить: + для сложения - на вычитание * для умножения / для деления * Пожалуйста, введите первое число: 58 Пожалуйста, введите второе число: 40 58 * 40 = 2320

Из-за того, как вы структурировали программу, если пользователь вводит % при запросе операции в первом запросе, он не получит обратной связи, чтобы повторить попытку, пока не введет числа.Вы можете рассмотреть другие возможные варианты решения различных ситуаций.

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

Шаг 4 - Определение функций

Чтобы обеспечить возможность выполнять программу столько раз, сколько хочет пользователь, вы определите некоторые функции. Сначала поместите существующий блок кода в функцию.Назовите функцию calculate () и добавьте дополнительный уровень отступа внутри самой функции. Чтобы программа работала, вы также должны вызвать функцию внизу файла:

Calculator.py

  # Определим нашу функцию
def вычислить ():
    операция = вход ('' '
Введите математическую операцию, которую вы хотите выполнить:
+ для сложения
- на вычитание
* для умножения
/ для деления
'' ')

    number_1 = int (input ('Пожалуйста, введите первое число:'))
    number_2 = int (input ('Пожалуйста, введите второе число:'))

    если операция == '+':
        print ('{} + {} ='.формат (число_1, число_2))
        печать (число_1 + число_2)

    elif operation == '-':
        print ('{} - {} =' .format (число_1, число_2))
        печать (число_1 - число_2)

    elif operation == '*':
        print ('{} * {} =' .format (число_1, число_2))
        печать (число_1 * число_2)

    elif operation == '/':
        print ('{} / {} =' .format (число_1, число_2))
        печать (число_1 / число_2)

    еще:
        print ('Вы не ввели правильный оператор, запустите программу еще раз.')

# Вызов метода calculate () вне функции
вычислить ()
  

Затем создайте вторую функцию, состоящую из нескольких условных операторов. В этом блоке кода вы хотите дать пользователю возможность выбрать, хотят ли они вычислять снова или нет. Вы можете основывать это на условных операторах калькулятора, но в этом случае у вас будет только один if , один elif и один else для обработки ошибок.

Назовите эту функцию еще раз () и добавьте ее после def calculate (): кодовый блок:

Калькулятор

.py

  ...
# Определите функцию again (), чтобы спросить пользователя, хотят ли они снова использовать калькулятор
def снова ():

    # Принимать ввод от пользователя
    calc_again = input ('' '
Хотите еще раз посчитать?
Пожалуйста, введите Y для ДА или N для НЕТ.
'' ')

    # Если пользователь вводит Y, запускаем функцию calculate ()
    если calc_again == 'Y':
        вычислить ()

    # Если пользователь вводит N, попрощайтесь с пользователем и завершите программу
    elif calc_again == 'N':
        print ('Увидимся позже.')

    # Если пользователь вводит другой ключ, снова запустите функцию
    еще:
        опять таки()

# Вызов метода calculate () вне функции
вычислить ()
  

Хотя есть некоторая обработка ошибок с помощью приведенного выше оператора else, вы, вероятно, могли бы сделать его более понятным, чтобы принять, скажем, строчные y и n в дополнение к прописным Y и N .Для этого добавьте строковую функцию str.upper () :

Calculator.py

  ...
def снова ():
    calc_again = input ('' '
Хотите еще раз посчитать?
Пожалуйста, введите Y для ДА или N для НЕТ.
'' ')

    # Примите 'y' или 'Y', добавив str.upper ()
    если calc_again.upper () == 'Y':
        вычислить ()

    # Примите 'n' или 'N', добавив str.upper ()
    elif calc_again.upper () == 'N':
        print ('Увидимся позже.')

    еще:
        опять таки()
...
  

На этом этапе вы должны добавить функцию again () в конец функции calculate () , чтобы она запускала код, который спрашивает пользователя, хотят ли они продолжить:

Калькулятор

.py

  def calculate ():
    операция = вход ('' '
Введите математическую операцию, которую вы хотите выполнить:
+ для сложения
- на вычитание
* для умножения
/ для деления
'' ')

    number_1 = int (input ('Пожалуйста, введите первое число:'))
    number_2 = int (input ('Пожалуйста, введите второе число:'))

    если операция == '+':
        print ('{} + {} =' .format (число_1, число_2))
        печать (число_1 + число_2)

    elif operation == '-':
        print ('{} - {} =' .format (число_1, число_2))
        печать (число_1 - число_2)

    elif operation == '*':
        print ('{} * {} ='.формат (число_1, число_2))
        печать (число_1 * число_2)

    elif operation == '/':
        print ('{} / {} =' .format (число_1, число_2))
        печать (число_1 / число_2)

    еще:
        print ('Вы не ввели правильный оператор, запустите программу еще раз.')

    # Добавить функцию again () в функцию calculate ()
    опять таки()

def снова ():
    calc_again = input ('' '
Хотите еще раз посчитать?
Пожалуйста, введите Y для ДА или N для НЕТ.
'' ')

    если calc_again.upper () == 'Y':
        вычислить ()
    elif calc_again.upper () == 'N':
        print ('Увидимся позже.')
    еще:
        опять таки()

вычислить ()
  

Теперь вы можете запустить свою программу с python Calculator.py в окне терминала, и вы сможете вычислять столько раз, сколько захотите.

Шаг 5 - Улучшение кода

Теперь у вас есть красивая, полнофункциональная программа. Однако вы можете сделать гораздо больше, чтобы улучшить этот код. Вы можете добавить, например, функцию приветствия, которая приветствует людей в программе в верхней части кода программы, например:

  def welcome ():
    Распечатать('''
Добро пожаловать в калькулятор
'' ')
...
# Не забудьте вызвать функцию
Добро пожаловать()
вычислить ()
  

Есть возможности ввести больше обработки ошибок во всей программе. Во-первых, вы можете убедиться, что программа продолжит работу, даже если пользователь наберет планктон при запросе числа. Поскольку программа находится прямо сейчас, если число_1 и число_2 не являются целыми числами, пользователь получит сообщение об ошибке и программа перестанет работать. Кроме того, для случаев, когда пользователь выбирает оператор деления (/) и вводит 0 для своего второго числа ( number_2 ), пользователь получит ошибку ZeroDivisionError: деление на ноль .Для этого вы можете использовать обработку исключений с помощью оператора try ... except .

Это упражнение ограничило вас четырьмя операторами, но вы можете добавить дополнительные операторы, например:

  ...
    операция = вход ('' '
Введите математическую операцию, которую вы хотите выполнить:
+ для сложения
- на вычитание
* для умножения
/ для деления
** для мощности
% по модулю
'' ')
...
# Не забудьте добавить дополнительные условные выражения для вычисления мощности и по модулю
  

Кроме того, вы можете захотеть переписать часть программы с помощью оператора цикла.

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

Заключение

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

Нам интересно увидеть ваши решения для этого базового проекта калькулятора командной строки! Не стесняйтесь размещать свои проекты калькуляторов в комментариях.

Затем вы можете создать текстовую игру, например крестики-нолики или камень-ножницы-бумага.

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

Advance на C # с исходным кодом

Проект: расширенный консольный калькулятор на C # с исходным кодом

Прокрутите вниз и нажмите кнопку загрузки, чтобы бесплатно загрузить калькулятор консоли Advance Console Calculator в проекте C #

Advance Console Calculator на C # - это простой проект, основанный на концепции обычных математических операций на калькуляторе.В проекте есть числа, операторы и знаки, как в обычном калькуляторе. Здесь пользователь должен сначала выбрать операцию, которую он хочет в расчетах. Следовательно, пользователь может использовать простой калькулятор из этого приложения.

О проекте

Этот проект написан просто на языке программирования C #. Говоря об особенностях этой системы, это приложение C # предназначено для вычисления введенных чисел для любых операций, а также способно обрабатывать все типы исключений.Здесь сначала пользователь должен добавить в калькулятор все нужные ему операторы, а затем он может использовать его для расчетов. Система обрабатывает, когда любое число делится на 0 или нажимается «=» без какого-либо числа для вычислений.

Кроме того, конструкция этой системы довольно проста, поэтому у пользователя не возникнет никаких трудностей при работе с ней.

Как запустить проект?

Для запуска проекта на вашем ПК должна быть установлена ​​Visual Studio 2019. ( мы рекомендуем эти IDE ).Более того, Advance Console Calculator в проекте C # с исходным кодом можно загрузить бесплатно. Используйте только в образовательных целях! Для демонстрации проекта посмотрите видео ниже:

Демонстрация проекта

ЗАГРУЗИТЬ КАЛЬКУЛЯТОР КОНСОЛИ ADVANCE НА C # С ИСХОДНЫМ КОДОМ: НАЖМИТЕ КНОПКУ НИЖЕ

Скачать проект

Если вы застряли или вам нужна помощь в настройке этого проекта в соответствии с вашими потребностями, просто оставьте комментарий ниже, и мы сделаем все возможное, чтобы ответить на ваш вопрос как можно скорее.

Простой калькулятор командной строки

Отправлено 13 лет назад

Сколько раз вам нужно было что-то вычислить, например значение 0x398A3BB, чтобы вы открыли калькулятор Windows для его преобразования? Я делал много раз. Проблема в том, что я ненавижу пользоваться мышью. Чтобы убрать руки с клавиатуры и использовать мышь, у меня уходит драгоценное время на разработку программного обеспечения. Вот почему я создал calc.исполняемый. Это простой калькулятор командной строки (а также пример рекурсивного приличного синтаксического анализа).

Примеры

C:> расчет 5 + 5 * 5
30,000000

c:> расч 0x30
48,000000

c:> расч. (123456% 51) / 12
3,000000
 
Несколько неосведомленных замечаний о различных языках программирования.Настал день, когда мой проект был готов к реализации по всему миру. Я подождал, пока учитель завис рядом, а затем запустил свое приложение, выполнив команду FORMAT на сетевом диске. Одноклассники смотрели на экран, и она поспешила посмотреть, о чем идет речь. Я только что потратил несколько часов на отладку копии изображения DIB в буфере обмена.Я мог скопировать из своего приложения и вставить в Paint. Я мог вставить в Word. Но если я вставил в WordPad, ничего не обнаружилось. Если я вставил в GIMP, он вылетел. Как вы измеряете «сортированность» списка? Есть несколько способов. В литературе этот показатель называется «расстояние до монотонности» или «показатель беспорядка» в зависимости от того, кого вы читаете. Здесь я предлагаю еще одну меру сортировки.Я никогда не был геймером. Больше всего я играл в Super Mario Bros (оригинал). Затем я сделал перерыв на десять или два года и провел несколько недель с Simcity 4. Все изменилось, когда я получил Google Cardboard. Довольно просто переопределить malloc () и free () для ваших собственных функций, чтобы отслеживать утечки памяти в файле и количестве строк.Почему посетитель всю неделю читает в зале для собраний роман? Ветвление на Perforce похоже на операцию на открытом сердце. Но вот почему git не может с ним конкурировать. Рэнт: Почему компании думают, что могут зарабатывать деньги, размещая в Интернете ложную информацию о вас?

Напишите программу C # для создания простого калькулятора с помощью переключателя

  1. с использованием системы;

  2. Программа класса

  3. {

  4. static void Main (string [] args)

  5. {

  6. 3;

  7. int num2;

  8. строковый операнд;

  9. ответ с плавающей точкой;

  10. Консоль.Напишите ("Пожалуйста, введите первое целое число:");

  11. num1 = Convert.ToInt32 (Console.ReadLine ());

  12. Console.Write ("Пожалуйста, введите операнд (+, -, /, *):");

  13. операнд = Console.ReadLine ();

  14. Console.Write («Введите второе целое число:»);

  15. num2 = Convert.ToInt32 (Console.ReadLine ());

  16. переключатель (операнд)

  17. {

  18. случай "-":

  19. answer = num1 - num2;

  20. перерыв;

  21. case "+":

  22. answer = num1 + num2;

  23. перерыв;

  24. case "/":

  25. answer = num1 / num2;

  26. перерыв;

  27. case "*":

  28. answer = num1 * num2;

  29. перерыв;

  30. по умолчанию:

  31. ответ = 0;

  32. перерыв;

  33. }

  34. Консоль.WriteLine (num1.ToString () + "" + операнд + "" + num2.ToString () + "=" + answer.ToString ());

  35. Console.

Оставить комментарий

Добавить комментарий

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