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

игра два числа - C++

Восстановить пароль Регистрация
 
nnina
 Аватар для nnina
2 / 2 / 0
Регистрация: 12.11.2011
Сообщений: 69
16.02.2012, 09:38     игра два числа #1
Помогите, пожалуйста, найти ошибки.
Игрок должен угадать два числа "а" и "b", задуманных программой. Игрок задает число и получает один из ответов:
1) число лежит левее интервала (а, b);
2) число лежит правее интервала (а, b);
3) число лежит внутри интервала (а, b);
4) число совпало с одним из задуманных чисел а, b.

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
#include <iostream> 
#include <stdlib.h> 
#include <time.h> 
 
using namespace std; 
 
int main(void) 
{ 
       int a,b,  
       i=-1,
       c=0;   
 
      srand(time(0));  
      a=rand()%100;  
      b=rand()%100;
 
      cout<<"Программа задумала два числа от 0 до 100.\nПопробуй угадать!\n"; 
           
      while(a!=i, b!=i)   
      { 
      
       cout<<"Введите число\n"; 
       cin>>i; 
       cout<<"Введите ещё одно число\n";
       cin>>i;
 
      
       if(i > a, i > b) 
        cout<<"Числа лежат левее интервала (a, b)\n"; 
       if(i < a, i < b) 
        cout<<"Числа лежат правее интервала (a, b)\n"; 
       if(i > a, i < b)
        cout<<"Числа лежат внутри интервала (a, b)\n";
       if(i=a, i=b)
        cout<<"Число совпало с одним из задуманных чисел a, b\n";
 
       c++;    
      } 
 
      
      if(c < 10) 
       cout << "Молодец, угадал с "<< c <<" попытки!"; 
      if(c > 10) 
       cout << "Ну с "<< c <<" попытки любой угадает"; 
 
      cin.get(); 
      cin.get(); 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.02.2012, 09:38     игра два числа
Посмотрите здесь:

Даны два целых числа M но N. Вывести все целые числа из промежутка [M,n] C++
Даны два целых числа A и B (A < B). Вывести в порядке убывания все це-лые числа, расположенные между A и B (не включая числа A и B), а также количеств C++
Задано два натуральных числа: m и n. Определить, сколько цифр содержится в десятичной записи числа m^n. C++
C++ Дано два числа А и В (А<В). Вывести в порядке увеличения все целые числа
Даны два числа. Если квадратный корень из второго числа меньше первого числа, то увличить второе число в пять раз с++ C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mockingbird
8 / 8 / 1
Регистрация: 13.01.2012
Сообщений: 19
16.02.2012, 13:17     игра два числа #2
У вас тут а может быть больше, чем b, поэтому может не выполняться ни одно из условий принадлежности интервалу. Не хватает (i>a, i<b). Это как минимум =)
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,888
Записей в блоге: 1
16.02.2012, 13:20     игра два числа #3
вроди бы тут
C++
1
if(i > a || i > b)
-=ЮрА=-
Заблокирован
Автор FAQ
16.02.2012, 13:53     игра два числа #4
nnina, я вижу решение данной задачи вот так
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
58
59
60
61
62
63
64
65
66
67
#include <iostream> 
#include <cstdlib> 
#include <clocale>
#include <string>
#include <ctime>
using namespace std; 
 
string getAnswer(int a, int b, int num)
{
    string otvet = "число совпало с одним из задуманных чисел а, b";
    if(num < a)
        otvet = "число лежит левее интервала (а, b)";
    if(b < num)
        otvet = " число лежит правее интервала (а, b)";
    if(a < num && num < b)
        otvet = "число лежит внутри интервала (а, b)";
    return otvet;
}
 
int main() 
{ 
    setlocale(LC_ALL, "Russian");
    //system("chcp 1251");
    long a, b, fa, fb;
    long nTry;
    time_t t;
    while(true)
    {
        system("cls");
        srand(time(&t));
        a = rand()%256;
        b = rand()%256;
        //Нужно чтобы a < b
        //если єто не так обмениваем а и б
        //между собой
        if(b < a)
        {
            b += a;
            a = b - a;
            b = b - a;
        }
        fa = a + 1;
        fb = b + 1;
        nTry = 0;//Счётчик угадываний
        while(fa != a || fb != b)
        {
            cout<<"Программа сгенерировала 2 чичла а и б в диапазоне [0;256]\n";
            if(fa != a)
            {
                cout<<"Введите предполагаемое число а : ";cin>>fa;
                cout<<getAnswer(a, b, fa)<<endl;
            }
            else
                cout<<"Число а угадано\n";
            if(fb != b)
            {
                cout<<"Введите предполагаемое число b : ";cin>>fb;
                cout<<getAnswer(a, b, fb)<<endl;
            }
            else
                cout<<"Число b угадано\n";
            nTry = nTry + 1;
        }
        system("pause");
    }
    return 0;
}
Миниатюры
игра два числа  
-=ЮрА=-
16.02.2012, 14:06
  #5

Не по теме:

Ниже отработка алгоритма до момента угадывания 2-х чисел
Программа сгенерировала 2 чичла а и б в диапазоне [0;256]
Введите предполагаемое число а : 50
число лежит левее интервала (а, b)
Введите предполагаемое число b : 100

продолжение
число лежит внутри интервала (а, b)
Программа сгенерировала 2 чичла а и б в диапазоне [0;256]
Введите предполагаемое число а : 75
число лежит левее интервала (а, b)
Введите предполагаемое число b : 85
число лежит внутри интервала (а, b)
Программа сгенерировала 2 чичла а и б в диапазоне [0;256]
Введите предполагаемое число а : 80
число лежит внутри интервала (а, b)
Введите предполагаемое число b : 76
число совпало с одним из задуманных чисел а, b
Программа сгенерировала 2 чичла а и б в диапазоне [0;256]
Введите предполагаемое число а : 76
число совпало с одним из задуманных чисел а, b
Введите предполагаемое число b : 150
число лежит внутри интервала (а, b)
Программа сгенерировала 2 чичла а и б в диапазоне [0;256]
Число а угадано
Введите предполагаемое число b : 200
число лежит правее интервала (а, b)
Программа сгенерировала 2 чичла а и б в диапазоне [0;256]
Число а угадано
Введите предполагаемое число b : 175
число лежит правее интервала (а, b)
Программа сгенерировала 2 чичла а и б в диапазоне [0;256]
Число а угадано
Введите предполагаемое число b : 160
число лежит внутри интервала (а, b)
Программа сгенерировала 2 чичла а и б в диапазоне [0;256]
Число а угадано
Введите предполагаемое число b : 170
число лежит внутри интервала (а, b)
Программа сгенерировала 2 чичла а и б в диапазоне [0;256]
Число а угадано
Введите предполагаемое число b : 171
число лежит внутри интервала (а, b)
Программа сгенерировала 2 чичла а и б в диапазоне [0;256]
Число а угадано
Введите предполагаемое число b : 172
число лежит внутри интервала (а, b)

Программа сгенерировала 2 чичла а и б в диапазоне [0;256]
Число а угадано
Введите предполагаемое число b : 173
число совпало с одним из задуманных чисел а, b
Для продолжения нажмите любую клавишу . . .

nnina
 Аватар для nnina
2 / 2 / 0
Регистрация: 12.11.2011
Сообщений: 69
16.02.2012, 14:20  [ТС]     игра два числа #6
-=ЮрА=-, спасибо! буду разбираться
Yandex
Объявления
16.02.2012, 14:20     игра два числа
Ответ Создать тему
Опции темы

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