Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
5 / 5 / 0
Регистрация: 16.01.2011
Сообщений: 94

Очередной запрет ввода

25.02.2011, 07:36. Показов 1223. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Можно ли сделать так, чтобы при вводе (cin) программа никак не реагировала на нажатие кнопок? Например игнорировала определенные символы или не реагировала на бэкспэйс.

P.S: С getche() в этом плане уже немного разобрался - ненужные символы легко затираются пробелами в условных операторах, хотя мне кажется что это не совсем рационально.

Добавлено через 18 часов 45 минут
Чтото все молчат... Нельзя, стало быть? Неужели единственный выход - писать свою версию cin'а, без бэкспэйса?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.02.2011, 07:36
Ответы с готовыми решениями:

Очередной по getline() или потоки ввода
Всем привет! :drink: Ребятки, такая трабла, прога добавляет студентов в группу, при добавлении 2го...

Запрет ввода букв
#include "pch.h" #include <iostream> #include <stdlib.h> #include <iostream> using namespace...

Запрет ввода в консоли
Ребят, привет. Сейчас пишу змейку в консоли. Написано относительно мало. Тут столкнулся с...

3
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
25.02.2011, 14:43
Стандартных средств для этого нет. Как это сделать зависит от используемой операционной системы.
0
5 / 5 / 0
Регистрация: 16.01.2011
Сообщений: 94
25.02.2011, 16:32  [ТС]
Цитата Сообщение от rangerx Посмотреть сообщение
Стандартных средств для этого нет. Как это сделать зависит от используемой операционной системы.
А пример можете привести? Допустим, в одну програму пишем в хр, другую в freebsd. В чем конкретно будут заключаться различия в реализации? Можно ли предусмотреть кроссплатформенность и в зависимости от используемой операционной системы программно избрать тот или иной способ?
0
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
25.02.2011, 17:04
Через WinAPI могу пример показать, но естественно ни о какой кроссплатформенности речи идти не может.

Добавлено через 8 минут
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 <iostream> 
#include <windows.h>
using namespace std;
const int C=20;
int main() {
 HANDLE hstd=GetStdHandle(STD_INPUT_HANDLE);
 INPUT_RECORD IR[C];
 DWORD read;
 while(PeekConsoleInputA(hstd,IR,c,&read)){
         bool F=false;
         for(int i=0;i<read;i++){
         if(IR[i].EventType==KEY_EVENT) && IR[i].Event.KeyEvent.wVirtualKeyCode==VK_SPACE){
                 cout<<endl<<"You press space"<<endl;
                 system("pause");
                 F=true;
                 break;}
         }
         if(F)break;
         cout<<"Press any key..."<<endl;
         Sleep(1000);
 }
 return 0;
}
Низкоуровневая ф-ции консольного ввода, считывает нажатую клавишу из буфера консоли (без эха), в твоем случае можно проверять была ли нажата клавиша бэкспэйс и игнорировать ее, если нажата другая клавиша, то "пропускать" ее дальше.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.02.2011, 17:04
Помогаю со студенческими работами здесь

Запрет ввода чисел
необходимо в калькуляторе сделать запрет ввода числа, через кеу не получается.вот полный код...

Запрет ввода букв
Вчера пробовал написать калькулятор. Но в нем можно вводить и буквы и цифры. Что надо допасать в...

Запрет ввода в консольном приложении
Здравствуйте! Мне необходимо осуществить следующую задачу: 1) Запретить пользователю ввод...

Запрет ввода русских букв....
Ребят подскажите как сделать запрет на использование русских букв в консоли, т.е если вводишь...

Запрет ввода числа с точкой
Как запретить ввод десятичных чисел? Напрягает, из-за этого прога падает. Плюс, не нашел вариантов...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru