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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Ofelion
12 / 12 / 7
Регистрация: 26.01.2015
Сообщений: 189
#1

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

23.06.2016, 14:13. Просмотров 381. Ответов 2
Метки нет (Все метки)

Доброго времени суток!
Саму игру я написал, может, и коряво, но вроде работает нормально, но проблема в том, что компьютер повторяет одни и те же числа в разных итерациях. Допустим, я загадал число 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;
}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2016, 14:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Игра - компьютер отгадывает загаданное пользователем число (C++):

Программа отгадывает загаданное пользователем число: реализовать "защиту от дурака" - C++
Программа отгадывает, загаданное пользователем число #include &quot;stdafx.h&quot; #include &lt;locale&gt; #include &lt;iostream&gt; #include...

Написать программу, угадывающую загаданное пользователем число, за несколько попыток (цикл while) - C++
добрый вечер всем вот код,нужно чтоб компьютер отгадал число ведёное тобой с клавиатуры за определёное кол-во попыток,но проблема в том что...

программа, которая отгадывает число - C++
Я загадаю целое число из интервала . Напишите программу, которая за минимальное число вопросов отгадает это число. Играть будем так. Я...

Написать программу которая отгадывает число - C++
Программа Числоотгадывательница-10 замечательна во-первых тем, что не все могут произнести ее имя. Ну а во-вторых она удивительна тем, что...

загаданное число - C++
помогите закончить программу int rNum,x; srand(time(0)); rNum = 1 + rand() % (10); cout &lt;&lt; &quot;введите число от 0 до 10 -&gt; &quot;; ...

Отгадать загаданное число - C++
Вася загадал число от 1 до N. За какое наименьшее количество вопросов (на которые Вася отвечает &quot;да&quot; или &quot;нет&quot;) Петя может угадать Васино...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
shilko2013
240 / 217 / 117
Регистрация: 02.04.2016
Сообщений: 827
Завершенные тесты: 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 << "число";
1
Ofelion
12 / 12 / 7
Регистрация: 26.01.2015
Сообщений: 189
23.06.2016, 15:04  [ТС] #3
Спасибо!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.06.2016, 15:04
Привет! Вот еще темы с ответами:

Найти загаданное число по условию - C++
В трехзначном числе зачеркнули первую цифру слева, когда полученное двузначное число умножили на 7, то получили данное число. Найти это...

По результату определить загаданное число - C++
Клоун предложил каждому из публики задумать число. Потом он сказал: «Прибавьте к задуманному числу 5. Теперь из результата вычтите 2. А...

Логика для игры, где ПК отгадывает загадочное мной число - C++
Доброго времени суток. В программировании я совсем новичок, не знаю ничего. Нужна Ваша помощь. Читаю книгу &quot;Изучение С++ через...

Угадать задуманное пользователем число - C++
Описание словами: (я загадала 3) Прога пишет &quot;Введите число с которого начать отсчет&quot; 2 &quot;Введите число которым закончить отсчет&quot; 5 ...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru