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

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

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

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

08.10.2013, 18:37. Просмотров 595. Ответов 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;
}
Однако после первого нажатия клавиши программа генерирует новые случайные числа, не спрашивая. Насколько я понял, программа запомнила значение функции и не сбрасывает его. Подскажите пожалуйста, как сбросить его, либо предложите альтернативное решение задачи. Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2013, 18:37     Как сбросить значение kbhit()?
Посмотрите здесь:

немогу разобратся с kbhit() C++
C++ epson xp 207 - как сбросить счетчик
C++ kbhit
Подскажите с функцией kbhit() C++
C++ Работа с while, kbhit() и getch()
C++ Функция kbhit
Очистка буфера kbhit() C++
Ошибка kbhit() C++
C++ Как использовать функцию Kbhit()?
C++ Kbhit() - не определяется
Аналог kbhit C++
альтернатива kbhit() и getch C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Raali
622 / 326 / 34
Регистрация: 06.07.2013
Сообщений: 1,049
Завершенные тесты: 1
08.10.2013, 18:42     Как сбросить значение kbhit()? #2
C++
1
2
3
4
5
6
7
#include <conio.h>
 
for(;;)
{
 cout << "Случайное число:" << magic << "\n";
getch();
}
Только обновление числа magic, по видимому, тоже надо в цикл занести
scenotaph
120 / 120 / 15
Регистрация: 29.03.2013
Сообщений: 237
08.10.2013, 18:46     Как сбросить значение kbhit()? #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");
}
mvgreen
0 / 0 / 0
Регистрация: 08.10.2013
Сообщений: 15
08.10.2013, 18:59  [ТС]     Как сбросить значение kbhit()? #4
Спасибо, разобрался.
Yandex
Объявления
08.10.2013, 18:59     Как сбросить значение kbhit()?
Ответ Создать тему
Опции темы

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