Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Проверка типов данных во входящем потоке


Автор: zetxi815eb 4.11.2008, 15:52
void vvod (int &n, array &A)
{
    ifstream infile(source);
    for (n = 0; !infile.eof(); n++) infile >> A[n];
}

во входном файле:
Код

877624260
216668065
634651342
613047198
570714851
53950051
26886125
336743809
668803580
277383009
                - пустая строка


А в массиве получается

Код

877624260
216668065
634651342
613047198
570714851
53950051
26886125
336743809
668803580
277383009
-858993460


как сделать так, чтобы он не вводил символ, который не является числом, и не приводил его к типу int

Автор: bsa 4.11.2008, 19:16
Код
void vvod (int &n, array &A)
{
    ifstream infile(source);
    for (n = 0; infile; ++n)
         if ( (infile >> A[n]).fail() )
             break;
}

Автор: zetxi815eb 4.11.2008, 20:30
bsa, спасибо огромное

Автор: bsa 4.11.2008, 21:32

M
bsa
Если проблема исчерпана помечай тему решенной

Автор: zetxi815eb 4.11.2008, 22:28
\/

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)