0 / 0 / 0
Регистрация: 17.05.2019
Сообщений: 53
1

Игнорирование пустой строки

01.03.2020, 19:45. Показов 2043. Ответов 3

Здравствуйте! Суть моей задачи: проверка правильности ввода. Решил воспользоваться cin.getline(). Если вводить что-либо, то всё прекрасно работает, но если просто нажать enter, то в переменную записывается 0. Как можно игнорировать пустую строку?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
const char *temp = "0123456789-+.";
    unsigned point_count = 0;
    const int N = 256;
    char S[N];
    double X;
    bool flag = false;
 
 
    do{
        std::cin.getline(S, N);
        flag = true;
        for (int i = 0; i < strlen(S); i++){
            if ((i>0) && (S[i] == '+' || S[i] == '-')) flag = false;
            if ((i == 0) && (S[i] == '.')) flag = false;
            if (S[i] == '.') {
                point_count++;
                if (point_count > 1) flag = false;
            }
            if (!strchr(temp, S[i])) flag = false;
        }
        if (flag = false) std::cout << "Ошибка! Введено не число." << std::endl;
    } while (flag = false);
    X = atof(S);
    return X;
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.03.2020, 19:45
Ответы с готовыми решениями:

Считывание пустой строки
юзаю std::cin для считывания в строку std::string, проблема в том что если ничего не вводить, а...

Учет пустой строки
Как сделать учет пустой строки? Допустим, дан файл input со строками не менее 10. Первая строка -...

Считывание пустой строки
Доброго времени! Из Прата еcть такая задача: Следующее упражнение позволит попрактиковаться в...

Добавление пустой строки
Добрый вечер, форумчане) Мне нужно в файл вставить пустую строку (использую библиотеку fstream),...

3
5232 / 2886 / 1208
Регистрация: 07.02.2019
Сообщений: 7,282
01.03.2020, 19:48 2
Лучший ответ Сообщение было отмечено Loginsan4 как решение

Решение

Цитата Сообщение от Loginsan4 Посмотреть сообщение
Как можно игнорировать пустую строку?
(std::cin >> std::ws).getline(S, N);
0
0 / 0 / 0
Регистрация: 17.05.2019
Сообщений: 53
01.03.2020, 19:59  [ТС] 3
Можете пояснить что такое "ws"?
0
5232 / 2886 / 1208
Регистрация: 07.02.2019
Сообщений: 7,282
01.03.2020, 20:27 4
Цитата Сообщение от Loginsan4 Посмотреть сообщение
Можете пояснить что такое "ws"?
https://en.cppreference.com/w/cpp/io/manip/ws
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.03.2020, 20:27
Помогаю со студенческими работами здесь

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

Игнорирование последней строки
Вот то, что нужно: INPUT.TXT 08:59:59: Vasya signed on 09:00:00: Privet! 09:00:31: Privet...

Выход в случае ввода пустой строки
Опять 25 =( Порылся в своих старых темах, опять полистал учебник, но голова не хочет соображать....

Удаление пустой строки в конце файле
Не могу понять как убрать пустую строку в конце файла, помогите реализовать void DeleteRecord()...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru