Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

cin and cout

70K
19 июня 2011 года
yarikdudar
5 / / 19.06.2011
Не работает поток вывода информации на экран (

Вот код программы:

#include "stdafx.h"
#include <iostream>
using namespace std;
int main ()
{
float rad;
const float PI=3.14159F;
cout << "Введите радиус окружности: ";
cin >> rad;
float area =PI*rad*rad;
cout << "Площа круга равна:"<< area<<endl;
cin.get();
return 0;
}

Значит что отображается после компилирования:
Срабатывает оператор cout после этого ожидается ввод данных , и вот тут как только я ввожу цифру нажимаю ENTER программа сразу завершается , тоесть не срабатывает второй оператор cout , работаю в среде разработки Visual Studio 10.0, подскажите в чем проблема?
278
19 июня 2011 года
Alexander92
1.1K / / 04.08.2008
1. Давай пользоваться культурной терминологией, cout - это не оператор.
2. Из того, что программа завершается после ввода данных, не следует, что не отрабатывает вывод. Из этого следует только, что _может_ не отрабатывать строка cin.get().
3. Код правильный. У меня запускается и работает без проблем (проверил в борланде и в VS 2008). Ищи проблему в своей студии.

P.S. А какое значение ты вводишь?
247
19 июня 2011 года
wanja
1.2K / / 03.02.2003
Поставь еще один cin.get().
278
19 июня 2011 года
Alexander92
1.1K / / 04.08.2008
wanja, зачем? Это ж не решение проблемы, просто "авось сработает". Лично я, например, не вижу пока, почему может не работать код, приведенный ТС...
316
19 июня 2011 года
Alm3n
889 / / 29.05.2009
может, в потоке ввода что-то остается. вот flush() можно было бы написать.
7
19 июня 2011 года
@pixo $oft
3.4K / / 20.09.2006
Да,это бородатая проблема.Когда я работал с ReadConsole,там возникала такая же фигня:если ввести больше ожидаемого,то оставшаяся часть будет в буфере до следующего вызова ReadConsole,и передастся ей как данные.Очень неудобно,скажу вам
Так что действительно,по ходу,надо flush()
70K
20 июня 2011 года
yarikdudar
5 / / 19.06.2011
Ввожу цифры от 0 до 100 random
316
20 июня 2011 года
Alm3n
889 / / 29.05.2009
а буффер чистишь? запихини после cin.get какой-нибудь cout, открой консоль и запусти оттуда, посмотри, действительно ли программа вылетает на середине или все же завершается нормально.
7
20 июня 2011 года
@pixo $oft
3.4K / / 20.09.2006
К чему все эти debug prints?Будто отладчика нет и step-by-step execution…:facepalm:
316
20 июня 2011 года
Alm3n
889 / / 29.05.2009
человек, который умеет пользоваться отладчиком и понимает, что там написанно, не будет создавать таких тем, ИМХО.
70K
21 июня 2011 года
yarikdudar
5 / / 19.06.2011
wanja ты был прав я поставил еще один cin.get() и заработало, ребятки о чем это говорит, я как начинающий не могу сам понять )
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог