|
0 / 0 / 0
Регистрация: 04.05.2020
Сообщений: 10
|
||||||
Винапи с++, суть программы в том, что компьютер угадывает число пользователя. Нужна доработка кода26.09.2021, 11:11. Показов 2113. Ответов 19
Метки нет (Все метки)
Нужно написать событие, при которой если пользователь лжет компьютер и всегда нажимает "нет" или "да", то мы видим, что компьютер пишет, к примеру,"Вы обманываете":
0
|
||||||
| 26.09.2021, 11:11 | |
|
Ответы с готовыми решениями:
19
Компьютер угадывает число Компьютер угадывает число Компьютер угадывает число |
|
1358 / 856 / 366
Регистрация: 26.02.2015
Сообщений: 3,814
|
|
| 26.09.2021, 11:56 | |
|
Можешь яснее описать то, что нужно сделать?
0
|
|
|
0 / 0 / 0
Регистрация: 04.05.2020
Сообщений: 10
|
|
| 26.09.2021, 12:08 [ТС] | |
|
В программе числа больше, но пример будет следующим в пределах 1 до 10:
Компьютер: Ваше число 5? Пользователь: Нет К: Больше или меньше? П: Больше (Меньше) По ответам пользователя доходит до верхнего (10) или нижнего (1) числа. НО! Компьютер продолжает спрашивать, к примеру,: "Ваше число 1?". Пользователь задумал постоянно отвечать, что число не то. И ТУТ! Программа должна после такой попытки пользователя "подурачиться" вывести: "Ты обманываешь", "Вы точно загадали число?"
0
|
|
|
336 / 129 / 18
Регистрация: 26.12.2010
Сообщений: 501
|
||
| 26.09.2021, 16:24 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 04.05.2020
Сообщений: 10
|
|
| 26.09.2021, 18:02 [ТС] | |
|
Когда дошло до верхней (как в примере, 10) или нижней (1) границе, то после 3 попытки пользователя, который вовсе не загадывал число, а хочет проверить, что будет если отвечать постоянно НЕТ, выводить текст "Вы точно загадали число?"
0
|
|
|
68 / 55 / 13
Регистрация: 26.07.2021
Сообщений: 191
|
||
| 27.09.2021, 01:21 | ||
|
Но есть нюанс: логика в функции _answerCPU() такова, что независимо от ответов пользователя выбор следующего претендента всегда идёт вниз, к нулю. Поэтому есть немалый риск, что даже при правильных ответах программа число не найдёт.
0
|
||
|
0 / 0 / 0
Регистрация: 04.05.2020
Сообщений: 10
|
|
| 27.09.2021, 01:42 [ТС] | |
|
Пробовала сделать условия, но они лишь сбивают счет либо не влияют
0
|
|
|
68 / 55 / 13
Регистрация: 26.07.2021
Сообщений: 191
|
|||
| 27.09.2021, 01:59 | |||
|
Судя по:
0
|
|||
|
0 / 0 / 0
Регистрация: 04.05.2020
Сообщений: 10
|
|
| 27.09.2021, 02:07 [ТС] | |
|
В изучении не дошла до таких строчек кода: static int num = 0; Не совсем понимаю
0
|
|
|
68 / 55 / 13
Регистрация: 26.07.2021
Сообщений: 191
|
|
| 27.09.2021, 02:14 | |
|
А кто всю эту женскую логику в _answerCPU() придумывал и писал? Не Вы?
Или по другому зайдём: что такое метод половинного деления (дихотомия) и как он работает - знаете?
0
|
|
|
0 / 0 / 0
Регистрация: 04.05.2020
Сообщений: 10
|
|
| 27.09.2021, 02:20 [ТС] | |
|
У меня проще вариант был, но не такой действенный как предполагался. Половинное деление только было видно в литературе, дихотомия пока не встречалась. Была идея рандомом число искать, будет ли им легче реализовать? По результату моих попыток внедрить, получается, что я неправильно поняла, что за B и как программе не выдавать ошибку при следующем выражении [B]num
0
|
|
|
68 / 55 / 13
Регистрация: 26.07.2021
Сообщений: 191
|
||||
| 27.09.2021, 02:28 | ||||
|
И в любом языке - это менее эффективно.
0
|
||||
|
0 / 0 / 0
Регистрация: 04.05.2020
Сообщений: 10
|
|
| 27.09.2021, 02:47 [ТС] | |
|
Я понимаю этот метод следующим образом: начинается с наших границ (1 и 1000), число делится на половину и так мы сокращаем этот интервал, в зависимости от ответа пользователя (больше/меньше), число 500 станет нижней/верхней границей и так далее. Когда дело доходит до конечного числа, то программа спросит оно ли, ЗДЕСЬ ЖЕ проблема, что оно не уведомляет пользователя, что все числа уже перебраны, иначе пользователь уже нажал бы Да. И в другие классы бы пошел "сигнал" о том, что поиск удался
0
|
|
|
68 / 55 / 13
Регистрация: 26.07.2021
Сообщений: 191
|
|||
| 27.09.2021, 04:00 | |||
|
0
|
|||
|
0 / 0 / 0
Регистрация: 04.05.2020
Сообщений: 10
|
|
| 27.09.2021, 23:46 [ТС] | |
|
Да, я поняла о чем вы. Такая попытка была, но у меня сбился подсчет и последовательность вывода окон
Добавлено через 34 секунды Пыталась при помощи if. Может он неудачен для винапи и в данном коде?
0
|
|
|
68 / 55 / 13
Регистрация: 26.07.2021
Сообщений: 191
|
|||||||||
| 28.09.2021, 02:02 | |||||||||
|
А что нужно делать после показа сообщения "Вы обманываете"? Закрыть программу? Ладно, смотрим. Код функции _answerCPU() начинается с: Пользователь нажимает кнопку, программа попадает в ветку case WM_COMMAND:, оттуда вызывается _answerCPU(), а нам уже безразлично, что он там нажал, мы просто перед switch (ch) вставляем проверку:
"По-моему, так". Добавлено через 31 минуту
0
|
|||||||||
|
0 / 0 / 0
Регистрация: 04.05.2020
Сообщений: 10
|
|
| 28.09.2021, 09:41 [ТС] | |
|
Спасибо вышло, только в скрине ниже возникает необработанное исключение
0
|
|
|
68 / 55 / 13
Регистрация: 26.07.2021
Сообщений: 191
|
|
| 28.09.2021, 10:06 | |
|
В какой момент (после какого действия) возникает?
0
|
|
|
0 / 0 / 0
Регистрация: 04.05.2020
Сообщений: 10
|
|
| 28.09.2021, 10:10 [ТС] | |
|
После того, как в образованном окне мы нажимаем ОК или крестик (закрыть окошко), то постоянно мигает большое окно
0
|
|
|
68 / 55 / 13
Регистрация: 26.07.2021
Сообщений: 191
|
|
| 28.09.2021, 11:19 | |
|
Чукча не писатель на C/C++ и даже читатель только по складам (лишь с третьего раза вспомнил, что такое "static int f"), поэтому "с листа" сообразить, что происходит, не могу, а машина с компилятором (и, главное, отладчиком) C++ мне сейчас недоступна и когда станет доступна неизвестно (всем отделом ждём этого события).
Попробуйте с помощью Spy++ посмотреть, какие события (за исключением мышиных) валятся в главное окно программы во время его мигания.
0
|
|
| 28.09.2021, 11:19 | |
|
Помогаю со студенческими работами здесь
20
Компьютер угадывает число. Задача решена, как считаете? (вектор и цикл)
Напишите программу "Угадай число", но здесь компьютер угадывает ваше число "Угадай Число", где угадывает компьютер Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|