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

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

Войти
Регистрация
Восстановить пароль
 
n0n4m3r
25 / 25 / 6
Регистрация: 12.10.2013
Сообщений: 183
#1

Игра "Угадай число" - C++

12.10.2013, 02:51. Просмотров 741. Ответов 4
Метки нет (Все метки)

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
#include <iostream>
#include <ctime>
 
using namespace std;
int main(){
    setlocale(LC_ALL,"rus");
    int num, ques, i, menu=1, score=0;
 
    
    do{
    system("cls");
    cout << "Данная игра в угодалку, Вам будет необходимо\nс трех попыток угадать число от 1 до 20" << endl;
    cout << "Раз угадано: " << score;
    i=0;
    srand(time(NULL));
    ques=1+rand()%20;
    do{
        [B]cout << endl << endl << "Введите число от 1 до 20: ";
        while (!(cin >> num)){
            cin.clear();
            while (cin.get() != '\n');
            cout << "Ошибка, введите целое число: ";
        }   [/B]
        if(num>=1 && num<=20)
        {
 
        if(ques!=num){
            i+=1;
            cout << "Число не угадано!" << endl << "Использовано попыток: " << i << endl << endl;
        } else {
            cout << "Вы молодец и справились с задачей, число действительно было " << ques << endl << endl;
            score+=1;
            break;
        }
    
        if(i==3){
        cout << "Вы не угадали, число было " << ques << endl << endl;
        }
    } else{
        cout << "Число должно быть целым, в промежутке от 1 до 20, исправьте число!";
        } 
 
    } while (i<3);
    cout << "Для продолжения введите 1: ";
    cin >> menu;
    
    } while (menu==1);
 
    
    system ("pause");
    return 0;
}
При вводе стринговых значений - впорядке, ошибка отображается, а при вводе флоут значения он проходит цикл и лишь потом отображает ошибку. Не подскажете, с чем может быть связано в выделенной проверке?
Миниатюры
Игра "Угадай число"   Игра "Угадай число"  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.10.2013, 02:51     Игра "Угадай число"
Посмотрите здесь:

Готовая игра "угадай число" - C++
#include &lt;iostream.h&gt; int main () { int x=rnd%256; int d; int masks={0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01}; ...

Игра "Угадай число" - C++
Написал программу угадывания числа. Программа работает, но есть проблема повторного вызова игры. Когда мы угадываем число, программа нам...

Игра "Угадай число" - C++
Помогите написать программу!!!Вот задание: Игра «Угадай число»: составьте программу определения компьютером задуманного человеком числа от...

Игра "Угадай число" - C++
2)Написать программу, которая &quot;задумывает&quot; число в диапазоне от 1 до 10 и предлагает пользователю угадать число за 5 попыток. Ниже...

Игра "Угадай число" - C++
Ребят крч сегодня начал учить c++, задача была сделать игру &quot;Угадай число&quot; с фиксированным числом. Вроде начал делать и я не понимаю просто...

Игра "Угадай число" - C++
Нужно доделать код программы... (Желательно до 24-го числа.. но можно и позже) Задание: напишите программу, которая будет уметь...

Игра "Угадай число" - C++
Здравствуйте,помогите у кого есть время и возможность вообщем задание такое: нужно написать прогу,где юзер вводит любое число ...

Игра "Угадай число" - C++
Пожайлуста, решите задачу на С++ с условием:написать программу, которая &quot;задумывает&quot; число в диапазоне от 1 до 10 и предлагает пользователю...

Исправить ошибки в программе "угадай число" - C++
суть программы, генерирует случайное число от 1 до 1000, запрашивает число и говорит больше или меньше, если введено не число выдаёт...

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

Оптимизация игры "Угадай число" - C++
Буду рад если подскажите что здесь лишние. #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; #include &lt;iostream&gt; ...

Написать программу "Угадай число" - C++
Один из играющих задумывает число от 1 до 1000, другой пытается угадать его за 10 вопросов вида: верно ли, что задуманное число больше...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Модератор
Эксперт CЭксперт С++
7000 / 4171 / 595
Регистрация: 29.11.2010
Сообщений: 11,067
12.10.2013, 04:16     Игра "Угадай число" #2
Как вариант проверки:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
#include <cctype>
#include <algorithm>
#include <cstdlib>
 
int main()
{
    std::string str;
    do
    {
        std::cin >> str;
    } while (!std::all_of(str.begin(), str.end(), isdigit));
    int x = std::atoi(str.c_str());
}
n0n4m3r
25 / 25 / 6
Регистрация: 12.10.2013
Сообщений: 183
12.10.2013, 11:09  [ТС]     Игра "Угадай число" #3
Спасибо, работает, но есть ли возможность вывода ошибки о том, что введены неверные данные?
Tulosba
:)
Эксперт С++
4392 / 3235 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
12.10.2013, 12:03     Игра "Угадай число" #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
    for(;;)
    {
        std::cin >> str;
        if( std::all_of(str.begin(), str.end(), isdigit) )
        {
            break;
        }
        else
        {
            std::cout << "Input digits only" << std::endl;
        }
    }
n0n4m3r
25 / 25 / 6
Регистрация: 12.10.2013
Сообщений: 183
12.10.2013, 12:39  [ТС]     Игра "Угадай число" #5
Спасибо обоим, очень помогли, заработало как было задумано, можно модифицировать дальше!
Yandex
Объявления
12.10.2013, 12:39     Игра "Угадай число"
Ответ Создать тему
Опции темы

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