Код калькулятор на c: Программа «Простейший калькулятор». Язык программирования C
Содержание
Страница не найдена — Интернет
Интернет-грамотность
FTP-клиенты — это программное обеспечение, разработанное специально для передачи файлов между ПК и серверами
Интернет-грамотность
Из этой шпаргалки по командной строке Linux / Unix вы узнаете: Основные команды Linux
Интернет-грамотность
Что такое UNIX? ОС UNIX родилась в конце 1960-х годов. Компания AT&T Bell Labs
Интернет-грамотность
Сценарии оболочки Shell Scripting — это компьютерная программа с открытым исходным кодом, предназначенная для
Интернет-грамотность
Что такое процесс? Экземпляр программы называется процессом. Проще говоря, любая команда, которую вы даете
Интернет-грамотность
Что такое Telnet? Telnet — это стандартный протокол TCP / IP для службы виртуальных
А.3.1. Простейший калькулятор. Программирование для Linux. Профессиональный подход
Читайте также
Простейший Web-сценарий
Простейший Web-сценарий
Первый Web-сценарий, который мы напишем, будет совсем простым. Он выведет на Web-страницу текущую дату.В самом начале этой книги, приступив к изучению HTML, мы создали небольшую Web-страничку 1.1.htm. Найдем ее и откроем в Блокноте. В самом конце ее HTML- кода,
Калькулятор
Калькулятор
Программа Калькулятор (рис. 6.30) давно входит в состав Windows и не предполагает особенных обновлений. Она полезна, так как в процессе работы часто приходится делать арифметические вычисления.
Рис. 6.30. Окно программы КалькуляторОписывать работу с программой
Простейший файл конфигурации
Простейший файл конфигурации
#NeTAMS version 3.1(1205.408) compiled by root@avm#configuration built Thu Aug 8 09:03:53 2002#begin#global variables configurationdebug noneuser name admin real–name Admin password aaa email root@localhost permit all#services configurationservice server 0login locallisten 20001max–conn 6service processor 0lookup–delay 60flow–lifetime 180policy name ip target proto ippolicy name www target proto tcp port 80 81 8080 3128policy name
Простейший Web-сценарий
Простейший Web-сценарий
Первый Web-сценарий, который мы напишем, будет совсем простым. Он выведет на Web-страницу текущую дату.В самом начале этой книги, приступив к изучению HTML, мы создали небольшую Web-страничку 1.1.htm. Найдем ее и откроем в Блокноте. В самом конце ее HTML- кода,
Простейший диодный ограничитель
Простейший диодный ограничитель
Ограничитель используется, чтобы передать на выход только часть входного напряжения произвольной формы. Когда диод включается, происходит отсечка: на выход независимо от входного сигнала подается сумма напряжений на источнике и
Калькулятор
Калькулятор
Удобная программа, имитирующая функции стандартного электронного калькулятора. Проще всего проводить расчеты, пользуясь цифровым блоком клавиатуры – он расположен справа. Калькулятор может работать в двух режимах: в обычном и в режиме инженерного
Простейший пример
Простейший пример
Чтобы продемонстрировать «пользу» структурированной обработки исключений, нужно создать тип, который в подходящем окружении может генерировать исключение. Предположим, что мы создали новое консольное приложение с именeм SimpleException, в котором
Простейший пример делегата
Простейший пример делегата
В начале освоения приемов работы с делегатами у программиста может возникать много вопросов. Поэтому мы начнем с рассмотрения очень простого примера, в котором используется созданный нами тип делегата BinaryOp. Вот программный код, который мы
Калькулятор
Калькулятор
Удобным инструментом для выполнения вычислений, преобразования единиц измерения и других операций является палитра калькулятор, используя которую можно выполнять следующие действия:• математические и тригонометрические расчеты;• просмотр и
Простейший текстовый редактор
Простейший текстовый редактор
Когда вы создаете приложение с однооконным или многооконным интерфейсом при помощи средств MFC AppWizard, в последней диалоговой панели вы можете выбрать базовый класс для окна просмотра приложения. По умолчанию используется класс CView.От класса
8.3. Калькулятор
8.3. Калькулятор
Программа Калькулятор может работать в двух режимах — в инженерном (рис. 71) и обычном (рис. 72). В инженерном режиме Калькулятор может производить вычисления в различных системах счисления (десятичной, шестнадцатеричной, восьмеричной, двоичной), а также
2.6.3. Калькулятор
2.6.3. Калькулятор
Еще одна программа, входящая в состав Windows, — это калькулятор (рис. 2.135).
Пригодится, если вам нужно сложить, вычесть, разделить, умножить или извлечь из каких бы то ни было чисел корень. Пользоваться калькулятором очень просто — набираете кнопками число
Калькулятор
Калькулятор
Как вы знаете, основное предназначение компьютера – считать.Для математических вычислений используется программа с очень подходящим ей названием Калькулятор (рис. 17.5).
Рис. 17.5. Калькулятор WindowsЕе интерфейс напоминает самый обычный настольный калькулятор.
Простейший COM-вирус
Простейший COM-вирус
В начале COM-файла обычно находится команда безусловного перехода JMP, состоящая из трех байт. Первый байт содержит код команды 0E9h, следующие два – адрес перехода. Поскольку рассматриваемый ниже вирус учебный, он будет заражать только COM-файлы,
Как создать калькулятор на Питоне?
Всем начинающим программистам хочется после прохождения вводного курса по языку программирования попробовать себя в создании чего-нибудь практически полезного. Мы предлагаем вам создать и испытать в действии самый настоящий калькулятор, созданный за несколько минут на ЯП Питон.
Создайте простой калькулятор, который считывает из строки ввода три строки: 1-ое число, 2-ое число и операцию, после чего применяет операцию к введённым числам («первое число» «операция» «второе число»), а затем выводит результат на экран.
Калькулятор должен поддерживать следующие операции: +, -, /, *, mod, pow, div
,где
- mod — это взятие остатка от деления,
- pow — возведение в степень,
- div — целочисленное деление.
Если выполняется деление и второе число равно 0, необходимо выводить строку «Деление на 0!».
На вход программы нужно подавать вещественные числа!
Код программы Калькулятор
x=float(input("Введите значение x ="))
y=float(input("Введите значение y ="))
z=input("Введите оператор (+, -, /, *, mod, pow, div) =")
if z==+:
result=x+y
elif z==-:
result=x-y
elif z==pow:
result=pow(x,y)
elif z==*:
result=x*y
elif y!=0:
if z==/:
result=x/y
elif z==div:
result=x//y
elif z==mod:
result=x%y
elif y==0:
result="Деление на 0!"
print("Результат вычислений =",result)
Необходимость создания подуровня для операторов ветвления обусловлена тем, что все вычисления, связанные с делением не имеет смысла проводить, если второе число будет равно нулю.
Для проверки и вывода результата, в тех случаях, когда второе число равно нулю записано в последних строчках программы
elif y==0:
result="Деление на 0!"
Примеры результатов вычислений программы
Python 3.5.2 (default, Dec 2015, 13:05:11)
[GCC 4.8.2] on linuxВведите значение x = 12
Введите значение y = 12
Введите оператор (+, -, /, *, mod, pow, div) = pow
Результат вычислений = 8916100448256
Создание игры на Питоне. «Угадай число»
Программа «Элементарный Калькулятор» (язык C++) — ИНФО-МЕТОД
Варианты решения задачки №1 (программа «Элементарный калькулятор») на языке C++. Первый вариант — с использованием оператора выбора switch (...) case ...
:
// Программа "Простейший калькулятор" #include <iostream> using namespace std; int main() { int a, b; // Переменные-операнды (целого типа) char op; // Переменная-символ операции (символьного типа) // Вводим исходные данные cout << "The simplest calculator." << endl; cout << "Enter arithmetic expression [e.g. a + b ]: "; cin >> a >> op >> b; // Проверяем операцию и вычисляем выражение switch (op) { case '+': cout << a << op << b << " = " << a + b << endl; break; case '-': cout << a << op << b << " = " << a - b << endl; break; case '*': cout << a << op << b << " = " << a * b << endl; break; case '/': if (b == 0) cout << "...Division by zero!" << endl; // Деление на ноль! else cout << a << op << b << " = " << (double)a / b << endl; break; default: cout << "...Unknown operation!" << endl; // Неизвестная операция! } return 0; // Завершаем программу (выходим) с кодом 0 }
Еще один вариант, который в целом мало отличается от первого — с использованием условного оператора ( if (...) ... else ...
):
// Программа "Простейший калькулятор" #include <iostream> using namespace std; int main() { int a, b; // Переменные-операнды (целого типа) char op; // Переменная-символ операции (символьного типа) // Вводим исходные данные cout << "The simplest calculator." << endl; cout << "Enter arithmetic expression [e.g. a + b ]: "; cin >> a >> op >> b; // Проверяем операцию и вычисляем выражение if (op == '+') cout << a << op << b << " = " << a + b << endl; else if (op == '-') cout << a << op << b << " = " << a - b << endl; else if (op == '*') cout << a << op << b << " = " << a * b << endl; else if (op == '/') if (b == 0) cout << "...Division by zero!" << endl; else cout << a << op << b << " = " << (double)a / b << endl; else cout << "...Unknown operation!" << endl; return 0; // Завершаем программу (выходим) с кодом 0 }
То же самое, но для любителей более компактного оформления:
// Программа "Простейший калькулятор" #include <iostream> using namespace std; int main() { int a, b; // Переменные-операнды (целого типа) char op; // Переменная-символ операции (символьного типа) // Вводим исходные данные cout << "The simplest calculator." << endl; cout << "Enter arithmetic expression [e.g. a + b ]: "; cin >> a >> op >> b; // Проверяем операцию и вычисляем выражение if (op == '+') cout << a << op << b << " = " << a + b << endl; else if (op == '-') cout << a << op << b << " = " << a - b << endl; else if (op == '*') cout << a << op << b << " = " << a * b << endl; else if (op == '/') if (b == 0) cout << "...Division by zero!" << endl; else cout << a << op << b << " = " << (double)a / b << endl; else cout << "...Unknown operation!" << endl; return 0; // Завершаем программу (выходим) с кодом 0 }
И еще один вариант — с использованием скобок (операторных и в арифметических выражениях), которые в данном конкретном случае, собственно, ничего не меняют:
// Программа "Простейший калькулятор" #include <iostream> using namespace std; int main() { int a, b; // Переменные-операнды (целого типа) char op; // Переменная-символ операции (символьного типа) // Вводим исходные данные cout << "The simplest calculator." << endl; cout << "Enter arithmetic expression [e.g. a + b ]: "; cin >> a >> op >> b; // Проверяем операцию и вычисляем выражение if (op == '+') { cout << a << op << b << " = " << (a + b) << endl; } else if (op == '-') { cout << a << op << b << " = " << (a - b) << endl; } else if (op == '*') { cout << a << op << b << " = " << (a * b) << endl; } else if (op == '/') { if (b == 0) cout << "...Division by zero!" << endl; else cout << a << op << b << " = " << ((double)a / b) << endl; } else { cout << "...Unknown operation!" << endl; } return 0; // Завершаем программу (выходим) с кодом 0 }
visual basic калькулятор
По просьбе DenJoy«я сегодня мы будем делать калькулятор. Это наверно самое простое, что может быть вBasic»е =), т.к. там используются обычные знаки. Конечно это все легко, но я понимаю DenJoy, когда он не знает, как это делать. Я сам очень недавно был таким. Все хватит ! Приступаем к программированию. Для начала посмотрим вид калькулятора, он должен быть примерно такой:
В верхнее левое текстовое поле будут писаться цифры. В правое — выбраный знак. Ну и в низу кнопки с цифрами.
Заготовка:
1. Два текстовых поля с именамиText1 и Text2. У них свойство Enabled поставьте равным False, чтобы их нельзя было изменять.
2. Пятнадцать кнопок с их стандартными номерами. Но предупреждаю !!! У меня они
идут не попорядку, так что лучшескачайте мой калькулятор с исходниками, чтобы посмотреть какой номер у каждой кнопки!
Теперь пишем код:
» Вводим две переменные, для присвоения им значений, которые мы введем на калькуляторе
Dim a As String
Dim b As String
Private Sub Command1_Click()
» При нажа на кнопку с цифрой «1», в текстовом поле появится «1»
Text1.Text = Text1.Text & «1»
End Sub
Private Sub Command11_Click()
» После нажатия на «*», присваиваем переменной «a» число из текстового поля №1
a = Text1.Text
» В маленькое текстовое поле, пишем знак «*»
Text2.Text = «*»
» Отчищаем тексотовое поле №1
Text1.Text = «»
End Sub
Private Sub Command12_Click()
» При нажатии на «=», присваиваем переменной «b» второе значение, но тоже из текстового поля №1
b = Text1.Text
» Смотрим, какой знак в текстовом поле №2 и делаем нужное действие
If Text2.Text = «*»Then
Text1.Text = a * b
End If
If Text2.Text = «/» Then
Text1.Text = a / b
End If
If Text2.Text = «-» Then
Text1.Text = a — b
End If
End Sub
Private Sub Command13_Click()
» Отчищаем все текстовые поля
Text1.Text = «»
Text2.Text = «»
End Sub
Private Sub Command14_Click()
» После нажатия на «-«, присваиваем переменной «a» число из текстового поля №1
a = Text1.Text
Text2.Text = «-«
Text1.Text = «»
End Sub
Private Sub Command15_Click()
» После нажатия на «/», присваиваем переменной «a» число из текстового поля №1
a = Text1.Text
Text2.Text = «/»
Text1.Text = «»
End Sub
» Все что ниже можно откоментировать одинаково: при нажатии на кнопку с определенной цифрой, она отабражается в текстовом поле №1
Private Sub Command2_Click()
Text1.Text = Text1.Text & «5»
End Sub
Private Sub Command3_Click()
Text1.Text = Text1.Text & «4»
End Sub
Private Sub Command4_Click()
Text1.Text = Text1.Text & «3»
End Sub
Private Sub Command5_Click()
Text1.Text = Text1.Text & «2»
End Sub
Private Sub Command6_Click()
Text1.Text = Text1.Text & «6»
End Sub
Private Sub Command7_Click()
Text1.Text = Text1.Text & «0»
End Sub
Private Sub Command8_Click()
Text1.Text = Text1.Text & «9»
End Sub
Private Sub Command9_Click()
Text1.Text = Text1.Text & «8»
End Sub
Private Sub Command10_Click()
Text1.Text = Text1.Text & «7»
End Sub
Вот, в принципе, и все. Калькулятор готов к использованию. Я сделал его минут за 5-7. Так что можете поэкспериментировать, даже если у вас очень мало времени =). Еще раз настоятельно рекомендаюскачать мой калькулятор, чтобы знать какая кнопка, что обозначает.
Как создать простой консольный калькулятор на C++
Автор статьи: admin
Метки: Новичку / С++
В этой статье мы рассмотрим как создать калькулятор на C++ для консоли или терминала, думаю будет очень интересно.
Также посмотрите статью «Как установить Qt 5 на Linux Ubuntu», если вы интересуетесь программированием на C++, то вам стоит установить эту IDE.
Калькулятор на C++ в консоли:
Как вы уже поняли, мы будем делать очень простой калькулятор, для консоли или терминале, зависимо на какой OS вы работаете.
В начале объявим все нужные для нас переменные:
float a, b, c; char d; int p; |
Давайте разберём какая переменная, для чего нужна, a
и b
нужны для записывания чисел над которыми будем проводить действия, а в c
записываем результат.
Переменная d
хранит в себе знак действия, p
будет использоваться для выбора действия счёта или выхода из калькулятора.
Теперь перейдём к основной программе, она не сильно большая, поэтому у вас не займёт много времени прочитать код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | while (p != 2) { // Выводим что выбрать cout << «1 = calculator \n2 — exit \n»; // Вводим значение переменной p cin >> p; // Проверяем p switch (p) { // Если p равно 1 case 1: { cout <<«First number «; // Вводим первое число cin >> a; cout << «Action with numbers «; // Вводим знак действия cin >> d; cout << «Second number «; // Вводим второе число cin >> b; // Если знак действия равен + if (d == ‘+’) // То складываем числа c = a + b; // Если знак действия равен — if (d == ‘-‘) // То вычитаем числа c = a — b; // Если знак действия равен * if (d == ‘*’) // То умножаем c = a * b; // Если знак действия равен / if (d == ‘/’) // То делим c = a / b; } // Если p равно 2 case 2: { // Выходим из цикла break; } } // Выводим результат cout << «Result = » << c <<endl; } |
Как видите, в начале мы даём выбор, начать проводить математические действия, или выйти из программы, и всё это происходит в цикле.
Если выбираем произвести действие, то в начале выбираем первое число, потом действие которое хотим совершить, зависимо от этого вводим нужный нам знак.
Всего доступно четыре, это сложение, вычитание, умножение и деление, чтобы применить, нужно ввести определённые знаки на этом этапе, это «+», «-», «*» и «/» соответственно.
Потом вводим второе число, и выводим результат, примерно так всё и работает, как видите всё очень просто.
Вывод:
В этой статье вы увидели как создать калькулятор на C++, и как видите тут всё очень просто, конечно на этом языке можно придумать что то покруче, но если вы новичок, то этого думаю вам пока хватит.
Подписываетесь на все соц-сети ещё много разных подобных статей будет.
Подписываетесь на соц-сети:
Оценка:
(Пока оценок нет)
Загрузка…
Поделится:
Пока кнопок поделиться нет
Также рекомендую:
Как сделать простую программу-калькулятор на 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
Кроме того, вы можете переписать часть программы с помощью оператора цикла.
Существует много способов обработки ошибок, изменения и улучшения каждого проекта кодирования. Важно помнить, что не существует единственно правильного способа решения проблемы, с которой мы сталкиваемся.
Заключение
В этом руководстве описан один из возможных подходов к созданию калькулятора в командной строке. После завершения этого руководства вы сможете изменять и улучшать код и работать над другими проектами, требующими ввода данных пользователем в командной строке.
Мы заинтересованы в том, чтобы увидеть ваши решения для этого простого проекта калькулятора командной строки! Пожалуйста, не стесняйтесь размещать свои проекты калькулятора в комментариях ниже.
Затем вы можете создать текстовую игру, такую как крестики-нолики или ножницы.
Программа
C для проектирования калькулятора с базовыми операциями с использованием переключателя
Дом »
Программы, решаемые на C »
C переключение программ корпуса
Эта программа будет читать два целых числа и оператор, например +, -, *, /,%, а затем печатать результат в соответствии с заданным оператором, это полная программа калькулятора для основных арифметических операторов, использующая оператор switch на языке программирования c .
Программа-калькулятор с базовыми операциями с помощью переключателя
/ * C программа для проектирования калькулятора с базовыми операциями с помощью переключателя.* / #includeint main () { int num1, num2; результат с плавающей точкой; char ch; // сохранить выбор оператора printf ("Введите первое число:"); scanf ("% d", & num1); printf ("Введите второе число:"); scanf ("% d", & num2); printf ("Выберите операцию для выполнения (+, -, *, /,%):"); scanf ("% c", & ch); результат = 0; переключатель (ch) { case '+': результат = число1 + число2; перерыв; кейс '-': результат = число1-число2; перерыв; кейс '*': результат = число1 * число2; перерыв; кейс '/': результат = (число с плавающей запятой) число1 / (число с плавающей точкой) число2; перерыв; кейс '%': результат = число1% число2; перерыв; дефолт: printf ("Неверная операция.\ n "); } printf ("Результат:% d% c% d =% f \ n", num1, ch, num2, result); возврат 0; }
Выход
Первый запуск: Введите первое число: 10 Введите второе число: 20 Выберите операцию для выполнения (+, -, *, /,%): + Результат: 10 + 20 = 30,000000 Второй прогон: Введите первое число: 10 Введите второе число: 3 Выберите операцию для выполнения (+, -, *, /,%): / Результат: 10/3 = 3.333333 Третий прогон: Введите первое число: 10 Введите второе число: 3 Выберите операцию для выполнения (+, -, *, /,%):> Неверная операция. Результат: 10> 3 = 0,000000
C Switch Case Программы »
TOP Проблемы / трудности программирования интервью
ОБЪЯВЛЕНИЕ
[решено] Создать текущий калькулятор в C
Компиляция не означает, что ваш код правильный! : смех:
Думайте о процессе разработки как о написании электронного письма: успешная компиляция означает, что вы написали электронное письмо на правильном языке — например, на английском, а не на немецком, — а не о том, что электронное письмо содержало сообщение, которое вы хотели отправить.
Итак, теперь вы входите во второй этап разработки (на самом деле это четвертый или пятый, но вы перейдете к более ранним этапам позже): тестирование и отладка.
Для начала посмотрите, что он делает и чем это отличается от того, что вы хотели. Это важно, потому что это дает вам информацию о том, почему он это делает. Например, если программа предназначена для того, чтобы позволить пользователю вводить число, и она удваивает его и печатает ответ, то, если ввод / вывод был таким:
Вход Ожидаемый выход Фактический выход 1 2 1 2 4 4 3 6 9 4 8 16
Тогда совершенно очевидно, что проблема в бите, который его удваивает — он не прибавляет себя к самому себе или умножает его на 2, он умножает его на себя и возвращает квадрат ввода.
Итак, вы можете посмотреть на код, и очевидно, что он где-то здесь:
int Double (значение int) { возвращаемое значение * значение; }
Как только вы поймете, что может пойти не так, начните использовать отладчик, чтобы выяснить, почему. Поместите точку останова в первую строку метода и запустите приложение. Когда он достигнет точки останова, отладчик остановится и передаст управление вам. Теперь вы можете запускать свой код построчно (так называемое «пошаговое выполнение») и просматривать (или даже изменять) содержимое переменных по мере необходимости (черт возьми, вы даже можете изменить код и повторить попытку, если вам нужно).
Подумайте, что должна делать каждая строка в коде перед ее выполнением, и сравните это с тем, что она действительно сделала, когда вы используете кнопку «Step over» для выполнения каждой строки по очереди. Сделал ли он то, что вы ожидали? Если да, переходите к следующей строке.
Если нет, то почему? Чем он отличается?
Надеюсь, это поможет вам определить, в какой части этого кода есть проблема и в чем проблема.
Это навык, который стоит развивать, так как он помогает вам как в реальном мире, так и в разработке.И, как и все навыки, он улучшается только при использовании!
Калькулятор
на языке C с исходным кодом — видео
Калькулятор
на языке C с исходным кодом
В этой статье вы узнаете, как создать простую программу-калькулятор на языке C. Этот простой калькулятор может выполнять сложение, вычитание, умножение и деление, модуль, степень и факториал, а также другие фундаментальные математические операции.
Есть два способа создать программу-калькулятор. Первый заключается в создании варианта переключения для программы, а второй — в создании функции, которая принимает в качестве операндов оператор +, — и -.
Этот калькулятор на языке C также включает бесплатный исходный код для загрузки. Просто найдите загружаемый исходный код ниже и нажмите кнопку «Загрузить сейчас». Чтобы начать создание калькулятора на языке C, убедитесь, что на вашем компьютере установлена программа Code Blocks или любая платформа C.
Калькулятор на языке C: шаги по созданию проекта
Необходимое время: 5 минут.
Вот шаг по созданию калькулятора на языке C с исходным кодом.
- Шаг 1: Создайте новый проект.
Сначала откройте блоки кода IDE и нажмите « создать новый проект ».
- Шаг 2: Выберите консольное приложение.
Затем щелкните « консольное приложение », а после этого щелкните « следующий ».
- Шаг 3: Выберите язык C.
Затем выберите « C language » и щелкните « next ».
- Шаг 4: Назовите свой проект.
Наконец, назовите созданный проект и нажмите « следующий », после чего нажмите « завершить ».
- Шаг 5: Фактический код.
Наконец, мы начнем добавлять функциональность в нашу платформу C, добавляя некоторые функциональные коды. символ для Power
Enter! символ для Factorial- Вывод для главного окна калькулятора на языке C с исходным кодом.
Если пользователь выберет символ *, приложение попросит пользователя ввести любые два числа для выполнения умножения. Например, если пользователь выбирает символ * и вводит 4 в качестве первого числа, второе число будет 5. Чтобы увидеть результат, нажмите клавишу ENTER, как показано на снимке экрана ниже:
- Вывод для окна умножения в калькуляторе на C с исходным кодом.
Если пользователь выбирает символ +, приложение попросит пользователя ввести любые два числа для выполнения умножения.Например, если пользователь выбирает символ + и вводит 10 в качестве первого числа, второе число будет 12, третье число будет 13, а четвертое число будет 12. Чтобы увидеть результат, нажмите клавишу ENTER, как показано на снимок экрана ниже:
- Вывод окна сложения в калькуляторе на языке C с исходным кодом.
Если пользователь выбирает символ -, приложение попросит пользователя ввести количество элементов, которые вы хотите добавить, чтобы выполнить вычитание.Например, если пользователь выбирает символ — и вводит 45 в качестве первого числа, второе число будет 20. Чтобы увидеть результат, нажмите клавишу ENTER, как показано на снимке экрана ниже:
- Вывод окна вычитания в калькуляторе. на C с исходным кодом.
Если пользователь выбирает / символ, приложение попросит пользователя ввести количество элементов, которые вы хотите добавить, чтобы выполнить разделение. Например, если пользователь выбирает символ / и вводит 39 в качестве первого числа, второе число будет 3.символ и введите 5 в качестве первого числа, второе число будет 5. Чтобы увидеть результат, нажмите клавишу ENTER, как показано на снимке экрана ниже:
- Вывод для окна мощности в калькуляторе на языке C с исходным кодом.
О ПРОЕКТЕ ДЕТАЛИ ПРОЕКТА Название проекта: Калькулятор на C Язык программирования: 57 Язык проекта: 57 Используется:
Язык программирования C Имя разработчика: itsourcecode.com IDE Tool (рекомендуется): Dev-C ++ / Codeblocks Тип проекта: Настольное приложение База данных: файл Сохраняет данные в файле. Дата и время загрузки: 21 июля 2021 — 5:02 Запустить быстрое сканирование на вирусы для безопасности Скачать
Запустить быстрое сканирование для безопасности Скачать
Исходный код для загрузки
Заключение
В заключение, это простой калькулятор, созданный на языке программирования C, который запускается из командной строки DOS.Все основные арифметические операции, такие как сложение, вычитание, умножение, вычисление модуля и многие другие, выполняются калькулятором. Он также может вычислять факториалы, степени и корни целых чисел.
Статьи по теме
Запросы
Если у вас есть какие-либо вопросы или предложения по поводу Калькулятор на языке C с Исходный код , пожалуйста, оставьте комментарий ниже .
DIY Калькулятор :: Малый компилятор C
Создание программ на ассемблере может быть несколько утомительным и трудоемким, поэтому профессионально
программисты, как правило, предпочитают использовать язык программирования более высокого уровня, такой как C (его предшественник назывался «B»),
который был разработан в Bell Laboratories Деннисом Ричи в 1972 году. Таким образом, мы думали написать небольшой
Компилятор C, который мы могли бы использовать для создания программ для работы с калькулятором DIY.Просмотр тем
Введение
Создание наших программ на языке ассемблера дает нам полный контроль над тем, как они
функции, но это может быть трудоемким и длительным процессом.Таким образом, профессиональные программисты предпочитают использовать высокоуровневые
языков, которые позволяют быстро и кратко записывать программы, а также значительно упрощают их понимание.
Например, рассмотрим следующую простую функцию под названием «lower», представленную на C:Думайте о функции как о подпрограмме на языке ассемблера. Он принимает символ ASCII с именем c и, если этот символ
находится в верхнем регистре (от A до Z), функция вернет свой аналог в нижнем регистре (от a до z).Дело в том, что даже если вы не знаете C,
вы, вероятно, можете просканировать приведенный выше код и понять, что происходит, намного проще, чем когда вы смотрели на
незнакомый язык ассемблера.Итак, мы обдумывали идею создания небольшого компилятора C для использования с калькулятором DIY, как обсуждалось.
в следующих темах; теперь читайте дальшеАльтернативные выходы
Если мы решим создать компилятор C, мы знаем, что он будет принимать исходный код C (то есть программы
написано на C) в качестве ввода, но что он должен генерировать в качестве вывода? На самом деле здесь есть два основных сценария;
во-первых, наш компилятор мог напрямую сгенерировать файл *.ram , содержащий машинный код DIY Calculators, как показано ниже:В качестве альтернативы компилятор может вывести промежуточный файл * .asm , содержащий исходный код сборки DIY Calculator.
Этот файл впоследствии будет преобразован в машинный код с помощью ассемблера DIY Calculators, как показано ниже:В контексте того, что мы пытались сделать здесь, этот второй сценарий был бы более выгодным по двум причинам:
(а) проще заставить компилятор генерировать промежуточный формат на достаточно высоком уровне абстракции и (б)
в процессе разработки компилятора нам легче смотреть на ассемблерный код, который он генерирует, чтобы оценить
насколько хорошо компилятор выполняет свою работу.Примечание: Предполагая второй сценарий, описанный выше, после того, как компилятор успешно сгенерировал сборку
файла кода, мы могли бы пойти двумя путями: (а) мы могли бы запустить ассемблер вручную или (б) компилятор мог бы вызвать
ассемблер автоматически. В последнем случае, если вы создаете компилятор C (а не мы),
тогда мы можем предоставить вам ассемблер в виде объекта DLL (библиотеки динамической компоновки), который вы можете вызывать из
в вашей программе.Напишите нам по электронной почте, как описано на странице О нас / Свяжитесь с нами
на главном веб-сайте DIY Calculator для получения более подробной информации.Выбор подмножества C
Следующее главное соображение — выбрать подмножество C, которое вы собираетесь реализовать. Мы должны нацеливаться
подмножество, потому что создание компилятора, который мог бы обрабатывать весь язык C, было бы сложной задачей.Выбор подмножества, которое является относительно мощным, но при этом остается достаточно простым для реализации, является нетривиальной проблемой, которая
потребует серьезных размышлений.Мы обсудили несколько идей, но пока не придумали ничего определенного
этого письма. Однако когда у нас будет несколько минут, мы вернемся к этой теме в недалеком будущем.Примечание: См. Также обсуждение создания формы Бэкуса-Наура (BNF) с описанием подмножества языков, которое вы намереваетесь.
для поддержки в разделе Общие примечания ниже.Компиляция компилятора
Хммм, давайте сделаем глубокий вдох из наших обсуждений выше, мы знаем, что собираемся создать компилятор C, который
принимает исходный код C и генерирует ассемблерный код DIY Calculator.Однако на самом деле мы не указали язык, на котором мы работаем.
собираюсь использовать для создания нашего компилятора.Задумайтесь на мгновение: существует множество языков программирования, таких как Ada, Algol, BASIC, C, C ++,
COBOL, Forth, FORTRAN, Java, Lisp, Pascal, Perl и Prolog (и это лишь некоторые из них). Дело в том, что мы могли бы создать наш C
компилятор, использующий любой из этих языков. На самом деле, однако, создание компилятора на любом другом языке, кроме C, вероятно,
заставляет наш мозг болеть так сильно, что это не стоит усилий.Хорошо, поэтому, предполагая, что мы собираемся создать наш компилятор на C, мы, вероятно, скомпилируем эту программу, используя промышленный стандарт.
Компилятор C работает на нашем домашнем компьютере, как показано ниже:Теперь, когда мы создали собственный компилятор DIY Calculator, мы можем использовать его для компиляции программ с исходным кодом (написанных на нашем
C подмножество) в код сборки DIY Calculators, который впоследствии может быть собран в машину DIY Calculators.
код, как показано ниже:Это простой сценарий, и поэтому мы предполагаем, что к нему и стремились.Однако было бы упущением с нашей стороны
если мы не упомянули, что есть потенциальный поворот в сказке, как обсуждается в следующей темеНемного головорезов
Это было бы хорошее время, чтобы подготовиться к тому, чтобы ваш разум был действительно потрясен. Но сначала отметим, что
наши размышления по этой теме в первую очередь предназначены для стимуляции старых клеток серого мозга, потому что мы намерены следовать
относительно простые сценарии использования, представленные в предыдущих разделах.Убрав ласки с дороги (и помня, что Орлов могут взлетать, но ласки редко попадают в струю
двигатели! ), давайте вернемся к тому, как мы создаем и компилируем наш компилятор DIY Calculator, как обсуждалось.
в предыдущем разделе и как показано ниже:Как показано здесь, если мы захотим, исходный код C, который мы используем для создания нашего компилятора DIY Calculator, может использовать все
построить на языке программирования C (даже самые сложные).То есть когда мы говорили только о нашей поддержке
подмножество языка программирования C ранее в этих обсуждениях, мы имели в виду тот факт, что C
программы, которые мы собираемся скомпилировать с помощью нашего нового компилятора DIY Calculator, будут написаны с использованием только этого подмножества.Тем не менее, давайте предположим, что, когда мы захватываем исходный код для компилятора DIY Calculator, мы фактически создаем этот компилятор.
используя только наше определенное подмножество. В этом случае мы открываем дверь интригующей возможности, как показано ниже:Сначала мы используем путь с аннотациями (a) (с синими стрелками) для создания компилятора DIY Calculator, который
будет работать на основном компьютере.Затем (и это сложная часть) мы используем путь с аннотациями (b) (и пурпурными стрелками)
чтобы сгенерировать версию компилятора DIY Calculator, которая будет работать на самом DIY Calculator! (Для вашего интереса цвет «пурпурный»
был назван в честь одноименного красителя, который, в свою очередь, был назван в честь битвы при Мадженте, произошедшей в Италии в
1859: год, когда краситель был впервые открыт!)Мы знаем, мы знаем, что в этот момент разум начинает перегружать себя, пытаясь обернуть себя вокруг всех последствий.Следует также отметить, что все, как правило, звучит легко, если вы говорите это быстро и часто машете руками, но
на самом деле запуск нашего компилятора на калькуляторе DIY потребует некоторых размышлений.Например, нам понадобится способ ввести или загрузить наши программы с исходным кодом C в память DIY Calculators, чтобы
дайте компилятору DIY Calculator что-нибудь для компиляции. Одним из решений этой головоломки может быть использование «Окна консоли».
и «QWERTY Keyboard», как описано в теме BASIC Interpreter на странице Дополнительные инструменты
главного веб-сайта DIY Calculator.Общие примечания (совместное использование вашей работы)
1) Если вы все же решите создать компилятор C, как описано здесь, были уверены, что другие пользователи будут очень заинтересованы
видя это и используя это. Мы были бы очень рады сделать такой инструмент доступным на веб-сайте DIY Calculator.
(конечно, отдавая должное вам).2) Обратите внимание, что представленные здесь идеи — это всего лишь несколько мыслей, которые приходили нам в голову во время курса.
письма Как компьютеры делают математику .Если вы думаете о каких-либо других соображениях, мы должны обратить внимание на предлагаемые нами
Компилятор C, напишите нам по электронной почте, как описано на странице About / Contact Us на главном веб-сайте DIY Calculator, и хорошо добавьте
их в список, чтобы они были там, если мы (или кто-то другой) решим создать такой компилятор.3) Представлен Джоном Бэкусом и Питером Науром в конце 1950-х — начале
1960-е, Форма Бэкуса-Наура (BNF) — это метод рекурсивного определения грамматики слов, символов,
и токены, связанные с компьютерным языком.Наличие такого описания значительно облегчает задачу создания
парсер для языка. Полное описание BNF нашего существующего языка ассемблера приведено в Приложении E к The
Официальная книга данных по калькулятору DIY , которая сама находится на компакт-диске, прилагаемом к нашей книге, How Computers
Сделай математику . Дело в том, что если вы собираетесь создать компилятор C, было бы неплохо выбросить
процесса путем документирования полного описания BNF подмножества языков, которое вы собираетесь поддерживать.Вопросы?
Перед тем, как приступить к разработке нового программного обеспечения, всегда есть над чем подумать.
У нас была фора, потому что мы долго неистово размышляли. Таким образом, если вас интересует
создаете компилятор C и хотите поделиться некоторыми идеями, пожалуйста, напишите нам, как описано
на странице About / Contact Us на главном веб-сайте DIY Calculator.C-программа с меню для калькулятора
#include
void main ()
{
int num1, num2, option;
до
{
printf («\ nВыберите свой вариант \ n»);
printf («1.Сложение \ n2. Подразделение \ n3.Умножение \ n4. Разделение \ n5.Exit \ n»);
scanf («% d», & опция);
if (option == 5)
{
перерыв;
}
переключатель (опция)
{
case 1:
printf («Введите первое целое число \ n»);
scanf («% d», & num1);
printf («Введите второе целое число \ n»);
scanf («% d», & num2);
printf («Добавление% d и% d:% d \ n», num1, num2, num1 + num2);
перерыв;
case 2:
printf («Введите первое целое число \ n»);
scanf («% d», & num1);
printf («Введите второе целое число \ n»);
scanf («% d», & num2);
printf («Вычитание% d и% d:% d \ n», num1, num2, num1-num2);
перерыв;
case 3:
printf («Введите первое целое число \ n»);
scanf («% d», & num1);
printf («Введите второе целое число \ n»);
scanf («% d», & num2);
printf («Умножение% d и% d:% d \ n», num1, num2, num1 * num2);
перерыв;
case 4:
printf («Введите первое целое число \ n»);
scanf («% d», & num1);
printf («Введите второе целое число \ n»);
scanf («% d», & num2);
if (num2 == 0)
{
printf («Ошибка \ n»);
}
else
{
printf («Разделение% d и% d:% d \ n», num1, num2, num1 / num2);
}
перерыв;
случай 5:
перерыв;
по умолчанию:
printf («Недопустимая опция \ n»);
перерыв;
}
} while (опция! = 5);
}
Примеры программирования C, проекты C, исходный код C и код C с открытым исходным кодом
BM3D Image Denoising Исходный код оценки оптического потока — разработка плагина декалей — в c — макропомощь — в c — pt-расширения http, smtp-адреса — в c — расширения pt, командная строка — в c — ptextensions сериализовать и десериализовать — в c -шахматная программа- в c 1 проект мобильной компании по добавлению кустеров в c Вращающийся космический корабль 3d модель
7 демонстраций opengl для начинающих и среднего уровня c проект и исходный код А.inf файл для регистрации отмены регистрации ваших библиотек объектов .. в c Трехмерная лента (демонстрация opengl) c проект и исходный код Матричное мультиплексирование в c Читатель мыслей c проектом и исходным кодом Очень простой загрузчик bmp (bitmap) c проектом и исходным кодом Часы 1derful Утилита 1derful graph c проектом и исходным кодом Проект вставки изображений 1derful c и исходный код Проект 1derful paint express c и исходный код Двухпользовательская игра (с простым AI) c проектом и исходным кодом Трехмерный конус (демонстрация opengl) Трехмерный велосипедный двигатель (opengl демонстрация) Проект 3-d spring (opengl demo) c и исходный код Трехмерный треугольник (демонстрация opengl) c проект и исходный код 3d часы, opengl c 3d куб magic open gl 3D-иллюзия) проект dos c и исходный код 3D в c Howto Плагин 3d для проекта winamp c и исходный код 3D вращающийся пенни в gdi cool 3D-пространство Проект на 3drotation c и исходный код Проект 3ds explode c и исходный код 6-сторонний ролик для игры в кости Симулятор 8085 в c Стек с использованием связанного списка в c Расширенный список ссылок в c Банковский проект в c Базовое приложение для адресной книги ii в c Базовое приложение адресной книги на c Базовый класс в c Базовая концепция c-структур Базовая программа first c в c Основное окно (с ГДИ сбоку) Руководство для начинающих по петлям в c Руководство для начинающих по рекурсии в c Лучшая база данных в c Бинарное дерево поиска в c в c Код вставки двоичного дерева в c Код обхода двоичного дерева в c соединитель растровых изображений в c Хранитель растровых изображений в c Проект коробки c и исходный код Пример программы bst на c Класс c для определения версии windows в c Компилятор c на языке c Пакет c n-grams в c Круг 2003 Часы в c Класс параметров строки cmd в c Красочный указатель мыши в dos Полное приложение, которое демонстрирует возможности графики в DOS в c Полный редактор окна проигрывателя Windows Media для Win32 в c Компетентный класс строки из коробки в c Двигатель connect 4 (с графическим интерфейсом) в c Фреймворк апплета панели управления в c Классный файловый сервер в c Классная оболочка, выглядящая как windows-sanshell в c Система управления базами данных в c Инструмент поиска по базе данных c A dbms syatem in c in c Элемент управления activex броска кубика в c Утилита dns в c Калькулятор dos в c Двусвязный список в c Двусвязный список с итераторами (конструктор, итератор) в c Программа для рисования, очень похожая на widnows paint Напильник c Файловый менеджер с графическим интерфейсом в проекте dos c и исходным кодом Функциональный плоттер, использующий c-графику Общий двумерный массив в c Общий связанный список в c Общая очередь в c в c Общий стек в c в c Хороший класс сделать любое окно (без мфк) в c Проект gradient c и исходный код Генератор градиента c проектом и исходным кодом Графическое меню с системным программированием, включая vdu, kbd, диск, память и прочие серв.в c Отличная функция разбиения строки токенами в c Отличный пример проверки пароля win32 (не mfc) c исходный код Отличный пример win32 setwindowrgn (не mfc) на c Отличный пример системного меню win32 (не mfc) на c Отличный пример перечисления окон Win32 (убийца) (не mfc) обновлен 31503 c исходный код Группа примеров анализа слов для новичков cstl в c Графический интерфейс для простой системы баз данных в c Удобная адресная книга денди в c Класс шаблона хеш-таблицы в c Заголовочный файл для Windows и консольного программирования Пакет jumbo code в c Калькулятор с микроконтроллером 8051 (89c51,89c52), ЖК-дисплеем 16×2 и клавиатурой 4×4
В этом уроке я собираюсь построить простой двузначный калькулятор с микроконтроллером 8051 (89c51,89c52).Калькулятор принимает две однозначные цифры и оператор в качестве входных данных и производит выходные данные. Ввод осуществляется с помощью цифровой клавиатуры 4 × 4, а вывод отображается на ЖК-дисплее размером 16 × 2 символов. Калькулятор своими руками может выполнять четыре операции: сложение, вычитание, отрицание и деление.
Калькулятор с keil ide, микроконтроллером 8051 и жк-дисплеем 16 × 2
Проектные требования к оборудованию
- Один микроконтроллер 89c52 или 89c51
- Хлебная плата или печатная плата (создание цепи)
- ЖК-дисплей 16 × 2 (отображение текста)
- Клавиатура 4 × 4 (прием ввода)
- Потенциометр (для настройки контрастности ЖК-дисплея)
- Кристалл (11.0592 МГц)
Вычислитель со схемой микроконтроллера 8051
Порт-1 микроконтроллера 8051 сопряжен с цифровой клавиатурой 4 × 4. Четыре нижних бита 8051 порт-1 — это сканирующие строки клавиатуры 4 × 4, а верхние четыре бита — сканирующие кулоны клавиатуры 4 × 4. Порт-1 используется как входной порт. ЖК-дисплей 16 × 2 сопряжен с микроконтроллером 8051 в 8-битном режиме. Жк 16х2 подключается к порту-2 микроконтроллера 89c51. Генератор 20 МГц используется для питания микроконтроллера 89c52.Остальные подключения — это питание микроконтроллера и кнопка сброса настроек.
Калькулятор с микроконтроллером 8051 (89c51,89c52)
8051 калькулятор код проекта
Внимательно прочтите объяснение, потому что оно охватывает все важные моменты кода, и каждое выражение кода кратко объясняется. мы предполагаем, что вы уже знакомы с синтаксисом языка c / c ++. Если вы этого не сделаете, то сначала возьмите несколько руководств по программированию на c / c ++ и ознакомьтесь с синтаксисом языка программирования c / c ++.
Начиная с начала, первая строка кода. Не забудьте включить файл заголовка reg51.h в каждый проект, который содержит микроконтроллер 8051 (89c51,89c52). Этот заголовочный файл очень важен. Компилятор Keil сначала проверяет этот файл заголовка в вашем коде. Если он присутствует, компилятор компилирует ваш код, отсутствие этого файла заголовка приведет к ошибке. Далее объявления некоторых функций.
Функции калькулятора 8051, код
void lcdcmd (символ без знака)
- Отправка КОМАНД на lcd.(Если вы не знаете о командах, просто щелкните слово команды)
void lcddata (unsigned char)
- Отправка ДАННЫХ на lcd. (Если вы не знаете о данных, просто щелкните слово данных)
void MSDelay (unsigned int)
void disp_num (float num)
- Отображение числа на ЖК-дисплее после расчета.
int get_num (символ ch)
- Преобразование символа в число
пусто lcdinit ()
- Инициализация драйвера ЖК-чипсета.(щелкните ссылку, чтобы увидеть, что это означает «Инициализация lcd»)
char scan_key (void)
- Сканирование номера с клавиатуры.
8051 калькулятор main () функция кода
Я помещаю тело основной функции в непрерывный цикл while, чтобы калькулятор работал вечно. Функция lcdinit () инициализирует драйвер набора микросхем lcd с помощью некоторых необходимых команд lcd (не понимаю, просто нажмите ссылку, и у вас будет хорошее руководство по инициализации lcd).Затем в цикле while я печатаю строку на ЖК-дисплее ENTER 1 NO =. Введите желаемый номер с клавиатуры. Оператор key = scan_key () — это сканирование клавиши, которую вы нажимаете на клавиатуре. Функция scan_key () возвращает символ, который вы нажали на клавиатуре. k2 = get_num (key) преобразует ключ, возвращенный функцией scan_key (), в цифру.
Scan_key () читает ключ как символ. Чтобы выполнить арифметическую операцию с ключом, мы должны преобразовать его в число. get_num (key) выполняет эту работу за нас.Затем функция lcddata () печатает символ на ЖК-дисплее, а команда lcdcmd (0x01) очищает все содержимое ЖК-дисплея.
Затем на ЖК-дисплее будет напечатана следующая строка с надписью operator =. Вам необходимо ввести оператора и все предыдущие шаги повторяются. Затем появится следующая строка с надписью Enter 2 no = Просто введите no. Теперь вы видите оператор switch, который принимает решение, если введенный вами оператор будет + он перейдет к функции disp_num (K1 + k2), добавив два числа, которые вы только что ввели. Для оператора — это будет отрицание, а для других операторов — для них.Отправка команд и данных на ЖК-дисплей — очень важная функция, ее краткая информация доступна в ЖК-данных и функции команд. Это очень важно, чем функция задержки, чтобы внести некоторую задержку в процесс. Это можно понять при запуске встроенного кода в аппаратном оборудовании. Функция scan_key () объясняется по следующей ссылке Программирование клавиатуры 4 × 4.
Функция disp_num () отображает вычисленное нами число на ЖК-дисплее 16 × 2.
В функциях объявлено несколько символьных массивов.Строки в символьных массивах отображаются на ЖК-дисплее 16 × 2 во время работы микроконтроллера 8051. На самом деле они общаются с пользователем, запрашивая информацию и результаты. Я также использую регистры внутренней памяти микроконтроллера 8051 (89c51,89c52) sfr’s.
SFR — это прямые ячейки памяти для портов, регистров и таймеров микроконтроллеров 8051. Sfr ldata = 0xA0 обращается к порту 2 микроконтроллера. 0xA0 — это Sfr для порта 2. Теперь ldata — это переменная, указывающая на порт 2 микроконтроллера.Затем объявляются некоторые пины. ЖК-дисплей управляется контактами Port-3 №5,6,7. Выводы данных ЖК-дисплея подключены к порту 2 микроконтроллера. Порт-1 — сканирование строк и кулонов клавиатуры 4 × 4.
Сначала я конвертирую свое число с плавающей запятой в целое на numb = (int) num. Затем я проверяю, меньше ли num 0 или отрицательно. Если число отрицательное, я умножаю его на -1 и делаю положительным. Затем отправьте — подпишите на ЖК-дисплее, потому что вычисленное значение соответствует форме. Если значение больше 10, я нахожу десять цифр, разделив число / 10, если тенденция не равна 0, чем отображать его на ЖК-дисплее.lcddata (десятая цифра + 0x30) вы думаете, что это значит. На самом деле, когда я делю numb / 10, значение, возвращаемое TEnthdigit, находится в форме ASCII, потому что TenthDigit является символьной переменной, поэтому, чтобы сделать значение ASCII для символа, просто добавьте в него 0x30 или 48, потому что это значения, с которых начинаются цифры. Чем для цифры единицы numb-TenthDigit * 10, она даст нам цифру единицы в форме ASCII, чтобы добавить к ней значение 0x30. Если вы не добавите к нему 0x30 (шестнадцатеричный) или 48 (десятичный), то на ЖК-дисплее будут отображаться некоторые специальные символы.Начальные символы таблицы ASCII. Затем рассчитывается десятичное значение, которое также выводится на ЖК-дисплей с использованием того же метода. Просто скопируйте код, заставивший аппаратную схему записать код в микроконтроллер 8051 (89c51,89c52), и проверьте свое творение.
Массивы символов и sfr, используемые в функциях калькулятора
Еще несколько проектов по созданию двузначного калькулятора с микроконтроллерами ниже. Вы можете найти бесплатные исходные коды и принципиальные схемы проектов в обучающих материалах.Нажмите кнопки ниже, чтобы перейти к обучающим материалам.
Загрузите файлы проекта, код (C ++, Hex), скомпилированный в keil U-vision 4. Сообщите нам свой отзыв о проекте. Если у вас есть какие-либо вопросы, напишите их в разделе комментариев ниже
Посмотрите видео о проекте здесь ……
.