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

Некорректная работа cin.fileget() - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить произведение отрицательных элементов массива http://www.cyberforum.ru/cpp-beginners/thread751801.html
Помогите пожалуйста! Надо написать программу в виде функций. Но я себе это как то слабо представляю. Вод задания: В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1.)...
C++ Дана строка, нужно символ в этой строке заменить ее порядковым номером. 2) дана строка, нужно символ в этой строке заменить ее порядковым номером. помогите пожалуйста. http://www.cyberforum.ru/cpp-beginners/thread751796.html
C++ Нужно инвертировать вторую половину строки.
1) нужно инвертировать вторую половину строки. помогите пожалуйста.
Перевести код с Pascal C++
uses crt; const nmax=20; var a:array of integer; n,i,d:integer; f:boolean; begin repeat write('Размер массива до ',nmax,' n='); read(n); until n in ;
C++ Определить координаты вершин прямоугольного треугольника http://www.cyberforum.ru/cpp-beginners/thread751786.html
определить координаты вершин прямоугольника наименьшего периметра содержащего треугольник координаты вершин котрого (x1,y1), (x2,y2), (x3,y3) не могу математически даже вникнуть в условие....
C++ Сравнение и замена символов У меня есть файл с которого я считываю информацию массив. Если встречается определенный символ то мне нужно заменить его на другой. И самой главное мне нужно уже обработанный текст со всеми заменами... подробнее

Показать сообщение отдельно
ninja2
231 / 187 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1

Некорректная работа cin.fileget() - C++

03.01.2013, 18:03. Просмотров 341. Ответов 7
Метки (Все метки)

Здорова господа!!!
Пытаюсь разобраться с потоками ввода/вывода
вот есть код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using std::cout;
using std::endl;
using std::cin;
 
int main()
{
    char s[20];
    cin.getline(s,10);
    cout <<cin.fail()<<endl;
    cin.clear();
    cout <<cin.fail()<<endl;
    
    
    cin.getline(s,10);
    cin.getline(s,10);
    
    cout <<s<<endl;
    
}
Если я ввожу строку больше 10 символов то следующие два оператора cin.getline() не срабатывают.
Если ввожу меньше 10 символов то срабатывают.

Кагда больше 10 ввожу то cin.fail() становится равным 1 . Функцией cin.clear() я вроде бы как очищаю поток,
но всеравно следующие cin.getline() не срабатывают.

Вчем проблема????

Мне вообщем нужно решить задачку проверить строку ввода чтобы в ней было не больше 14 символов и не меньше
с помощью флага failbit но чото ничо не получается ????

HELP!!!!!!!!!!!!!

Добавлено через 1 час 6 минут
мне вообще нужно вручную поменять failbit как мне это сделать и можно ли вообще????

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