Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.76/50: Рейтинг темы: голосов - 50, средняя оценка - 4.76
Заблокирован
1

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

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

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

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

На экран 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.04.2015, 14:00
Ответы с готовыми решениями:

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

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

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

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

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

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
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
26.04.2015, 14:12 5
RAFA91, замените заголовок <iostream.h> на <iostream> и измените код так, как написал Zloo.

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

C++
cout << "Hello, world! " << x+y << endl;
0
Заблокирован
26.04.2015, 14:46  [ТС] 7
когда в заголовке <iostream> ставлю букву h по традиции - то получаю ошибку.
0
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
26.04.2015, 14:56 8
Цитата Сообщение от RAFA91 Посмотреть сообщение
когда в заголовке <iostream> ставлю букву h по традиции - то получаю ошибку
Все эти махинации с iostream или std к делу отношения не имеют. У тебя программа скомпилировалась и запустилась - значит дело не в этом. Явная проблема с переводом строки в исходнике видна - проверь и не мучайся
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,520
26.04.2015, 15:01 9
Цитата Сообщение от Evg Посмотреть сообщение
У тебя программа скомпилировалась и запустилась
Цитата Сообщение от RAFA91 Посмотреть сообщение
когда в заголовке <iostream> ставлю букву h по традиции - то получаю ошибку.
RAFA91,
могу предложить такой костылек
самому реализовать
iostream.h
C++
1
2
#include <iostream>
using namespace std;
собственно Борланд так и сделал
1
Заблокирован
26.04.2015, 15:32  [ТС] 10
ну ниче - буду привыкать к новой строки using namespace std;
0
Заблокирован
24.06.2015, 13:02  [ТС] 11
Всем доброго дня !

Подскажите пожалуй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
18840 / 9839 / 2408
Регистрация: 30.01.2014
Сообщений: 17,280
24.06.2015, 14:19 12
Цитата Сообщение от RAFA91 Посмотреть сообщение
почему не работает оператор <<, когда я его обьявляю методом класса ?
Потому, что объект ostream должен быть левым операндом, а объект Rafa - правым. А в случае с методом, получается наоборот.
0
Заблокирован
24.06.2015, 15:27  [ТС] 13
Цитата Сообщение от DrOffset Посмотреть сообщение
Потому, что объект ostream должен быть левым операндом, а объект Rafa - правым. А в случае с методом, получается наоборот.
с методом значит не получится ? или нужно поменять местами
C++
1
ostream & output, const Rafa &rhs
0
18840 / 9839 / 2408
Регистрация: 30.01.2014
Сообщений: 17,280
24.06.2015, 17:24 14
Цитата Сообщение от RAFA91 Посмотреть сообщение
с методом значит не получится ?
Не получится. У метода левый операнд - это всегда сам объект (Rafa). А нужно, чтобы был ostream. Поэтому не получится.
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
24.06.2015, 20:57 15
Цитата Сообщение от DrOffset Посмотреть сообщение
Поэтому не получится.
Если писать привычно, то не получится:
Цитата Сообщение от RAFA91 Посмотреть сообщение
cout << P;
, а так получится:
C++
1
P << cout;
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,520
24.06.2015, 21:01 16
Цитата Сообщение от lss Посмотреть сообщение
P << cout;
тогда уж переопределить другой оператор и писать
C++
1
P >>cout;
все логичней будет
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
24.06.2015, 22:05 17
Цитата Сообщение от ValeryS Посмотреть сообщение
все логичней будет
Логичней - с одной стороны, нелогичней - с другой стороны.
0
Заблокирован
25.06.2015, 12:54  [ТС] 18
Всем спасибо ! Тогда уж лучше сделать другом, а то

P >>cout; как то некрасиво выглядит.
0
Заблокирован
21.11.2015, 16:08  [ТС] 19
Добрый день !
Подскажите пожалуйста какой параметр нужно передать в конструктор ostream чтобы иметь возможность выводить данные ?

C++
1
2
ostream k(???????);
    k<<"hjgjhjh jh jhjh jhgjh gjhgjhg jh";
0
Эксперт С++
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
21.11.2015, 16:12 20
Цитата Сообщение от RAFA91 Посмотреть сообщение
Добрый день !
Подскажите пожалуйста какой параметр нужно передать в конструктор ostream чтобы иметь возможность выводить данные ?
http://www.cplusplus.com/refer... m/ostream/
0
21.11.2015, 16:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.11.2015, 16:12
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru