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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.61
Jekidollar
3 / 3 / 0
Регистрация: 26.03.2009
Сообщений: 50
#1

Ограничение ввода с клавиатуры - C++

11.05.2010, 23:29. Просмотров 2388. Ответов 9
Метки нет (Все метки)

Доброго времени суток.
Ребят такой вопрос:

Как ограничить ввод данных с клавиатуры. Если точнее: прдставте себе что юзер заснул на одной клавише, а потом нажал Enter. Прога от этого виснет. Мне необходимо ограничение ввода. Не проверку на кол-во введенных букв. А ограничение при самом вводе.

Заранее спасибо!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
_Eldar_
44 / 29 / 3
Регистрация: 31.10.2009
Сообщений: 200
12.05.2010, 07:34     Ограничение ввода с клавиатуры #2
Jekidollar, Подключи iomanip и используй setw();
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iomanip>
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int main(){
 
    const int len = 30;
 
    char Word[len];
 
    cout << "\nEnter word: ";
 
    cin >> setw(len) >> Word;
 
    cout << "\n" << Word;
 
    _getch();
 
    return 0;
    
}
Kastaneda
Форумчанин
Эксперт С++
4468 / 2830 / 224
Регистрация: 12.12.2009
Сообщений: 7,200
Записей в блоге: 1
Завершенные тесты: 1
12.05.2010, 08:37     Ограничение ввода с клавиатуры #3
C++
1
cin >> setw(len-1) >> Word;
Нужно байт под '\0' оставить.
_Eldar_
44 / 29 / 3
Регистрация: 31.10.2009
Сообщений: 200
12.05.2010, 08:45     Ограничение ввода с клавиатуры #4
енто да)
Jekidollar
3 / 3 / 0
Регистрация: 26.03.2009
Сообщений: 50
12.05.2010, 23:17  [ТС]     Ограничение ввода с клавиатуры #5
_Eldar_, это не то, что мне нужно
Kastaneda
Форумчанин
Эксперт С++
4468 / 2830 / 224
Регистрация: 12.12.2009
Сообщений: 7,200
Записей в блоге: 1
Завершенные тесты: 1
13.05.2010, 09:14     Ограничение ввода с клавиатуры #6
Цитата Сообщение от Jekidollar Посмотреть сообщение
Не проверку на кол-во введенных букв. А ограничение при самом вводе.
Этот код и есть ограничение при вводе, менятйте кол-во символов на нужное и все.
Jekidollar
3 / 3 / 0
Регистрация: 26.03.2009
Сообщений: 50
13.05.2010, 12:18  [ТС]     Ограничение ввода с клавиатуры #7
Kastaneda, Если Вы не поняли вопрос, то стоит немного подумать перед ответом, а не просто отписываться...
kuroiryuu
314 / 298 / 23
Регистрация: 05.11.2009
Сообщений: 712
Завершенные тесты: 2
13.05.2010, 12:41     Ограничение ввода с клавиатуры #8
Jekidollar, а вам какое ограничение нужно?
на примере можете продемонстрировать?
Kastaneda
Форумчанин
Эксперт С++
4468 / 2830 / 224
Регистрация: 12.12.2009
Сообщений: 7,200
Записей в блоге: 1
Завершенные тесты: 1
13.05.2010, 16:00     Ограничение ввода с клавиатуры #9
Цитата Сообщение от Jekidollar Посмотреть сообщение
Kastaneda, Если Вы не поняли вопрос, то стоит немного подумать перед ответом, а не просто отписываться...
Этот код ограничивает ввод на определенное кол-во символов, т.е. сколько бы юзер не ввел (хоть заснул на клаве), программа считает столько, сколько указанно в len (ну точнее len-1). Если вам нужно такого вида: есть лимит символов, при вводе по истечению лимита последующие нажатые вводятся без эха, могу показать как это выглядет на АСМе, на С++ я таких средств не знаю (но это не значит что их нет)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2010, 18:33     Ограничение ввода с клавиатуры
Еще ссылки по теме:

Автоматизация ввода с клавиатуры C++
Контроль ввода данных с клавиатуры C++
C++ Признак конц ввода (с клавиатуры)
Ограничение ввода арифметических символов C++
C++ Проверка ввода с клавиатуры в функции

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

Или воспользуйтесь поиском по форуму:
promix_17
14 / 14 / 2
Регистрация: 12.05.2010
Сообщений: 43
13.05.2010, 18:33     Ограничение ввода с клавиатуры #10
Есть такие средства)))
cin.getline( buffer*, сколько символов+1 для 0 - конца строки);
//Сколько ещё есть неизведанного)))
Yandex
Объявления
13.05.2010, 18:33     Ограничение ввода с клавиатуры
Ответ Создать тему
Опции темы

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