コンテンツにスキップ
サイドバーの切り替え
検索
日本語
アカウント作成
個人用ツール
アカウント作成
ログイン
ログアウトした編集者のページ
もっと詳しく
トーク
投稿記録
案内
メインページ
人気のページ
利用規約
最近の出来事
最近の更新
おまかせ表示
お問い合わせ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
他言語版
「
C++ Простейший калькулятор Stack Overflow на русском
」を編集中
ページ
議論
日本語
閲覧
編集
ソースを編集
履歴表示
その他
閲覧
編集
ソースを編集
履歴表示
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。
スパム攻撃防止用のチェックです。 けっして、ここには、値の入力は
しない
でください!
<br><br><br>Затем, при нажатии на кнопку равняется считаем результат в зависимости от текущего оператора. Интерфейс и распределения кнопок умею вставить, да не успеваю основать функцию, которая изменяет оператор в переменной result в зависимости от избранной кнопки операции. Чтобы упростить код и избежать повторений, можно упростить проверку оператора в цикле while и избежать лишних условий внутри цикла. Также можно прибрать лишние input() и использовать токмо одинёхонек input() для оператора и чисел. Требуется использовать присвоение переменной в case и позднее вернуть смысл. С помощью стрелок в верхнем ряду вы можете перемещать курсор по тексту проблемы. Используйте кнопку ↵, если вы хотите перебежать на новую строку (например, при вводе систем уравнений). Но всё-таки мне хотелось бы узнать, можно ли нацарапать функцию для калькулятора, опираясь на код, мной написанный до сих пор. Реализуйте немудрящий калькулятор, кой позволяет выполнять операции сложения, вычитания, умножения и деления двух целых чисел.<br>Я бы начал с того, чтобы внес начальный инпут вовнутрь обстановка цикла и убрал бы сравнение, так будто сам плод присвоения и будет либо 0 (False) либо не ноль и тогда цикл отработает. Это избавит нас от двух лишних инпутов и от проверки завершения программы по вводу ноля. Заменил бы If/elif на match/case для красоты и заменил бы проверку деления на ноль на однострочник. Я, правда, легко понимаю какое применение у таких калькуляторов на практике, т.к. Во-первых нет проверки вводимых символов (нужно ограничить ввод), нет проверки на ошибки (например, деление на ноль), нет десятичного разделителя. В отдельной функции для каждой операции, смысла нет - потому что при смене операции в интерфейсе, в алгоритме меняется всего одно поступок... И если мы разделим логику на 4 функции, то не сможем избежать дублирования кода остальных, общих действий (нарушим принцип DRY). Например, при нажатии на кнопку оператора, соответственно устанавливаем переменную текущего оператора.<br>Ну и я бы вместо лесенки if'ов использовал switch. Если вы получили ложный результат или хотите попросить, дабы мы расширили возможности калькулятора, отправьте отзыв. Символ градуса находится под кнопкой тригонометрии (sin, cos, tan, cot) верху клавиатуры. Решение сквозь switch - в принципе, самое простое (исключая вариант eval()) и распространенное.<br>Поскольку вы учите С++, вместо printf и scanf лучше использовать cout и cin. В них не нужно радеть о формате принимаемого и выводимого значений, плюс нету этакий проблемы, как попадание в буфер ввода не того символа. В вашем случае вместо %d для считывания значений типа float нужно использовать %f, а для считывания символа %c. Во часы работы вашего кода после поправки форматирования у меня, например, вместо считывания символа операции считывался знак новой строки, и ввод переходил разом на второе число. Для избежания этого следовало бы очистить буфер ввода командой fflush(stdin). Однако все эти вопросы решаются использованием cout и cin. Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS. Нажимая «Отправить ответ», [https://archeomolise.it/ watch shemale hentai videos] вы соглашаетесь с условиями пользования и подтверждаете, что прочитали политику конфиденциальности.<br><br>
編集内容の要約:
Wikiminatiへの投稿はすべて、クリエイティブ・コモンズ 表示-継承 (詳細は
Wikiminati:著作権
を参照)のもとで公開したと見なされることにご注意ください。 自分が書いたものが他の人に容赦なく編集され、自由に配布されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください。
著作権保護されている作品は、許諾なしに投稿しないでください!
編集を中止
編集の仕方
(新しいウィンドウで開きます)