Форум программистов, компьютерный форум CyberForum.ru

Игра - компьютер отгадывает загаданное пользователем число - C++

Восстановить пароль Регистрация
 
Ofelion
6 / 6 / 1
Регистрация: 26.01.2015
Сообщений: 95
23.06.2016, 14:13     Игра - компьютер отгадывает загаданное пользователем число #1
Доброго времени суток!
Саму игру я написал, может, и коряво, но вроде работает нормально, но проблема в том, что компьютер повторяет одни и те же числа в разных итерациях. Допустим, я загадал число 3, компьютер называет 5 и спрашивает - загаданное число больше или меньше? Нажимаю, что меньше, он называет 2, к примеру, я пишу, что загаданное число больше и вот тут он снова может назвать 5. Вот как убрать эти повторы? Тут я уже не смог ничего придумать.

PS> Прошу прощения заранее за отсутствие табуляций, компилятор их не ставит, самому тяжело

C++
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
47
48
49
50
51
52
53
54
55
56
57
#include <iostream>
#include<cstdlib>
using namespace std;
int main()
{
setlocale(LC_ALL,"RUS");
int a=0,b=0,c=0;
char ch='a';
char qw='q'; 
cout<<"Загадайте число от 0 до 10: "; cin>>a;
system("cls");
srand(time (NULL));
 b=rand()%10;
 cout<<"Компьютер считает, что Вы загадали число: "<<b<<endl;
  if(b==a)
 {
 cout<<"Компьютер угадал число!\n";         
 }
while(b!=a)
{
 
 if(b==a)
 {
 cout<<"Компьютер угадал число!\n";         
 }
 
else if(b!=a)
{
cout<<"Загаданное число больше или меньше: +/- :"; cin>>qw;
if(qw=='+')
{
c=b;
 
b=(c+1)+rand()%2;
cout<<"Компьютер считает, что Вы загадали: "<<b<<endl;
if(b==a)
{
cout<<"Компьютер угадал число!\n";      
}
                               
}
                  
else if(qw=='-')
{
c=b;
b= rand()%(c-1);
cout<<"Компьютер считает, что Вы загадали: "<<b<<endl;
if(b==a)
{
cout<<"Компьютер угадал число!\n";      
}                                       
}   
}
}
system("pause");
return 0;
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2016, 14:13     Игра - компьютер отгадывает загаданное пользователем число
Посмотрите здесь:

Программа отгадывает загаданное пользователем число: реализовать "защиту от дурака" C++
C++ По результату определить загаданное число
Угадать задуманное пользователем число C++
C++ загаданное число
C++ Отгадать загаданное число
C++ Написать программу, угадывающую загаданное пользователем число, за несколько попыток (цикл while)
Найти загаданное число по условию C++
программа, которая отгадывает число C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
shilko2013
 Аватар для shilko2013
238 / 215 / 116
Регистрация: 02.04.2016
Сообщений: 814
Завершенные тесты: 1
23.06.2016, 14:30     Игра - компьютер отгадывает загаданное пользователем число #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Используй контейнер set.
C++
1
set<int> s;
Когда комп предлагает число, пусть записывает его в контейнер.
C++
1
s.insert(число);
В следующие разы проверять, находится ли число в контейнере.
C++
1
2
3
4
 
while (s.count(число) == 1) //пока не зарандомит новое число
         число = rand() % 10;
cout << "число";
Ofelion
6 / 6 / 1
Регистрация: 26.01.2015
Сообщений: 95
23.06.2016, 15:04  [ТС]     Игра - компьютер отгадывает загаданное пользователем число #3
Спасибо!
Yandex
Объявления
23.06.2016, 15:04     Игра - компьютер отгадывает загаданное пользователем число
Ответ Создать тему
Опции темы

Текущее время: 22:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru