C++ Простейший калькулятор Stack Overflow на русском
Затем, при нажатии на кнопку равняется считаем результат в зависимости от текущего оператора. Интерфейс и распределения кнопок умею вставить, да не успеваю основать функцию, которая изменяет оператор в переменной result в зависимости от избранной кнопки операции. Чтобы упростить код и избежать повторений, можно упростить проверку оператора в цикле while и избежать лишних условий внутри цикла. Также можно прибрать лишние input() и использовать токмо одинёхонек input() для оператора и чисел. Требуется использовать присвоение переменной в case и позднее вернуть смысл. С помощью стрелок в верхнем ряду вы можете перемещать курсор по тексту проблемы. Используйте кнопку ↵, если вы хотите перебежать на новую строку (например, при вводе систем уравнений). Но всё-таки мне хотелось бы узнать, можно ли нацарапать функцию для калькулятора, опираясь на код, мной написанный до сих пор. Реализуйте немудрящий калькулятор, кой позволяет выполнять операции сложения, вычитания, умножения и деления двух целых чисел.
Я бы начал с того, чтобы внес начальный инпут вовнутрь обстановка цикла и убрал бы сравнение, так будто сам плод присвоения и будет либо 0 (False) либо не ноль и тогда цикл отработает. Это избавит нас от двух лишних инпутов и от проверки завершения программы по вводу ноля. Заменил бы If/elif на match/case для красоты и заменил бы проверку деления на ноль на однострочник. Я, правда, легко понимаю какое применение у таких калькуляторов на практике, т.к. Во-первых нет проверки вводимых символов (нужно ограничить ввод), нет проверки на ошибки (например, деление на ноль), нет десятичного разделителя. В отдельной функции для каждой операции, смысла нет - потому что при смене операции в интерфейсе, в алгоритме меняется всего одно поступок... И если мы разделим логику на 4 функции, то не сможем избежать дублирования кода остальных, общих действий (нарушим принцип DRY). Например, при нажатии на кнопку оператора, соответственно устанавливаем переменную текущего оператора.
Ну и я бы вместо лесенки if'ов использовал switch. Если вы получили ложный результат или хотите попросить, дабы мы расширили возможности калькулятора, отправьте отзыв. Символ градуса находится под кнопкой тригонометрии (sin, cos, tan, cot) верху клавиатуры. Решение сквозь switch - в принципе, самое простое (исключая вариант eval()) и распространенное.
Поскольку вы учите С++, вместо printf и scanf лучше использовать cout и cin. В них не нужно радеть о формате принимаемого и выводимого значений, плюс нету этакий проблемы, как попадание в буфер ввода не того символа. В вашем случае вместо %d для считывания значений типа float нужно использовать %f, а для считывания символа %c. Во часы работы вашего кода после поправки форматирования у меня, например, вместо считывания символа операции считывался знак новой строки, и ввод переходил разом на второе число. Для избежания этого следовало бы очистить буфер ввода командой fflush(stdin). Однако все эти вопросы решаются использованием cout и cin. Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS. Нажимая «Отправить ответ», watch shemale hentai videos вы соглашаетесь с условиями пользования и подтверждаете, что прочитали политику конфиденциальности.