Форум программистов, компьютерный форум CyberForum.ru

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

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

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

13.10.2011, 00:01. Просмотров 10579. Ответов 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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2011, 00:01     Ошибка "C2065: cin: необъявленный идентификатор"
Посмотрите здесь:
Как исправить ошибку "error C2065: cin: необъявленный идентификатор" ? C++
Сортировка одномерного массива и ошибка "error C2065: _ необъявленный идентификатор" C++
Ошибка "C2065: cout: необъявленный идентификатор" C++
C++ Ошибка "C2065: сout: необъявленный идентификатор"
C++ Ошибка "C2065: cout: необъявленный идентификатор"
C++ Ошибка "C2065: Out: необъявленный идентификатор"
C++ Найти причины и способы исправления ошибки "error C2065: необъявленный идентификатор"
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mut
5 / 5 / 0
Регистрация: 12.10.2011
Сообщений: 46
13.10.2011, 00:10     Ошибка "C2065: cin: необъявленный идентификатор" #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>
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
13.10.2011, 00:13     Ошибка "C2065: cin: необъявленный идентификатор" #3
Вот это
C++
1
#include "stdafx.h"
писать не надо.
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
13.10.2011, 00:18     Ошибка "C2065: cin: необъявленный идентификатор" #4
и
C++
1
#include <cstdlib>
Mut
5 / 5 / 0
Регистрация: 12.10.2011
Сообщений: 46
13.10.2011, 00:19     Ошибка "C2065: cin: необъявленный идентификатор" #5
моя студия без этого
C++
1
#include "stdafx.h"
ругается в стиле
C++
1
2
3
4
Ошибка  4   error C1010: непредвиденный конец
 файла во время поиска предкомпилированного заголовка.
 Возможно, вы забыли добавить директиву "#include "StdAfx.h"" в источник.
    d:\программирование\ооп\lab11\lab11\anote.cpp   21
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
13.10.2011, 00:22     Ошибка "C2065: cin: необъявленный идентификатор" #6
Цитата Сообщение от Mut Посмотреть сообщение
моя студия без этого
Значит у вас что-то не так сделано.
Этот файл не требуется для этой программы.
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
13.10.2011, 00:23     Ошибка "C2065: cin: необъявленный идентификатор" #7
Цитата Сообщение от Chelioss Посмотреть сообщение
Значит у вас что-то не так сделано.
Этот файл не требуется для этой программы.
нужно создать "Пустой проект" а не консольный
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
14.10.2011, 10:42     Ошибка "C2065: cin: необъявленный идентификатор" #8
Цитата Сообщение от Net_Wanderer Посмотреть сообщение
нужно создать "Пустой проект" а не консольный
Достаточно будет выключить опцию использования предкомпилируемых заголовков.
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
14.10.2011, 13:43     Ошибка "C2065: cin: необъявленный идентификатор" #9
Лучше
C++
1
2
3
#include <iostream>
#include <cstdlib>
#include <iomanip>
прописать в stdafx.h и из cpp убрать
если уж используем прекомпиленные хедеры.
-=ЮрА=-
Заблокирован
Автор FAQ
14.10.2011, 15:20     Ошибка "C2065: cin: необъявленный идентификатор" #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;
}
res
56 / 9 / 1
Регистрация: 05.04.2010
Сообщений: 143
14.10.2011, 15:25     Ошибка "C2065: cin: необъявленный идентификатор" #11
"void main()
- это тоже не кашерно для С++, странно что никто ваше внимание не это не обратил!"
это вполне логично
Mut
5 / 5 / 0
Регистрация: 12.10.2011
Сообщений: 46
14.10.2011, 15:29     Ошибка "C2065: cin: необъявленный идентификатор" #12
C++
1
std::
можно не писать, если подключено пространство имен std
т.е.
C++
1
using namespace std;
-=ЮрА=-
Заблокирован
Автор FAQ
14.10.2011, 18:20     Ошибка "C2065: cin: необъявленный идентификатор" #13
Mut,
Цитата Сообщение от Mut Посмотреть сообщение
можно не писать, если подключено пространство имен std
т.е.
Код C++
1
using namespace std;
- посмотрите скрин 2008 студии и убедитесь в обратном...
Миниатюры
Ошибка "C2065: cin: необъявленный идентификатор"  
Евгений М.
1035 / 976 / 54
Регистрация: 28.02.2010
Сообщений: 2,829
Завершенные тесты: 2
14.10.2011, 18:22     Ошибка "C2065: cin: необъявленный идентификатор" #14
-=ЮрА=-, не usig, а using.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.10.2011, 18:40     Ошибка "C2065: cin: необъявленный идентификатор"
Еще ссылки по теме:
Ошибки "cin: необъявленный идентификатор" C++
C++ Ошибка C2065 : Необъявленный идентификатор cout
C++ Ошибка "Необъявленный идентификатор" при создании конструктора в наследственном классе
C++ О чем говорит ошибка "Необъявленный идентификатор"?
C++ Двумерный массив и ошибка "Необъявленный идентификатор"

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

Или воспользуйтесь поиском по форуму:
-=ЮрА=-
Заблокирован
Автор FAQ
14.10.2011, 18:40     Ошибка "C2065: cin: необъявленный идентификатор" #15
Цитата Сообщение от Евгений М. Посмотреть сообщение
не usig, а using.
- всё увидел, на сим для себя тоже пользу извлёк уйду от докучливых std::
Yandex
Объявления
14.10.2011, 18:40     Ошибка "C2065: cin: необъявленный идентификатор"
Ответ Создать тему
Опции темы

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