С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
23 / 12 / 2
Регистрация: 20.04.2011
Сообщений: 382
1

как определить если пользователь не ввел данные а просто нажал Enter?

26.05.2020, 10:03. Показов 2194. Ответов 5

Author24 — интернет-сервис помощи студентам
C++
1
2
3
4
5
int n,x;
x=0;
cout << " Enter your choice data : ";
cin >> n; 
cout << endl;
и если произошла такая нештатная ситуация, когда вводиться пустое значение,
при этом присвоилось значение 1 в переменную x.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.05.2020, 10:03
Ответы с готовыми решениями:

Как отследить в Edit, что пользователь нажал Enter?
Господа извеняюсь за такой наивный вопрос , но что то совсем не получается сделать . Как отследить...

Запустить обработку событий как только пользователь нажал Enter
На форме есть много контролов, как отловить тот момент когда пользователь нажал Enter в любом из...

Как продолжить выполнение скрипта PHP если пользователь нажал кнопку отмены в браузере?
Доброго времени суток. У меня такой вопрос, как продолжить выполнение скрипта PHP если...

Как определить что пользователь нажал на сообщение (ShowBalloonTip) ?
Как определить что пользователь нажал на сообщение (ShowBalloonTip) ? Пример сообщения : ...

5
4264 / 3323 / 925
Регистрация: 25.03.2012
Сообщений: 12,520
Записей в блоге: 1
26.05.2020, 10:09 2
если просто нажать энтер, консоль продолжит ожидать ввод n
0
23 / 12 / 2
Регистрация: 20.04.2011
Сообщений: 382
26.05.2020, 10:15  [ТС] 3
a как зафиксировать такое событие? - просто когда нажали на ентер но потом ввели повторно любые данные. но само событие нажатия на пустой ентер - изменит переменную x
0
El. Psy. Congroo.
110 / 92 / 32
Регистрация: 09.01.2018
Сообщений: 344
26.05.2020, 10:56 4
Один из возможных вариантов:
C++
1
2
3
4
5
6
7
8
9
int handler (int &data) {
    char buffer[12]; int enter = -1;
    memset(buffer,0,sizeof(buffer));
    *buffer = '\n';
    while (*buffer == '\n') fgets(buffer,sizeof(buffer),stdin), ++enter;
    buffer[strlen(buffer)-1] = '\0';
    data = atoi(buffer);
    return enter;
}
C++
1
2
3
#include <stdio.h>
#include <comdef.h>
#include <string.h>
Добавлено через 31 секунду
Можно и с помощью stl, думаю, поймёте мотив.
1
4264 / 3323 / 925
Регистрация: 25.03.2012
Сообщений: 12,520
Записей в блоге: 1
26.05.2020, 13:26 5
Цитата Сообщение от rolandas Посмотреть сообщение
но само событие нажатия на пустой ентер - изменит переменную x
как это понимать? Я кажется комментом выше ответил, что если ничего не вводить, никакая переменная не изменится.
0
El. Psy. Congroo.
110 / 92 / 32
Регистрация: 09.01.2018
Сообщений: 344
26.05.2020, 13:31 6
Видимо, я неправильно протранслировал суть вопроса.
0
26.05.2020, 13:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.05.2020, 13:31
Помогаю со студенческими работами здесь

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

Как определить, что пользователь ничего не ввел в поле?
Доброго времени суток! Задание такое: &quot;дан файл, содержащий сведения об учениках школ: указывается...

Отобразить PrintDialog, и если пользователь нажал ОК - закрыть отчет
Есть небольшая база данных, призванная облегчить заполнение однотипных бланков: пользователь в...

Как вывести ошибку, если пользователь ввёл в Edit "-"?
Код считает корни квадратного уравнения. В Edit-ы можно вводить отрицательные коэффициенты, но что...

Если пользователь ничего не ввел, выводить error
здравствуйте а какой нужно использовать чтоб если пользователь не чего не ввел выводить error знаю...

Продолжить работу программы если пользователь ничего не ввел
uses crt; var a,x:integer; begin clrscr; a:=77; randomize; writeln(' нажмите 0 для выхода');...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru