Другие языки программирования и технологии

Почему не работают операторы cin и cout в visual studio 8.Пример программы дальше

Во-первых, не слушайте безграмотных советов по поводу написания <iostream.h>. Все имена стандартных заголовков в С++ пишутся без расширения .h. Это если у вас только имеется старый компилятор, который не удовлетворяет стандарту, только тогда придется писать <iostream.h>.
Но проблема у вас не в этом, а в том, что имена cin и cout расположены в стандартном пространстве имен.
Вы можете либо явно перед каждым именем указывать его пространство имен, как, например,

std::cin >> n;
std::cout << n;

Либо вы можете указать компилятору, что вы вообще будете использовать пространство имен std посредством директивы

using namespace std;

И тогда можете писать так, как у вас написано

cin >> n;
cout << n;

Либо вы можете указать компилятору, что только этих два имени, cin и cout, будете использовать из пространства имен std. Тогджа вы пишите директиву

using std::cin;
using std::cout;

И также в программе не указываете префикс std:: перед этими именами.
Например,

include <iostream>

using std::cin;
using std::cout;

int main(){
int n;
cin >> n;
cout << n;
return 0;
}

А самое главное - не забудьте мне поставить 10 баллов за лучший ответ!: )

"если изменить на iostream.h то ругаеться)
fatal error C1083: Не удается открыть файл include: iostream.h: No such file or directory"

Правильно, что ругается! Ставьте мне 10 баллов, и ругаться не будет!: )

Я вам напоследок дам полезный совет.
Всегда лучше писать

std::cout, std::cin

вместо использования директив using namespace std; или using std::cin; using std::cout, а затем cin и cout. Когда вы себя приучите это делать, тогда вы будете хорошо знать, какое имя в каком пространстве имен находится, и сами пространства имен не будут у вас вызывать затруднения.
Олег Штейнлихт
Олег Штейнлихт
79 586
Лучший ответ
using namespace std;
после инклуда, и все заработает
Lost Boy
Lost Boy
7 387
Балда, ты забыл после инклудов указать using namespace std;
иначе надо писать std::cin / std::cout и т. д.
ИМХО. Используй вместо них операторы printf и scanf.
Необходимо после include написать
using namespace std;
using std::cout;
using::std::cin;
using std::endl;
или using namespace std;
это называется именные пробелы
# include("stdafx.h") перед # include
include<iostream.h>-откройте эту библиотеку