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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Ruslan4ik89
0 / 0 / 0
Регистрация: 02.10.2011
Сообщений: 4
#1

Исправить ошибки в программе "угадай число" - C++

23.09.2012, 20:41. Просмотров 1182. Ответов 2
Метки нет (Все метки)

суть программы, генерирует случайное число от 1 до 1000, запрашивает число и говорит больше или меньше, если введено не число выдаёт сообщение об ошибке.
В чём ошибка? Когда зарускаю и ввожу число программа 0 эмоций... ничего не делает.. если же ввести символ, а потом число программа работает

C++ (Qt)
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
/*Программа "Угадай число"*/
#include <iostream>
#include <math.h>
#include <time.h>
 
using namespace std;
 
void main()
{   
    setlocale(LC_ALL,"rus");
    int s=0;
    int Chislo;
    srand(time(NULL));
    int n= rand() % 1000 + 1;
    cout << "Введите число от 1 до 1000:";
    do
    {
        cin >>Chislo;
        while (scanf("%d", &Chislo)!=1 || Chislo>1000 || Chislo<0)
        {
            printf("Не корректный ввод, попробуйте снова: ");
            fflush(stdin);
        }
        
        if (Chislo>n)
            cout<<"Введите меньшее число:"<<"\t";
        if (Chislo<n) 
            cout<<"Введите большее число:"<<"\t";
        s++;
    }
    
    while(Chislo!= n);
    
    cout <<"Поздравляю! Вы угадали число за \t"<<s<<"\t"<<"попыток \t"<<"это:"<<Chislo<<endl;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2012, 20:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Исправить ошибки в программе "угадай число" (C++):

Исправить ошибки в программе "Hello, World" - C++
в общем первая программа после hello world на С++ , помогите исправить апшибки пжл п.с. что за тупая система не дает создать тему со...

Game "Угадай число" как зделать запрет на "букви" ???? - C++
Привет всем кто решил помочь. Написал прогру, но есть проблемка, когда ввожу &quot;букву&quot; вся прога беситса как мне зделать так что б он...

"Угадай число" (напишите программу, хочу проверить со своей). - C++
&quot;Угадай число&quot;. Пользователю предлагается отгадать число за 10 попыток. Программа даёт подсказки вида больше, меньше.

Написать игру "Угадай число", используя цикл while - C++
ку,нужно написать игру где компьютер угадывает число допустим за 7 попыток,использовать while.

Реализовать генерацию случайных чисел для игры "Угадай число" - C++
Всем привет!написал код для игры. По условию компьютер должен загадать число от 1 до 100 и пользователь должен отгадать это число за 6...

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

2
Issues
430 / 365 / 37
Регистрация: 06.08.2012
Сообщений: 961
23.09.2012, 20:56 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
удали 18 строку.

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
#include <iostream>
#include <math.h>
#include <time.h>
 
using namespace std;
 
void main()
{   
    setlocale(LC_ALL,"rus");
    int s=0;
    int Chislo;
    srand(time(NULL));
    int n= rand() % 1000 + 1;
    cout << "Введите число от 1 до 1000:";
    do
    {
        while (scanf("%d", &Chislo) !=1 || Chislo > 1000 || Chislo < 0)
        {
            printf("Не корректный ввод, попробуйте снова: ");
            fflush(stdin);
        }
        
        if (Chislo>n)
            cout<<"Введите меньшее число:"<<"\t";
        if (Chislo<n) 
            cout<<"Введите большее число:"<<"\t";
        s++;
    }
    
    while(Chislo!= n);
    
    cout <<"Поздравляю! Вы угадали число за \t"<<s<<"\t"<<"попыток \t"<<"это:"<<Chislo<<endl;
}
1
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
23.09.2012, 20:57 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
cin >>Chislo;
        while (scanf("%d", &Chislo)!=1 || Chislo>1000 || Chislo<0)
у тебя и сin и scanf функции ввода
C++
1
2
3
4
5
6
    scanf("%d", &Chislo);
        while (Chislo>1000 || Chislo<1)
        {   printf("Не корректный ввод, попробуйте снова: ");
            fflush(stdin);
            scanf("%d", &Chislo);
        }
и условие немного не коректно было
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.09.2012, 20:57
Привет! Вот еще темы с ответами:

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

Готовая игра "угадай число" - 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++
Буду рад если подскажите что здесь лишние. #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; #include &lt;iostream&gt; ...

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


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

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

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