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

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

Войти
Регистрация
Восстановить пароль
 
mvgreen
0 / 0 / 0
Регистрация: 08.10.2013
Сообщений: 15
#1

Как сбросить значение kbhit()? - C++

08.10.2013, 18:37. Просмотров 741. Ответов 3
Метки нет (Все метки)

Доброго времени суток. Появилась следующая проблема. Экспериментируя с функцией rand(), написал программу, выводящую случайные числа по нажатию клавиши

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <windows.h>
#include <conio.h>
#include <cstdlib>
#include <ctime>
using namespace std;
int main(){
    SetConsoleCP (1251);
    SetConsoleOutputCP(1251);    
    int magic;
    srand(static_cast< unsigned >(time(0)));
    magic = rand()%101;
    for(;;)
           {
            cout << "Случайное число:" << magic;
            for(;!kbhit(););
            }
    return 0;
}
Однако после первого нажатия клавиши программа генерирует новые случайные числа, не спрашивая. Насколько я понял, программа запомнила значение функции и не сбрасывает его. Подскажите пожалуйста, как сбросить его, либо предложите альтернативное решение задачи. Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2013, 18:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как сбросить значение kbhit()? (C++):

Как использовать функцию Kbhit()? - C++
Как я понял, то функция kbhit() сохраняет значение нажатой клавиши в буфере. Подскажите, как получить это значение из буфера. Мне...

kbhit - C++
Привет всем. kbhit() умеет различать какая клавиша нажата? или для этого уже что то нужно посложнее?

Kbhit() - не определяется - C++
Подпараграф &quot;Вариация на тему цикла for&quot; из книги Шилдта &quot;C++ Базовый курс&quot; предлагает вот такой пример использования функции kbhit(): ...

Функция kbhit - C++
как сделать чтобы функция kbhit реагировала не на любую нажатую клавишу, а только на определенную?

Функция kbhit - C++
Это опять я:) Не работает kbhit Нужно, чтобы во время рисования кривой Гильберта большого порядка пользователь имел возможность...

Аналог kbhit - C++
Подскажите пожалуйста, какую функцию необходимо использовать в С++, чтобы прога поняла, что нажата клавиша на клаве (вместо функции kbhit,...

3
Raali
623 / 327 / 34
Регистрация: 06.07.2013
Сообщений: 1,070
Завершенные тесты: 1
08.10.2013, 18:42 #2
C++
1
2
3
4
5
6
7
#include <conio.h>
 
for(;;)
{
 cout << "Случайное число:" << magic << "\n";
getch();
}
Только обновление числа magic, по видимому, тоже надо в цикл занести
1
scenotaph
120 / 120 / 15
Регистрация: 29.03.2013
Сообщений: 237
08.10.2013, 18:46 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <time.h>
#include <conio.h>
using namespace std;
 
void main() {
    char key = 0;
    setlocale(0,"");
    srand(time(NULL));
    while (key != 27) {//  выход, если ESC
         key = getche();
         cout<<"Случайное число: "<<rand() % 101<<endl;
   }
   system("pause");
}
1
mvgreen
0 / 0 / 0
Регистрация: 08.10.2013
Сообщений: 15
08.10.2013, 18:59  [ТС] #4
Спасибо, разобрался.
0
08.10.2013, 18:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.10.2013, 18:59
Привет! Вот еще темы с ответами:

Ошибка kbhit() - C++
Добрый день, подскажите пожалуйста. При сборке программы выдаёт такую ошибку Ошибка 1 error C4996: 'kbhit': The POSIX name for this...

немогу разобратся с kbhit() - C++
научите как kbhit() юзать? borland 3.1 если на пробел нажимаю(32) вроде нормально выполняет.. а если на кнопку &quot;d&quot; (100) то пару раз...

Очистка буфера kbhit() - C++
Доброго времени суток! Вопрос в следующем. Как очистить буфер функции kbhit? Код такого рода: while (exit==0) { if...

альтернатива kbhit() и getch - C++
А кто подскажет,чем можно заменить kbhit() and getch в коде. Компилятор выдает ошибку,т.к. данные ф-ции устаревшие int i=0; enum...


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

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

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