Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Chabadpedia
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Types Of Cuckoo Birds
Article
Discussion
English
Read
Edit
Edit source
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
Edit source
View history
General
What links here
Related changes
Special pages
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
<br><br><br>Поскольку вы учите С++, вместо printf и scanf лучше использовать cout и cin. В них не нужно беспокоиться о формате принимаемого и выводимого значений, плюс нету такой проблемы, что попадание в буфер ввода не того символа. В вашем случае вместо %d для считывания значений типа float нужно использовать %f, а для считывания символа %c. Во век работы вашего кода после поправки форматирования у меня, например, вместо считывания символа операции считывался знак новой строки, и ввод переходил залпом на второе число. Для избежания этого следовало бы очистить буфер ввода командой fflush(stdin). Однако все эти вопросы решаются использованием cout и cin. Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS. Я бы начал с того, чтобы внес первоначальный инпут внутрь обстоятельства цикла и убрал бы сравнение, этак как сам результат присвоения и будет либо 0 (False) либо не ноль и тогда цикл отработает. Это избавит нас от двух лишних инпутов и от проверки завершения программы по вводу ноля.<br>Символ градуса находится под кнопкой тригонометрии (sin, cos, tan, cot) верху клавиатуры. Ниже в полном объеме приведены сведения об авторском праве, включенные в документ "Инструкция к Calc" на сайте OpenOffice.org. Мы частично изменили синтаксис и описания для того, дабы они соответствовали формату этой страницы и корректно описывали функции Google Таблиц. Оставил без изменения целочисленное деление, хотя в постановке задачи об этом не было сказано и я бы поставил простое деление. Решение сквозь switch - в принципе, самое простое (исключая вариант eval()) и распространенное.<br>Заменил бы If/elif на match/case для красоты и заменил бы проверку деления на ноль на однострочник. Нажимая «Отправить ответ», вы соглашаетесь с условиями пользования и подтверждаете, что прочитали политику конфиденциальности. Разберите что работает этот код, выполните пошагово. Вся суть и логика данного алгоритма там, где массивы уже получены, то снедать начиная с цикла foreach. Чтобы упростить код и избежать повторений, можно упростить проверку оператора в цикле while и избежать лишних условий внутри цикла. Также можно прибрать лишние input() и использовать исключительно один-одинёхонек input() для оператора и чисел. Реализуйте безыскусный калькулятор, какой позволяет выполнять операции сложения, вычитания, умножения и деления двух целых чисел. Я, Pills For Enlarging Penis правда, некрепко понимаю какое применение у таких калькуляторов на практике, т.к.<br>Разбить строку на выражения можно по разному, включая регулярные выражения, но чтобы учесть в дальнейшем приоритеты операций, вам стоит поискать информацию на счет обратной польской нотации (она же - обратная польская запись). Но всё-таки мне хотелось бы узнать, можно ли черкануть функцию для калькулятора, опираясь на код, мной написанный до сих пор. Я написал код, кой работает всего-навсего для первого случая.<br>Eval по последовательности токенов вычисляет значение. Для вычисления используется алгоритм сортировочной станции.shunting-yard algorithm - более подробное изложение, на английском. Google Таблицы поддерживают те же функции, что и большинство редакторов электронных таблиц. С помощью этих функций можно созидать формулы, дабы обрабатывать данные и производить вычисления. Ну и я бы вместо лесенки if'ов использовал switch. Можно вводить оборот с пробелами, можно без, они игнорируются.<br>Во-первых нету проверки вводимых символов (нужно ограничить ввод), нет проверки на ошибки (например, деление на ноль), нет десятичного разделителя. В отдельной функции для каждой операции, смысла нету - потому что при смене операции в интерфейсе, в алгоритме меняется счастливо одно акт... И если мы разделим логику на 4 функции, то не сможем избежать дублирования кода остальных, общих действий (нарушим принцип DRY). Например, при нажатии на кнопку оператора, соответственно устанавливаем переменную текущего оператора. Затем, при нажатии на кнопку равняется считаем итог в зависимости от текущего оператора. Интерфейс и распределения кнопок умею вставить, однако не успеваю создать функцию, которая изменяет оператор в переменной result в зависимости от избранной кнопки операции. С помощью стрелок в верхнем ряду вы можете перемещать курсор по тексту проблемы. Используйте кнопку ↵, если вы хотите перебежать на новую строку (например, при вводе систем уравнений).<br><br>
Edit summary
(Briefly describe your changes)
Please note that all contributions to Chabadpedia are considered to be released under the GNU Free Documentation License 1.3 or later (see
Chabadpedia:Copyrights
for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)