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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Вычислить произведение отрицательных элементов массива http://www.cyberforum.ru/cpp-beginners/thread751801.html
Помогите пожалуйста! Надо написать программу в виде функций. Но я себе это как то слабо представляю. Вод задания: В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1.) произведение отрицательных элементов массива; 2.) сумму положительных элементов массива, расположенных до максимального элемента. Изменить порядок следования элементов в массиве на обратный. А вот...
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
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
03.01.2013, 18:03     Некорректная работа cin.fileget()
Здорова господа!!!
Пытаюсь разобраться с потоками ввода/вывода
вот есть код:
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() вроде не работает
хелп????
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru