Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/24: Рейтинг темы: голосов - 24, средняя оценка - 5.00
21 / 19 / 5
Регистрация: 11.02.2009
Сообщений: 383
1

Оператор ввода

14.02.2009, 22:58. Показов 4382. Ответов 15
Метки нет (Все метки)

мне очень нужна нужна функция или совокупности нескольких, которые без всякого нажатия интер считывали бы нажатие клавиши и записывали бы значение в переменую, причем функция должна работать, не ожидая ввода, а при отсутствии отклика возвращала бы определенное значение. Оооооочень нужна эта чудо вещь.. помогите плиз... весь гугл излазил....

И еще оди н вопросик не втему... как удалить "поврежденный" файлик?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.02.2009, 22:58
Ответы с готовыми решениями:

Оператор ввода
Люди помогите найти оператор ввода для консольного приложения как оператор INPUT в басике...

Условный оператор, оператор ввода/вывода; плоскость и принадлежность точки
Здравствуйте. В С++ я абсолютный новичок, поэтому с первым же заданием возникли определённые...

оператор ввода
помогите плз... мне нужен оператор, ограничивающий количество введенных символов ( в частности как...

Оператор ввода в С++
Мне нужно ввести матрицу в диалоговом режиме,но оператор сin после ввода числа переносит курсор на...

15
Почетный модератор
7385 / 2629 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
14.02.2009, 23:05 2
_kbhit'ом проверяй была ли нажата клавиша, она не задерживается, а сразу возвращает:
ненулеваое значение, если клавиша была нажата,
ноль, если в буфере клавы пусто.
А там делай, что хочешь с тем, что на клаве собралось...
1
21 / 19 / 5
Регистрация: 11.02.2009
Сообщений: 383
14.02.2009, 23:32  [ТС] 3
Vourhey, Спасибо это почти то, что я искал... правда она все таки ожидает ввода... проверил я этим
C
1
2
3
4
5
6
7
8
9
10
{
        printf("Enter the key\n");
        int a=1;
        while (a!=10)
        {
            if (kbhit())
            printf("No key\n");
            else printf ("key %c\n",getch());
      }
    }
ничего не происходит, пока не нажму клавишу. Так что мне бы еще фанкшен, которая смоглабы ограничить время работы этой функции, уверен, есть такая - для С++ нет ничего невозможного может ктонибудь знает такую?

Добавлено через 5 минут 5 секунд
А хотя нет.... нашел... прошу прощения...
C
1
2
3
4
5
6
7
8
9
10
  {
        printf("Enter the key\n");
        int a=1;
        while (a!=10)
        {
            if (kbhit()==0)
            printf("No key\n");
            else printf ("key %c\n",getch());
      }
    }
тогда можете посоветовать фанкшин, которая притормаживает работу проги на время порядка 0.01 сек?
0
1664 / 1133 / 80
Регистрация: 21.08.2008
Сообщений: 4,725
Записей в блоге: 1
14.02.2009, 23:36 4
Цитата Сообщение от -MefistofeL- Посмотреть сообщение
тогда можете посоветовать фанкшин, которая притормаживает работу проги на время порядка 0.01 сек?
Sleep(ms);
0
21 / 19 / 5
Регистрация: 11.02.2009
Сообщений: 383
14.02.2009, 23:39  [ТС] 5
oxotnik, конечно спасибо, но void sleep (int seconds) а мне, как я уже сказал парядка 0.01 секунды нужно
0
Почетный модератор
7385 / 2629 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
14.02.2009, 23:40 6
к сожалению, функции, которая притормаживает работу на 0.01 сек нет ( и на 0.1 тоже нет (
есть функция sleep, параметры у нее миллисекунды, на которые нужна задержка.
0
21 / 19 / 5
Регистрация: 11.02.2009
Сообщений: 383
14.02.2009, 23:41  [ТС] 7
oxotnik, вот void usleep (int micro_seconds) спасибо за дачу направления))
0
1664 / 1133 / 80
Регистрация: 21.08.2008
Сообщений: 4,725
Записей в блоге: 1
14.02.2009, 23:41 8
если под виндами:
Код
VOID Sleep(

    DWORD dwMilliseconds     // sleep time in [B]milliseconds [/B]
   );
0
21 / 19 / 5
Регистрация: 11.02.2009
Сообщений: 383
15.02.2009, 00:04  [ТС] 9
Vourhey, oxotnik, черт(( а в какой либе находится эта слиип? и юслиип.. не знаете?

Добавлено через 3 минуты 21 секунду
Цитата Сообщение от oxotnik Посмотреть сообщение
если под виндами:
Код
VOID Sleep(

    DWORD dwMilliseconds     // sleep time in [B]milliseconds [/B]
   );
хм... а поподробнее можно?
0
Почетный модератор
7385 / 2629 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
15.02.2009, 00:07 10
Мне че-то кажется, что ты работаешь в каком-нить турбо С. Тогда там нет sleep, а есть функция delay. Если в MSVC, то, как ни странно, что WINAPI функция Sleep станет доступна после подключения windows.h )
0
1664 / 1133 / 80
Регистрация: 21.08.2008
Сообщений: 4,725
Записей в блоге: 1
15.02.2009, 00:08 11
#include <winbase.h>
0
Почетный модератор
7385 / 2629 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
15.02.2009, 00:08 12
Цитата Сообщение от -MefistofeL- Посмотреть сообщение
Vourhey, oxotnik, черт(( а в какой либе находится эта слиип? и юслиип.. не знаете?

Добавлено через 3 минуты 21 секунду


хм... а поподробнее можно?
а поподробнее можно и самому попробовать найти. Хотя бы, десять минут выделить. А то человек ответил, ты даже не смотрел, а уже...эх...молодежь
0
21 / 19 / 5
Регистрация: 11.02.2009
Сообщений: 383
15.02.2009, 00:34  [ТС] 13
Vourhey, нет)) у меня вижул... и с виндоус.аш не работает((

а когда подключаю #include<winbase.h> камп выводит кучу шибок в нем... что ему не хватает? не подскажете?

Vourhey, и искал.. скачал либы 4-5 в итоге одна из них выдока кучу ошибок..

Добавлено через 7 минут 2 секунды
для winbase никакой зависимости дополнительной не нужно?
0
Почетный модератор
7385 / 2629 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
15.02.2009, 00:37 14
Че там не проходит? Ну включи голову-то Вот этот код:
C++
1
2
3
4
5
6
#include<windows.h>  
   
 void main()  
 {  
     Sleep(2000);
 }
отлично скомпилится и задержит прогу на 2 секунды.
Да потому что в проге winbase.h и не должен подключаться, компилиться не будет. Открой MSDN, да посмотри.
1
21 / 19 / 5
Регистрация: 11.02.2009
Сообщений: 383
15.02.2009, 00:43  [ТС] 15
Vourhey, странно...неужели название библиотеки неправильно прописал?... но она на либу не ругалась... ладно... прошу прощения.. виноват.. огромное спасибо
0
Почетный модератор
7385 / 2629 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
15.02.2009, 00:48 16
-MefistofeL-, со всеми бывает
декларации winapi раскиданы по кучам модулей: winbase.h, winuser.h, но доступ к ним идет через одну дверь: windows.h. Но не все, конечно.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.02.2009, 00:48

Перегрузка оператор ввода
Перегрузите оператор ввода &gt;&gt; вводящий дробь. Вводится числитель, после чего проверяется, если...

Перегруженный оператор ввода
Почему ошибка при попытке вывести результат сложения двух матриц? #include &lt;iostream&gt; using...

Перегруженный оператор ввода
Всем привет, как правильно создать перегруженный оператор ввода для инициализации данных об обьекте...

Как перегрузить оператор ввода?
Как перегрузить оператор ввода? rational.h #define _Rational_h_ #include &lt;iostream&gt; ...


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

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

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