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

cout, два стека, нет вывода из второго - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с текстовой строкой http://www.cyberforum.ru/cpp-beginners/thread1023548.html
Здравствуйте уважаемые учасники форума, вот не задача, учусь в университете (1 курс), делал последнее задание на дом, сделал 4 из 5 задач, но последнюю никак не могу. Попалась работа с текстовой...
C++ Перегрузка операций Помогите с лабой пожалуйста, никак сам не сделаю Задача 1 . Создать иерархию типов , описывающую работника и женщину , и работника женщину семейства. Классы должны конструкторы , включая... http://www.cyberforum.ru/cpp-beginners/thread1023544.html
C++ Работа с файлами
Составить программу, реализующую функции указанного ниже меню. Выполнить функциональное разбиение программного кода. Меню программы: 1 – Сформировать с клавиатуры строку и записать в файл...
C++ Как переменную сделать общей для функции
void addChislo(){char type;int a=0; cout<<"Введите тип вашей переменной:"; cin>>type; cout<<"Введите значение переменной типа "<<type<<": "; if(!strcmp(type,"int")){int n=0;cin>>n;} else...
C++ Шаблоны http://www.cyberforum.ru/cpp-beginners/thread1023527.html
ругается на строку "friend class List<T>;", вот что пишет: 1>c:\users\slava\documents\visual studio 2012\projects\string_class\string_class\stringnode.h(7): error C2059: синтаксическая ошибка: <...
C++ Отладка и тестирование приложений в среде Visual Studio 2010 Студию я осваиваю, безусловно интересуют все методы, финты, возможности- в ней присуцтвующие. Как отладить большую сложную прогу скажем на предмет зацикливания, изменения переменных, есл скажем их... подробнее

Показать сообщение отдельно
grayscale
1 / 1 / 1
Регистрация: 12.04.2013
Сообщений: 34

cout, два стека, нет вывода из второго - C++

30.11.2013, 01:27. Просмотров 257. Ответов 4
Метки (Все метки)

Перегрузил оператор вывода:
C++
1
2
3
4
5
6
7
8
9
10
11
ostream& operator<<(ostream &ost, List &list) //Перегрузка оператора вывода
{
    if (list.head != 0)
    {
        (ost << list.head->data
            << endl).flush();
        list.head = list.head->next;
    }
    else ost.setstate(ios_base::badbit);
    return ost;
}
далее, пытаюсь так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    ifstream in("input.txt");
    Queue digits;
    Queue letters;
    char ch;
 
    while (!in.eof())
    {
        in >> ch;
        if (isalpha(ch)) letters.AddToList(ch);
        else if (isdigit(ch)) digits.AddToList(ch);
    }
 
    while (!cout.bad()) cout << letters;
    cout.flush();
    while (!cout.bad()) cout << digits;
    return 0;
из letters вывод есть, из digits нету. Однако, если закомментировать строчку с выводом из letters, то вывод из digits есть. Если после вывода из стека добавить что-нибудь a la cout << "blablalba"; , то блаблабла тоже в вывод не попадет. Очистка буфера, как видите, не помогает. В чем дело? з.ы. Queue наследуется от List
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru