Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 7 / 0
Регистрация: 23.05.2011
Сообщений: 56
1

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

21.01.2014, 14:38. Показов 1603. Ответов 12
Метки нет (Все метки)

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

Необъявленный идентификатор
addClientCommand( &quot;m0d_tele_locations&quot;, (int)cmd_tele_locations ); addClientCommand(...

Необъявленный идентификатор
И снова ВСЕМ добрый вечер!!!:) Написав десяток примеров из книги, в качестве упражнений для себя...

необъявленный идентификатор
Код функции: void Logic(){ int prevX = tailX; //хвост int prevY = tailY; int prev2X, prev2Y;...

Необъявленный идентификатор
Нужно исправить код, некоторые ошибки я нашел, но ничего не могу поделать с i (i: необъявленный...

12
101 / 102 / 31
Регистрация: 15.01.2014
Сообщений: 283
21.01.2014, 14:40 2
Цитата Сообщение от philipp95 Посмотреть сообщение
Почему он не видит в мейне cifra1,cifra2,otvet?
потому что не объявлены они
То что объявлено в одной функции не может быть использовано в другой. Это локальные переменные
0
:)
Эксперт С++
4769 / 3263 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
21.01.2014, 14:40 3
Цитата Сообщение от philipp95 Посмотреть сообщение
Почему он не видит в мейне cifra1,cifra2,otvet?
а почему их должно быть видно? первые два определены внутри cifri(), последний - вообще не определен.
0
101 / 102 / 31
Регистрация: 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;
}
что то такое должно быть
0
:)
Эксперт С++
4769 / 3263 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
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;
}
0
0 / 7 / 0
Регистрация: 23.05.2011
Сообщений: 56
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"
и так со всеми тремя переменными, а при попытке отладки он выдает ошибку
0
:)
Эксперт С++
4769 / 3263 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
21.01.2014, 14:55 7
Цитата Сообщение от philipp95 Посмотреть сообщение
Предупреждение 3 warning C4700:
А кто говорил, что будет легко
C++
1
int cifra1=0, cifra2=0, otvet=0;
1
101 / 102 / 31
Регистрация: 15.01.2014
Сообщений: 283
21.01.2014, 14:55 8
Цитата Сообщение от philipp95 Посмотреть сообщение
int cifra1=1, cifra2=2, otvet=0;
задайте начальные значения
1
0 / 7 / 0
Регистрация: 23.05.2011
Сообщений: 56
21.01.2014, 15:05  [ТС] 9
Цитата Сообщение от Tulosba Посмотреть сообщение
А кто говорил, что будет легко
C++
1
int cifra1=0, cifra2=0, otvet=0;
Да уж не легко))))
А не подскажешь, как при вызове функции vichis использовать значения,которые посчитались в функции cifri?
0
:)
Эксперт С++
4769 / 3263 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
21.01.2014, 15:15 10
перед
C++
1
if(vichis(cifra1,cifra2,otvet)==true)
вставить:
C++
1
cifri(a, cifra1, cifra2 );
0
Вежливость-главное оружие
232 / 233 / 86
Регистрация: 19.02.2013
Сообщений: 1,441
21.01.2014, 15:16 11
Цитата Сообщение от philipp95 Посмотреть сообщение
А не подскажешь, как при вызове функции использовать значения,которые посчитались в функции ?
перед вызовом vichis вызовите cifri, он инециализирует ваши переменные.

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

Не по теме:

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

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

Ноте: называйте методы нормальными именами, а то глаза слезятся )
Хорошо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.01.2014, 15:47

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Необъявленный идентификатор
Кто знает, где ошибка в этом коде? double *increase(unsigned int size, double *n) { double...

Необъявленный идентификатор
Думаю проблему в скобках, где не могу найти=( #include &lt;iostream&gt; #include &lt;windows.h&gt; using...

Необъявленный идентификатор j
Нужно сформировать квадратную матрицу вида: 1 2 ...... n n n-1 ..... 1 1 2 ...... n n...

Необъявленный идентификатор
Всем привет! Кто может помочь с кодом? Где моя ошибка. Нужно было написать программу для...


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

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

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