С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.76/50: Рейтинг темы: голосов - 50, средняя оценка - 4.76
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452

Cout не выводит информацию на экран

26.04.2015, 14:00. Показов 10242. Ответов 31
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго дня !!!

Столкнулся с одной непонятной мне проблемой.

На экран cout не выводит сообщение , зато printf работает как надо..

В чем может быть проблема ?

Главное в борланде cout работает , а в Microsoft Visual C++ 6.0 нет

Заранее спасибо !!!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream.h>
#include <conio.h>
 
 
 
int main()
 
{
    int x=5, y=4;
    
    cout << "Hello, world! " << x+y;
 
    
    
    getch();
 
    return 0;
 
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.04.2015, 14:00
Ответы с готовыми решениями:

Выводит на экран сразу два cout
На экран выводит сразу две строки. Как решить эту проблему? #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; ...

Компилятор выводит на экран переменные, которые я даже не прописывал в cout
Предыдущее задание, которое я выполнял, выглядело так. (найти номер первой строки с положительным элементом в ней. Здесь все работает,...

Подскажите почему после первого cout программа не останавливается для ввода строки, а выводит второй cout
Подскажите почему после первого cout программа не останавливается для ввода строки, а выводит второй cout. Это фрагмент со структурами: ...

31
0 / 0 / 0
Регистрация: 26.04.2015
Сообщений: 12
26.04.2015, 14:04
Перед main напиши using namespace std;
или перед cout std::
(т.е. std::cout << "Hello, world! " << x+y
Ты не указал пространство имен, поэтому не работает.
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
26.04.2015, 14:08
Zloo, в данном случае оно(пространство имен) не нужно, т.к. в файле <iostream.h> его нет.
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
26.04.2015, 14:08  [ТС]
Спасибо Вам большое !!!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <conio.h>
 
 using namespace std;
 
int main()
 
{
    int x=5, y=4;
    
    cout << "Hello, world! " << x+y;
 
    
    
    getch();
 
    return 0;
 
}
в учебнике про это нечего не упомянули даже (((

почему же в борланде все было хорошо ?
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
26.04.2015, 14:12
RAFA91, замените заголовок <iostream.h> на <iostream> и измените код так, как написал Zloo.

Добавлено через 3 минуты
Цитата Сообщение от RAFA91 Посмотреть сообщение
почему же в борланде все было хорошо ?
Борланд использует старые заголовочные файлы, которые MS уже не поддерживает. А в книге может быть не написано, если книга выпущена раньше 2003-2005(если мне память не изменяет).
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
26.04.2015, 14:15
Думаю, дело в том, что нету перевода строки, а из-за внутренней буферизации текст остался в буфере но не вывелся на экран

C++
cout << "Hello, world! " << x+y << endl;
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
26.04.2015, 14:46  [ТС]
когда в заголовке <iostream> ставлю букву h по традиции - то получаю ошибку.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
26.04.2015, 14:56
Цитата Сообщение от RAFA91 Посмотреть сообщение
когда в заголовке <iostream> ставлю букву h по традиции - то получаю ошибку
Все эти махинации с iostream или std к делу отношения не имеют. У тебя программа скомпилировалась и запустилась - значит дело не в этом. Явная проблема с переводом строки в исходнике видна - проверь и не мучайся
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,853
26.04.2015, 15:01
Цитата Сообщение от Evg Посмотреть сообщение
У тебя программа скомпилировалась и запустилась
Цитата Сообщение от RAFA91 Посмотреть сообщение
когда в заголовке <iostream> ставлю букву h по традиции - то получаю ошибку.
RAFA91,
могу предложить такой костылек
самому реализовать
iostream.h
C++
1
2
#include <iostream>
using namespace std;
собственно Борланд так и сделал
1
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
26.04.2015, 15:32  [ТС]
ну ниче - буду привыкать к новой строки using namespace std;
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
24.06.2015, 13:02  [ТС]
Всем доброго дня !

Подскажите пожалуйcта почему не работает оператор <<, когда я его обьявляю методом класса ?

Получаю 1 ошибку (((

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <stdio.h>
#include <conio.h>
#include<iostream>
 
using namespace std;
 
 
 
class Rafa
 
{
 
private:
    
    int x;
 
public:
 
    Rafa()  {}
 
    Rafa(int a) : x(a) {}
 
    ~Rafa() {}
    
    int ana() const {return x;}
 
    Rafa & operator = (const Rafa &rhs)
 
    {
        if(this == &rhs) return *this;
 
        x = rhs.x;
 
        return *this;
    }
 
    Rafa(const Rafa &rhs) : x(rhs.x) {}
 
    ostream & operator << (ostream & output)
    
    {
        output << "\n" << x <<"\n";
        
        return output;
    }
 
};
 
 
int main()
 
{
    
    Rafa P(90100);
 
    printf("\n***** P = %p \n",&P);
 
    cout << P;
    
    getch();
 
    return 0;
}
работает только как друг класса.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <stdio.h>
#include <conio.h>
#include<iostream>
 
using namespace std;
 
 
 
class Rafa
 
{
 
private:
    
    int x;
 
public:
 
    Rafa()  {}
 
    Rafa(int a) : x(a) {}
 
    ~Rafa() {}
    
    int ana() const {return x;}
 
    Rafa & operator = (const Rafa &rhs)
 
    {
                if(this == &rhs) return *this;
 
        x = rhs.x;
 
        return *this;
    }
 
    Rafa(const Rafa &rhs) : x(rhs.x) {}
 
    friend ostream & operator << (ostream & output, const Rafa &rhs);
 
};
 
ostream & operator << (ostream & output, const Rafa &rhs)
 
{
        output << "\n" <<rhs.x <<"\n";
        
    return output;
}
 
 
 
int main()
 
{
    
    Rafa P(90100);
 
    printf("\n***** P = %p \n",&P);
 
    cout << P;
    
    getch();
 
    return 0;
}
0
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
24.06.2015, 14:19
Цитата Сообщение от RAFA91 Посмотреть сообщение
почему не работает оператор <<, когда я его обьявляю методом класса ?
Потому, что объект ostream должен быть левым операндом, а объект Rafa - правым. А в случае с методом, получается наоборот.
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
24.06.2015, 15:27  [ТС]
Цитата Сообщение от DrOffset Посмотреть сообщение
Потому, что объект ostream должен быть левым операндом, а объект Rafa - правым. А в случае с методом, получается наоборот.
с методом значит не получится ? или нужно поменять местами
C++
1
ostream & output, const Rafa &rhs
0
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
24.06.2015, 17:24
Цитата Сообщение от RAFA91 Посмотреть сообщение
с методом значит не получится ?
Не получится. У метода левый операнд - это всегда сам объект (Rafa). А нужно, чтобы был ostream. Поэтому не получится.
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
24.06.2015, 20:57
Цитата Сообщение от DrOffset Посмотреть сообщение
Поэтому не получится.
Если писать привычно, то не получится:
Цитата Сообщение от RAFA91 Посмотреть сообщение
cout << P;
, а так получится:
C++
1
P << cout;
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,853
24.06.2015, 21:01
Цитата Сообщение от lss Посмотреть сообщение
P << cout;
тогда уж переопределить другой оператор и писать
C++
1
P >>cout;
все логичней будет
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
24.06.2015, 22:05
Цитата Сообщение от ValeryS Посмотреть сообщение
все логичней будет
Логичней - с одной стороны, нелогичней - с другой стороны.
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
25.06.2015, 12:54  [ТС]
Всем спасибо ! Тогда уж лучше сделать другом, а то

P >>cout; как то некрасиво выглядит.
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
21.11.2015, 16:08  [ТС]
Добрый день !
Подскажите пожалуйста какой параметр нужно передать в конструктор ostream чтобы иметь возможность выводить данные ?

C++
1
2
ostream k(???????);
    k<<"hjgjhjh jh jhjh jhgjh gjhgjhg jh";
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
21.11.2015, 16:12
Цитата Сообщение от RAFA91 Посмотреть сообщение
Добрый день !
Подскажите пожалуйста какой параметр нужно передать в конструктор ostream чтобы иметь возможность выводить данные ?
http://www.cplusplus.com/refer... m/ostream/
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.11.2015, 16:12
Помогаю со студенческими работами здесь

Не выводит информацию на экран
Доброго времени суток! Народ не могу понять, не выводит информацию в браузерах IE и Firefox, в Chrome и Opera все ок. Имеется вот такой код...

Составить программу, которая выводит на экран справочную информацию об управляющих последовательностях ESC
Короче такое задание и я хз что с ним делать, добрые форумчане помогите! Составить программу, которая выводит на экран справочную...

Создать компонент – потомок Tbutton, который получает и выводит на экран информацию о рабочей станции.
Создать компонент – потомок Tbutton, который получает и выводит на экран информацию о рабочей станции. Компонент должен содержать следующие...

Используя подсистему прерываний написать программу, которая выводит на экран информацию о параметрах НЖМД
Используя подсистему прерываний написать программу, которая выводит на экран информацию о параметрах НЖМД. $ 13 - дисковые службы ...

Используя подсистему прерываний, написать программу, которая выводит на экран информацию о параметрах НЖМД
Используя подсистему прерываний написать программу, которая выводит на экран информацию о параметрах НЖМД. $ 13 - дисковые службы ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru