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

Ошибка при повторном получении данных из потока cin - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Отключение usb портов по отдельности http://www.cyberforum.ru/cpp-beginners/thread642821.html
Вот такая тема: начальство выиграло тендер на поставку компов, компы собрались, доставили, а при сдаче вот такая беда... По условиям договора, в компах должна быть возможность отключения по отдельности каждого usb порта, т.е. к примеру: на материнской плате есть 4 порта, нужно сделать так, чтобы, например, не работал 1 и 4 порт или все кроме 2 порта.... Мне начальство поставило задачу,...
C++ Рекурсия: нахождение чисел Фибоначчи (нужны комментарии) это функция нахождения чисел фибоначи. немогу понять как она работает можите написат как это происходит в программе. отладка много не сказала. int ret(int n) { if(n == 0 || n == 1) return n; return ret(n-1) + ret(n-2); } http://www.cyberforum.ru/cpp-beginners/thread642796.html
Что то типа goto C++
Мне нужно что нибудь похожее на goto... Только мне нужно перескочить из функции в одном файле в функцию другого файла
C++ Описать класс "Массив"
Язык С++ 1.Описать класс "Массив". Методы массива: конструктор с одним параметром - длина массива; ввод и вывод элементов массива; проверка, является ли массив упорядоченным по убыванию; проверка, является ли массив упорядоченным по возрастанию; включение произвольного элемента в массив с сохранением упорядоченности. 2.Объявить массив, ввести значения, проиллюстрировать...
C++ Сортировка вставками http://www.cyberforum.ru/cpp-beginners/thread642710.html
Где-то ошибка в цикле... помогите) ... int array = {3, 2, 1}, min = 0, a = 0, b = 0; ... for(a = 1; a < size; ++a); {
C++ Ошибка. Переопределение параметров в функции Добрый вечер всем! Такая задача: Необходимо составить программу для систем счисления (от 2 до 36) пользователь вводит число в десятичной системе и вводит номер системы. например: число 350 в 8-ричной системе. Программу надо написать через функцию. Сначала я написал через обычную пустую функцию (одним куском кода)-ВСЁ ОТЛИЧНО РАБОТАЕТ. Необходимо написать так что бы сначала шол код... подробнее

Показать сообщение отдельно
Gibboustooth
733 / 201 / 11
Регистрация: 23.06.2011
Сообщений: 440
27.08.2012, 13:37  [ТС]     Ошибка при повторном получении данных из потока cin
Переписал функцию input:

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
vector<int> input()
//Get from cin into vector integer numbers
{
    vector<int> v;
    int temp;
    char c=' ';
    cout<<"Please, enter row of integers, separated with space. To exit press <|>\n";
 
    while(cin&&c!='|') 
    {
        cin>>c;
        if (c!='|') {
            cin.putback(c);
            cin>>temp;
            v.push_back(temp);
        }
    }
    if (cin.eof())
        err("Wrong input!");
    else
        return v;
}
Вроде работает

Спасибо за помощь.

cin.clear(); кстати говоря, не помогал. Не знаю почему.

Добавлено через 37 минут
P.S. Работает, но неправильно. Я, видимо, не вполне понимаю, как работает cin.
На строку "1а2 3" он не становится cin.eof. Зато проверка if (c!='|') работает нормально.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru