Конец файла (EOF) - PullRequest
       0

Конец файла (EOF)

0 голосов
/ 15 марта 2020

Здравствуйте, я написал алгоритм, в котором он печатает последнее число, но мне интересно, как заставить его не печатать значение по умолчанию «число», например (4.94066e-324), когда в консоли / файле не записано число.

#include <iostream>
using namespace std;

int main() {
double number;
for (; cin >> number;);
cout << number; }

Ответы [ 2 ]

2 голосов
/ 15 марта 2020

Один из способов - проверить, успешна или нет первая операция ввода:

#include <iostream>

int main() {
    double number;

    if(std::cin >> number)
    {
        while (std::cin >> number);

        std::cout << number; 
    }
    else 
    {
        std::cout << "There is no number :(";
    }
}

Несколько вещей, которые я здесь изменил:

И, конечно, это можно обобщить на любой std::basic_istream.

0 голосов
/ 15 марта 2020

Вы можете использовать флаг, чтобы проверить, есть ли у вас какие-либо данные, например:

#include <iostream>
using namespace std;

int main() {
    double number;
    bool flag = false;
    for (; cin >> number;)
        flag = true;
    if(flag)
        cout << number; 
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...