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

необъявленный идентификатор - C++

Восстановить пароль Регистрация
 
philipp95
0 / 0 / 0
Регистрация: 23.05.2011
Сообщений: 11
21.01.2014, 14:38     необъявленный идентификатор #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <conio.h>
#include <iostream>
using namespace std;
int vichis(int,int,int&);
void cifri(int);
void main()
{
    int a;
    setlocale(0,"rus");
    cout<<"Введите число= ";
    cin>>a;
    if(vichis(cifra1,cifra2,otvet)==true)
        cout<<"Число положительно= "<<otvet;
    else
        cout<<"Число отрицательно= "<<otvet;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void cifri(int a)
{
    int cifra1=0;
    int vr=a;
    cifra1=vr%10;
    int cifra2=0;
    vr=a;
    while (vr>10)
    {
        vr=vr/10;
    }
    cifra2=vr;
}
int vichis(int cifra1,int cifra2,int& otvet)
{
    otvet=cifra1-cifra2;
    if(otvet>=0)
        return true;
    else 
        return false;
}
Почему он не видит в мейне cifra1,cifra2,otvet?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2014, 14:38     необъявленный идентификатор
Посмотрите здесь:

C++ Необъявленный идентификатор
endl необъявленный идентификатор C++
string: необъявленный идентификатор C++
C++ Необъявленный идентификатор
C++ Класс: необъявленный идентификатор
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Enotniy
 Аватар для Enotniy
96 / 95 / 14
Регистрация: 15.01.2014
Сообщений: 283
21.01.2014, 14:40     необъявленный идентификатор #2
Цитата Сообщение от philipp95 Посмотреть сообщение
Почему он не видит в мейне cifra1,cifra2,otvet?
потому что не объявлены они
То что объявлено в одной функции не может быть использовано в другой. Это локальные переменные
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
21.01.2014, 14:40     необъявленный идентификатор #3
Цитата Сообщение от philipp95 Посмотреть сообщение
Почему он не видит в мейне cifra1,cifra2,otvet?
а почему их должно быть видно? первые два определены внутри cifri(), последний - вообще не определен.
Enotniy
 Аватар для Enotniy
96 / 95 / 14
Регистрация: 15.01.2014
Сообщений: 283
21.01.2014, 14:43     необъявленный идентификатор #4
Цитата Сообщение от philipp95 Посмотреть сообщение
void main()
{
* * int a,b,c=0;
* * setlocale(0,"rus");
* * cout<<"Введите число= ";
* * cin>>a>>b;
* * if(vichis(a,b,c)==true)
* * * * cout<<"Число положительно= "<<otvet;
* * else
* * * * cout<<"Число отрицательно= "<<otvet;
}
что то такое должно быть
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
21.01.2014, 14:44     необъявленный идентификатор #5
Кликните здесь для просмотра всего текста
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
#include <iostream>
using namespace std;
 
void cifri(int a, int& cifra1, int& cifra2 )
{
    cifra1=0;
    int vr=a;
    cifra1=vr%10;
    cifra2=0;
    vr=a;
    while (vr>10)
    {
        vr=vr/10;
    }
    cifra2=vr;
}
 
int vichis(int cifra1,int cifra2,int& otvet)
{
    otvet=cifra1-cifra2;
    if(otvet>=0)
        return true;
    else 
        return false;
}
 
int main()
{
    int a;
    int cifra1, cifra2, otvet;
    
    setlocale(0,"rus");
    cout<<"Введите число= ";
    cin>>a;
    if(vichis(cifra1,cifra2,otvet)==true)
        cout<<"Число положительно= "<<otvet;
    else
        cout<<"Число отрицательно= "<<otvet;
}
philipp95
0 / 0 / 0
Регистрация: 23.05.2011
Сообщений: 11
21.01.2014, 14:49  [ТС]     необъявленный идентификатор #6
Цитата Сообщение от Tulosba Посмотреть сообщение
Кликните здесь для просмотра всего текста
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
#include <iostream>
using namespace std;
 
void cifri(int a, int& cifra1, int& cifra2 )
{
    cifra1=0;
    int vr=a;
    cifra1=vr%10;
    cifra2=0;
    vr=a;
    while (vr>10)
    {
        vr=vr/10;
    }
    cifra2=vr;
}
 
int vichis(int cifra1,int cifra2,int& otvet)
{
    otvet=cifra1-cifra2;
    if(otvet>=0)
        return true;
    else 
        return false;
}
 
int main()
{
    int a;
    int cifra1, cifra2, otvet;
    
    setlocale(0,"rus");
    cout<<"Введите число= ";
    cin>>a;
    if(vichis(cifra1,cifra2,otvet)==true)
        cout<<"Число положительно= "<<otvet;
    else
        cout<<"Число отрицательно= "<<otvet;
}
Предупреждение 3 warning C4700: использована неинициализированная локальная переменная "cifra1"
и так со всеми тремя переменными, а при попытке отладки он выдает ошибку
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
21.01.2014, 14:55     необъявленный идентификатор #7
Цитата Сообщение от philipp95 Посмотреть сообщение
Предупреждение 3 warning C4700:
А кто говорил, что будет легко
C++
1
int cifra1=0, cifra2=0, otvet=0;
Enotniy
 Аватар для Enotniy
96 / 95 / 14
Регистрация: 15.01.2014
Сообщений: 283
21.01.2014, 14:55     необъявленный идентификатор #8
Цитата Сообщение от philipp95 Посмотреть сообщение
int cifra1=1, cifra2=2, otvet=0;
задайте начальные значения
philipp95
0 / 0 / 0
Регистрация: 23.05.2011
Сообщений: 11
21.01.2014, 15:05  [ТС]     необъявленный идентификатор #9
Цитата Сообщение от Tulosba Посмотреть сообщение
А кто говорил, что будет легко
C++
1
int cifra1=0, cifra2=0, otvet=0;
Да уж не легко))))
А не подскажешь, как при вызове функции vichis использовать значения,которые посчитались в функции cifri?
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
21.01.2014, 15:15     необъявленный идентификатор #10
перед
C++
1
if(vichis(cifra1,cifra2,otvet)==true)
вставить:
C++
1
cifri(a, cifra1, cifra2 );
some_name
Вежливость-главное оружие
 Аватар для some_name
219 / 219 / 55
Регистрация: 19.02.2013
Сообщений: 1,419
21.01.2014, 15:16     необъявленный идентификатор #11
Цитата Сообщение от philipp95 Посмотреть сообщение
А не подскажешь, как при вызове функции использовать значения,которые посчитались в функции ?
перед вызовом vichis вызовите cifri, он инециализирует ваши переменные.

Ноте: называйте методы нормальными именами, а то глаза слезятся )
Tulosba
21.01.2014, 15:22
  #12

Не по теме:

Цитата Сообщение от some_name Посмотреть сообщение
инециализирует
Цитата Сообщение от some_name Посмотреть сообщение
глаза слезятся
это точно.

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2014, 15:47     необъявленный идентификатор
Еще ссылки по теме:

C++ Ошибка: i: необъявленный идентификатор
Необъявленный идентификатор C++
C++ Необъявленный идентификатор

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

Или воспользуйтесь поиском по форуму:
philipp95
0 / 0 / 0
Регистрация: 23.05.2011
Сообщений: 11
21.01.2014, 15:47  [ТС]     необъявленный идентификатор #13
Цитата Сообщение от some_name Посмотреть сообщение
перед вызовом vichis вызовите cifri, он инециализирует ваши переменные.

Ноте: называйте методы нормальными именами, а то глаза слезятся )
Хорошо
Yandex
Объявления
21.01.2014, 15:47     необъявленный идентификатор
Ответ Создать тему
Опции темы

Текущее время: 17:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru