С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 77, средняя оценка - 4.64
Ketler
0 / 0 / 0
Регистрация: 02.07.2011
Сообщений: 15
#1

Ошибка "C2065: cin: необъявленный идентификатор" - C++

13.10.2011, 00:01. Просмотров 11774. Ответов 14
Метки нет (Все метки)

Задан исходный код лабораторной работы по программированию. Нужно модифицировать код по определенным правилам (в зависимости от варианта). Но при попытке скомпилировать в
Visual Studio 2010 выдает ошибку типа Ошибка "error C2065: cin: необъявленный идентификатор" .
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
67
68
69
70
71
72
73
74
75
76
77
78
#include <iostream.h>
#include <stdlib.h>
#include <iomanip.h>
using namespace std;
 
struct CH
{
  int k;
  CH *ptr;
};
 
CH * aadd_stek( CH *);
CH * del_stek ( CH *);
void main()
{
  CH *beg=NULL;
  char c;
  while(1)
  {
    cout << "\n\n1. Добавление элемента в cтек\n";
    cout << "2. Выборка элемента из стека\n";
    cout << "3. Выход из программы\n";
    cout << "Ваш выбор:";
    cin >> c;
    switch(c)
    {
      case '1':
    beg=aadd_stek(beg);
    break;
      case '2':
    beg=del_stek(beg);
    break;
      case '3':
    return;
     }
   }
}
 
CH * aadd_stek( CH *first)
{
  CH *r;
  int m;
  cout << "Введите целое число=";
  cin >> m;
  // выделяем динамическую память
  r = new (CH);
  if ( r == NULL)
  {
    cerr << "Ошибка выделения динамической памяти\n";
    exit(1);
  }
  // заносим в дин. память введенное число
  // и адрес вершины стека (предыдущего эл-та)
  r->k = m;
  r->ptr = first;
 
  // теперь r стал вершиной стека
  // поэтому возвращаем его из функции
  // если выполнить first = r
  // то тогда можно возвратить first
 
  return r;
}
 
CH * del_stek ( CH *first)
{
  CH *r;
  if (first == NULL)
    cout << "Стек пуст. Выбирать нечего.\n";
  else
  {
    r=first;
    first = first->ptr;  // перешли на предшествующий элемент
    cout << "Из стека выбран эл-т = " << r->k << endl;
    delete r;
  }
  return first;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2011, 00:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка "C2065: cin: необъявленный идентификатор" (C++):

Как исправить ошибку "error C2065: cin: необъявленный идентификатор" ? - C++
Получил задание: &quot;Дана матрица чисел: а. Вычислить сумму элементов, которые образуют символ по варианту.&quot;. Написал программу, но ни VS,...

Сортировка одномерного массива и ошибка "error C2065: _ необъявленный идентификатор" - C++
Препод дал пример кода по сортировке одномерного массива, я его набрал в MV c++ 2010, и мне выдаёт вот такое. #include &quot;stdio.h&quot;...

Ошибка "C2065: сout: необъявленный идентификатор" - C++
Привет! Создала свою первую программу,правда с помощью книги. Вылезла ошибка: \convert_main.cpp(32) : error C2065: сout: необъявленный...

Ошибка "C2065: cout: необъявленный идентификатор" - C++
error C2065: cout: необъявленный идентификатор не пойму почему? #include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;stdlib.h&gt; ...

Ошибка "C2065: cout: необъявленный идентификатор" - C++
Пишу заголовочный файл. В нем используются cout. Подключены библиотеки и пространство имен. Не понятно, почему возникает 2065 ...

Ошибка "C2065: Out: необъявленный идентификатор" - C++
Вообщем, помогите начинающему. Вот такие ошибки при компиляции: Вот кусок кода, на который он ругается string Rank = string(); ...

14
Mut
5 / 5 / 0
Регистрация: 12.10.2011
Сообщений: 46
13.10.2011, 00:10 #2
исправь
C++
1
2
3
#include <iostream.h>
#include <stdlib.h>
#include <iomanip.h>
на
C++
1
2
3
4
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
#include <iomanip>
0
Chelioss
180 / 180 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
13.10.2011, 00:13 #3
Вот это
C++
1
#include "stdafx.h"
писать не надо.
0
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
13.10.2011, 00:18 #4
и
C++
1
#include <cstdlib>
0
Mut
5 / 5 / 0
Регистрация: 12.10.2011
Сообщений: 46
13.10.2011, 00:19 #5
моя студия без этого
C++
1
#include "stdafx.h"
ругается в стиле
C++
1
2
3
4
Ошибка  4   error C1010: непредвиденный конец
 файла во время поиска предкомпилированного заголовка.
 Возможно, вы забыли добавить директиву "#include "StdAfx.h"" в источник.
    d:\программирование\ооп\lab11\lab11\anote.cpp   21
0
Chelioss
180 / 180 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
13.10.2011, 00:22 #6
Цитата Сообщение от Mut Посмотреть сообщение
моя студия без этого
Значит у вас что-то не так сделано.
Этот файл не требуется для этой программы.
0
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
13.10.2011, 00:23 #7
Цитата Сообщение от Chelioss Посмотреть сообщение
Значит у вас что-то не так сделано.
Этот файл не требуется для этой программы.
нужно создать "Пустой проект" а не консольный
0
fasked
Эксперт С++
4952 / 2532 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
14.10.2011, 10:42 #8
Цитата Сообщение от Net_Wanderer Посмотреть сообщение
нужно создать "Пустой проект" а не консольный
Достаточно будет выключить опцию использования предкомпилируемых заголовков.
0
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
14.10.2011, 13:43 #9
Лучше
C++
1
2
3
#include <iostream>
#include <cstdlib>
#include <iomanip>
прописать в stdafx.h и из cpp убрать
если уж используем прекомпиленные хедеры.
0
-=ЮрА=-
Заблокирован
Автор FAQ
14.10.2011, 15:20 #10
Ketler, 1-й подводный камень для успешной компиляции в 2010 студии состоит в том что в ваше программе использован старый стиль заголовков
Цитата Сообщение от Ketler Посмотреть сообщение
#include <iostream.h>
#include <stdlib.h>
#include <iomanip.h>
Как сказал
gooseim, вам следует осуществить такую запись для подключения хедеров
C++
1
2
3
#include <iostream>
#include <cstdlib>
#include <iomanip>
Но также в вашем коде операторы ввода вывода идут без std::!
std::cout<< и std::cin>> такая запись уже не вызовет ошибок при компиляции в 2010 студии

Добавлено через 4 минуты
Цитата Сообщение от Ketler Посмотреть сообщение
void main()
- это тоже не кашерно для С++, странно что никто ваше внимание не это не обратил!
Ниже подправленный код
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
67
68
69
70
71
72
73
74
75
76
77
78
79
#include <iostream>
#include <cstdlib>
#include <iomanip>
using namespace std;//Можно исключить, но можно и с єтой строкой
 
struct CH
{
  int k;
  CH *ptr;
};
 
CH * aadd_stek( CH *);
CH * del_stek ( CH *);
int main()
{
  CH *beg=NULL;
  char c;
  while(1)
  {
    std::cout << "\n\n1. Добавление элемента в cтек\n";
    std::cout << "2. Выборка элемента из стека\n";
    std::cout << "3. Выход из программы\n";
    std::cout << "Ваш выбор:";
    std::cin >> c;
    switch(c)
    {
      case '1':
        beg=aadd_stek(beg);
        break;
      case '2':
        beg=del_stek(beg);
        break;
      case '3':
        return;
     }
   }
  return 0;
}
 
CH * aadd_stek( CH *first)
{
  CH *r;
  int m;
  std::cout << "Введите целое число=";
  std::cin >> m;
  // выделяем динамическую память
  r = new (CH);
  if ( r == NULL)
  {
    cerr << "Ошибка выделения динамической памяти\n";
    exit(1);
  }
  // заносим в дин. память введенное число
  // и адрес вершины стека (предыдущего эл-та)
  r->k = m;
  r->ptr = first;
 
  // теперь r стал вершиной стека
  // поэтому возвращаем его из функции
  // если выполнить first = r
  // то тогда можно возвратить first
 
  return r;
}
 
CH * del_stek ( CH *first)
{
  CH *r;
  if (first == NULL)
    std::cout << "Стек пуст. Выбирать нечего.\n";
  else
  {
    r=first;
    first = first->ptr;  // перешли на предшествующий элемент
    std::cout << "Из стека выбран эл-т = " << r->k << endl;
    delete r;
  }
  return first;
}
1
res
56 / 9 / 1
Регистрация: 05.04.2010
Сообщений: 143
14.10.2011, 15:25 #11
"void main()
- это тоже не кашерно для С++, странно что никто ваше внимание не это не обратил!"
это вполне логично
0
Mut
5 / 5 / 0
Регистрация: 12.10.2011
Сообщений: 46
14.10.2011, 15:29 #12
C++
1
std::
можно не писать, если подключено пространство имен std
т.е.
C++
1
using namespace std;
1
-=ЮрА=-
Заблокирован
Автор FAQ
14.10.2011, 18:20 #13
Mut,
Цитата Сообщение от Mut Посмотреть сообщение
можно не писать, если подключено пространство имен std
т.е.
Код C++
1
using namespace std;
- посмотрите скрин 2008 студии и убедитесь в обратном...
0
Миниатюры
Ошибка "C2065: cin: необъявленный идентификатор"  
Евгений М.
1036 / 977 / 54
Регистрация: 28.02.2010
Сообщений: 2,829
Завершенные тесты: 2
14.10.2011, 18:22 #14
-=ЮрА=-, не usig, а using.
0
-=ЮрА=-
Заблокирован
Автор FAQ
14.10.2011, 18:40 #15
Цитата Сообщение от Евгений М. Посмотреть сообщение
не usig, а using.
- всё увидел, на сим для себя тоже пользу извлёк уйду от докучливых std::
0
14.10.2011, 18:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.10.2011, 18:40
Привет! Вот еще темы с ответами:

Найти причины и способы исправления ошибки "error C2065: необъявленный идентификатор" - C++
имеется f1.h typedef struct { int some; } tStruct; f2.h

Ошибки "cin: необъявленный идентификатор" - C++
вот код#include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;string.h&gt; #include &lt;iostream&gt; struct Bus{ ...

Ошибка C2065 : Необъявленный идентификатор cout - C++
Здравствуйте, друзья. Сразу хочу сказать что в С++ я новичок, поэтому я немножко, это.... ну да, тупой;). В-общем, у меня возникла...

Ошибка "Необъявленный идентификатор" при создании конструктора в наследственном классе - C++
Выдает ошибку Необъявленный идентификатор a b,когда создаю конструктор в наследственном классе #include &quot;stdafx.h&quot; #include &lt;iostream&gt; ...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.