Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Ошибки потоков - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Библиотека <algorithm> в [c++] http://www.cyberforum.ru/cpp-beginners/thread181767.html
Библиотека <algorithm> в как она работает? если можно то с примерами.
C++ вычислениесумма ряда Вычисление текущих значений Y(x) и S(x) (где x принадлежит диапазону ) реализовать в виде отдельных функций. При выполнении задания продемонстрировать следующие способы передачи аргументов в... http://www.cyberforum.ru/cpp-beginners/thread181760.html
Найти числа, делящиеся на каждую из своих цифр C++
1!. Написать программу, которая на заданном отрезке натурального ряда чисел находит: 1. все простые числа; 2. все близнецы; 3. все совершенные числа; 4. все...
Найти число пар соседних элементов массива C++
Дан двумерный массив. Найти число пар соседних элементов. В качестве соседних элементов расссматривать 1 только элементы расположенные в одной строке 2 только элементы расположенные в одном столбце...
C++ Символ в число http://www.cyberforum.ru/cpp-beginners/thread181731.html
есть масив символов: njd6gr7ds3 нужно присвоить значение 6 переменной типа инт как это сделать? char mas = {'n', 'p', '7', 'Q'}; int digit;
C++ Удаление из строк В символьной строке удалить все слова состоящие из нечётного количества букв. подробнее

Показать сообщение отдельно
LineStown
66 / 66 / 3
Регистрация: 04.08.2010
Сообщений: 420
Завершенные тесты: 1

Ошибки потоков - C++

27.10.2010, 10:29. Просмотров 741. Ответов 3
Метки (Все метки)

День добрый.
Проблема с определением ошибки ввода потока
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
25
26
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
    setlocale(LC_ALL,"Russian");
    int a;
    while(true)
    {
        cout << "Input:";
        cin >> a;
        if(cin.good())
        {
            cin.clear();
            cout << "Correct" << endl;
            cin.ignore(10,'\n');
        }
        else
        {
            cin.clear();
            cout << "Not correct" << endl;
            cin.ignore(15,'\n');
        }
    }
    return EXIT_SUCCESS;
}
Суть: программа проверяет: если введено число - то правильно, иначе ошибка.
Но строку типа "2e2" - программа определяет как верное число.
Может я, конечно, не правильно понял значение cin.good()\
Хотелось бы услышать ваше мнение

Добавлено через 21 час 24 минуты
Мдя, не понятно, как работает флаг ошибки потока
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru