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

в чем ошибка?? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.62
lilliputina
0 / 0 / 0
Регистрация: 01.01.2010
Сообщений: 10
06.01.2010, 16:05     в чем ошибка?? #1
здравствуйте, пытаюсь компилировать программу, но появляется сообщение об ошибке в строке
#include <iostream>

не подскажете, в чём дело.

ещё что-то не так с комментарием - unterminated comment
это значит, что он слишком длинный? )

я описывала эту программу здесь:

программа C++ для вычисления функции y=f(x)=arccot(x). всё ли правильно??

большое спасибо!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.01.2010, 16:05     в чем ошибка??
Посмотрите здесь:

в чем ошибка? C++
в чем ошибка? C++
В чем ошибка ? C++
C++ В чем ошибка??
C++ в чем ошибка?
C++ в чем ошибка?
C++ В чем ошибка?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
M128K145
Эксперт C++
 Аватар для M128K145
8276 / 3495 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
06.01.2010, 16:27     в чем ошибка?? #2
lilliputina, какой текст ошибки и какая среда?
lilliputina
0 / 0 / 0
Регистрация: 01.01.2010
Сообщений: 10
06.01.2010, 16:43  [ТС]     в чем ошибка?? #3
text oshibki v 1-m sluchae: "invalid token" i "expected unqualified-id before numeric constant"

Bloodshed C++ Dev. 4.9.9.2
M128K145
Эксперт C++
 Аватар для M128K145
8276 / 3495 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
06.01.2010, 17:01     в чем ошибка?? #4
lilliputina, полный код выложи
lilliputina
0 / 0 / 0
Регистрация: 01.01.2010
Сообщений: 10
06.01.2010, 17:25  [ТС]     в чем ошибка?? #5
вот я попробовала ещё в Code::Blocks 8.02

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
    include <iostream>
 
using namespace std;
int main()
{
        /*
  Name: 
  Copyright:
  Author:
  Date: 06.01.10 14:29
  Description: Berechnet die Funktionswerte der inversen trigonometrischen Funktion y = f(x) = arccot(x), wenn |x|<1
  Fuer die Berechnung wird Summenformel p/2-(x-x3/3+ x5/5-x7/7+...+ (-1)n*x2n+1/2n+1+/-...)  verwendet
  Da "cmath" nicht anzuwenden sind, wurden zwei Hilfsfunktionen eingefГјhrt:
            mypow (Potenzwert bilden)
             myabs (Betrag bilden).
*/
    double myabs(double input); double mypow(double basis, int exponent);
    int i;
 
    cout<< "x eingeben: ";
    cin>>x;
    if (myabs(x) < 1)
    {
    //Vorbelegung mit pi/2, erstes Glied der Summenformel
    summe_alt=pi_2;
    for (i=0; i<20; i++)
    {
     //weitere Glieder der Summenformel
    summe=summe_alt-(mypow(-1,i)*(mypow(x,2*i+1)/(2*i+1)));
    //Differenz von zi und zi+1
     if(myabs(summe-summe_alt)<epsilon) break;
    summe_alt=summe;
    }
 
    cout<<"\narccot("<<x<<")="<<summe;
    }
    Else
    {
    //Benutzer hat ungueltige Eingabe gemacht (z.B. zu groГџ, zu klein etc.)
    cout<<"\nBitte x innerhalb gueltiger Grenzen eingeben (|x|<1)!";
    }
 
     return 0;
     }
     //Funktion um Potenz zu berechnen
    double mypow(double basis, int exponent)
    {
    int i;
    double expwert=1;
 
    for (i=0; i<exponent; i++)
    expwert=expwert*basis;
 
    return expwert;
    }
 
    //Funktion um Betrag zu berechnen
    double myabs(double input)
    {
    if(input>0)
    return input;
    else
    return -input;
 
    //Benutzer hat ein x eingegeben
    cout<<x=0.5;
    cout<<y<<endl;
 
    return 0;
 }
такие ошибки:
1. syntax error before numeric constant
12. syntax error before numeric constant

как их исправить?
M128K145
Эксперт C++
 Аватар для M128K145
8276 / 3495 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
06.01.2010, 17:30     в чем ошибка?? #6
lilliputina, где # перед инклудом и почему функции внутри мейна описаны?
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,147
Завершенные тесты: 1
06.01.2010, 18:05     в чем ошибка?? #7
исправил код,и там ошибки
Error 1 error C2065: 'x' : undeclared identifier c:\documents and settings\ag\my documents\visual studio 2008\projects\h\h\h.cpp 15 h
Error 2 error C2065: 'x' : undeclared identifier c:\documents and settings\ag\my documents\visual studio 2008\projects\h\h\h.cpp 16 h
Error 3 error C2065: 'summe_alt' : undeclared identifier c:\documents and settings\ag\my documents\visual studio 2008\projects\h\h\h.cpp 19 h
Error 4 error C2065: 'pi_2' : undeclared identifier c:\documents and settings\ag\my documents\visual studio 2008\projects\h\h\h.cpp 19 h
Error 5 error C2065: 'summe' : undeclared identifier c:\documents and settings\ag\my documents\visual studio 2008\projects\h\h\h.cpp 23 h
Error 6 error C2065: 'summe_alt' : undeclared identifier c:\documents and settings\ag\my documents\visual studio 2008\projects\h\h\h.cpp 23 h
Error 7 error C2065: 'x' : undeclared identifier c:\documents and settings\ag\my documents\visual studio 2008\projects\h\h\h.cpp 23 h
Error 8 error C2065: 'summe' : undeclared identifier c:\documents and settings\ag\my documents\visual studio 2008\projects\h\h\h.cpp 25 h
Error 9 error C2065: 'summe_alt' : undeclared identifier c:\documents and settings\ag\my documents\visual studio 2008\projects\h\h\h.cpp 25 h
Error 10 error C2065: 'epsilon' : undeclared identifier c:\documents and settings\ag\my documents\visual studio 2008\projects\h\h\h.cpp 25 h
Error 11 error C2065: 'summe_alt' : undeclared identifier c:\documents and settings\ag\my documents\visual studio 2008\projects\h\h\h.cpp 26 h
Error 12 error C2065: 'summe' : undeclared identifier c:\documents and settings\ag\my documents\visual studio 2008\projects\h\h\h.cpp 26 h
Error 13 error C2065: 'x' : undeclared identifier c:\documents and settings\ag\my documents\visual studio 2008\projects\h\h\h.cpp 29 h
Error 14 error C2065: 'summe' : undeclared identifier c:\documents and settings\ag\my documents\visual studio 2008\projects\h\h\h.cpp 29 h
Error 15 error C2065: 'Else' : undeclared identifier c:\documents and settings\ag\my documents\visual studio 2008\projects\h\h\h.cpp 32 h
Error 16 error C2143: syntax error : missing ';' before '{' c:\documents and settings\ag\my documents\visual studio 2008\projects\h\h\h.cpp 32 h
Error 17 error C2065: 'x' : undeclared identifier c:\documents and settings\ag\my documents\visual studio 2008\projects\h\h\h.cpp 60 h
Error 18 error C2065: 'y' : undeclared identifier c:\documents and settings\ag\my documents\visual studio 2008\projects\h\h\h.cpp 61 h
код
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
#include <iostream>
      double myabs(double input); double mypow(double basis, int exponent);
using namespace std;
int main()
{              
   
        int i;
 
        cout<< "x eingeben: ";
        cin>>x;
        if (myabs(x) < 1)
        {
        //Vorbelegung mit pi/2, erstes Glied der Summenformel
        summe_alt=pi_2;
        for (i=0; i<20; i++)
        {
         //weitere Glieder der Summenformel
        summe=summe_alt-(mypow(-1,i)*(mypow(x,2*i+1)/(2*i+1)));
        //Differenz von zi und zi+1
         if(myabs(summe-summe_alt)<epsilon) break;
        summe_alt=summe;
        }
 
        cout<<"\narccot("<<x<<")="<<summe;
        }
        Else
        {
        //Benutzer hat ungueltige Eingabe gemacht (z.B. zu groЯ, zu klein etc.)
        cout<<"\nBitte x innerhalb gueltiger Grenzen eingeben (|x|<1)!";
        }
 
         return 0;
}
         //Funktion um Potenz zu berechnen
        double mypow(double basis, int exponent)
        {
        int i;
        double expwert=1;
 
        for (i=0; i<exponent; i++)
        expwert=expwert*basis;
 
        return expwert;
        }
 
        //Funktion um Betrag zu berechnen
        double myabs(double input)
        {
        if(input>0)
        return input;
        else
        return -input;
 
        //Benutzer hat ein x eingegeben
        cout<<x=0.5;
        cout<<y<<endl;
 
        return 0;
        }
Добавлено через 32 секунды
у тебя не объявлены переменные и еще не Else a else
lilliputina
0 / 0 / 0
Регистрация: 01.01.2010
Сообщений: 10
06.01.2010, 18:07  [ТС]     в чем ошибка?? #8
# перед инклудом и есть syntax error ? я ставила #, и компилятор указал на это как на 2-ю ошибку ( может, проблема в <iostream>?

функции внутри мейна почему-то не являются ошибкой ни в Bloodshed, ни в Blocks 8.02 ) спасибо, что вы мне на это указали!

18. int i - "syntax error before numeric constant"

i здесь тоже double?

Добавлено через 1 минуту
спасибо, МедведЪ !!
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,147
Завершенные тесты: 1
06.01.2010, 18:10     в чем ошибка?? #9
# перед инклудом и есть syntax error ? я ставила #, и компилятор указал на это как на 2-ю ошибку ( может, проблема в <iostream>?
что за ошибка
lilliputina
0 / 0 / 0
Регистрация: 01.01.2010
Сообщений: 10
06.01.2010, 19:04  [ТС]     в чем ошибка?? #10
первая строка - ошибка:No such file or directory

using namespace std - syntax error before namespace ?

вы не могли бы подсказать, как декларировать cout и cin? везде писать ::std?
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,147
Завершенные тесты: 1
06.01.2010, 19:11     в чем ошибка?? #11
Цитата Сообщение от lilliputina Посмотреть сообщение
первая строка - ошибка:No such file or directory
не находит файл попробуйте iostream.h
сначала сделайте так,если первая ошибка пройдет то все пройдут вроде
lilliputina
0 / 0 / 0
Регистрация: 01.01.2010
Сообщений: 10
06.01.2010, 19:28  [ТС]     в чем ошибка?? #12
с <iostream.h> не проходит )
не является ошибкой <stdio.h>, но опять нужно декларировать cout и cin
а как исправить " cout<<x=0.5; " ? syntax error before <<
M128K145
Эксперт C++
 Аватар для M128K145
8276 / 3495 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
06.01.2010, 19:42     в чем ошибка?? #13
Вот
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
#include <iostream>
 
using namespace std;
double myabs(double input);
double mypow(double basis, int exponent);
int main()
{
    /*
    Name: 
    Copyright:
    Author:
    Date: 06.01.10 14:29
    Description: Berechnet die Funktionswerte der inversen trigonometrischen Funktion y = f(x) = arccot(x), wenn |x|<1
    Fuer die Berechnung wird Summenformel p/2-(x-x3/3+ x5/5-x7/7+...+ (-1)n*x2n+1/2n+1+/-...)  verwendet
    Da "cmath" nicht anzuwenden sind, wurden zwei Hilfsfunktionen eingefьhrt:
    mypow (Potenzwert bilden)
    myabs (Betrag bilden).
    */
    
    int i;
 
    double x, summe_alt, summe, pi_2, epsilon;
    cout<< "x eingeben: ";
    cin>>x;
    if (myabs(x) < 1)
    {
        //Vorbelegung mit pi/2, erstes Glied der Summenformel
        summe_alt=pi_2;
        for (i=0; i<20; i++)
        {
            //weitere Glieder der Summenformel
            summe=summe_alt-(mypow(-1,i)*(mypow(x,2*i+1)/(2*i+1)));
            //Differenz von zi und zi+1
            if(myabs(summe-summe_alt)<epsilon) break;
            summe_alt=summe;
        }
 
        cout<<"\narccot("<<x<<")="<<summe;
    }
    else
    {
        //Benutzer hat ungueltige Eingabe gemacht (z.B. zu groЯ, zu klein etc.)
        cout<<"\nBitte x innerhalb gueltiger Grenzen eingeben (|x|<1)!";
    }
 
    return 0;
}
//Funktion um Potenz zu berechnen
double mypow(double basis, int exponent)
{
    int i;
    double expwert=1;
 
    for (i=0; i<exponent; i++)
        expwert=expwert*basis;
 
    return expwert;
}
 
//Funktion um Betrag zu berechnen
double myabs(double input)
{
    if(input>0)
        return input;
    else
        return -input;
}
, проверил в деве
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,147
Завершенные тесты: 1
06.01.2010, 21:09     в чем ошибка?? #14
lilliputina, выложите весь код
lilliputina
0 / 0 / 0
Регистрация: 01.01.2010
Сообщений: 10
07.01.2010, 11:14  [ТС]     в чем ошибка?? #15
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
#include <iostream>
 
using namespace std;
 
//Funktion um Potenz zu berechnen
double mypow(double basis, int exponent)
{
        int i;
        double expwert=1;
 
        for (i=0; i<exponent; i++)
                expwert=expwert*basis;
 
        return expwert;
}
 
//Funktion um Betrag zu berechnen
double myabs(double input)
{
        if(input>0)
                return input;
        else
                return -input;
}
 
int main()
{
        /*
        Name: 
        Description: Berechnet die Funktionswerte der inversen trigonometrischen Funktion y = f(x) = arccot(x), wenn |x|<1
        Fuer die Berechnung wird Summenformel p/2-(x-x3/3+ x5/5-x7/7+...+ (-1)n*x2n+1/2n+1+/-...)  verwendet
        Da "cmath" nicht anzuwenden sind, wurden zwei Hilfsfunktionen eingef?hrt:
        mypow (Potenzwert bilden)
        myabs (Betrag bilden).
        */
        
        int i;
 
        double x, y, summe_alt, summe, pi_2, epsilon;
        
        cout<< "x eingeben: ";
        cin>>x;
        if (myabs(x) < 1)
        {
                //Vorbelegung mit pi/2, erstes Glied der Summenformel
                summe_alt=pi_2;
                for (i=0; i<20; i++)
                {
                        //weitere Glieder der Summenformel
                        summe=summe_alt-(mypow(-1,i)*(mypow(x,2*i+1)/(2*i+1)));
                        //Differenz von zi und zi+1
                        if(myabs(summe-summe_alt)<epsilon) break;
                        summe_alt=summe;
                }
 
                cout<<"y= "<<"\narccot("<<x<<")="<<summe; 
        }
        else
        {
                //Benutzer hat ungueltige Eingabe gemacht (z.B. zu gro?, zu klein etc.)
                cout<<"\nBitte x innerhalb gueltiger Grenzen eingeben (|x|<1)!";
        }
 
        return 0;
}
в Dev++, ошибок нет. вроде бы работает ) спасибо вам за помощь!!! но может что-то ещё подкорректировать?
M128K145
Эксперт C++
 Аватар для M128K145
8276 / 3495 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
07.01.2010, 14:23     в чем ошибка?? #16
lilliputina, я б твои функции так переписал бы
C++
1
2
3
4
5
6
7
8
9
10
11
double mypow(double basis, int exponent)
{
    double expwert = 1;
    while(exponent--)
        expwert *= basis;
    return expwert;
}
double myabs(double input)
{
    return input > 0 ? input : -input;
}
lilliputina
0 / 0 / 0
Регистрация: 01.01.2010
Сообщений: 10
07.01.2010, 16:04  [ТС]     в чем ошибка?? #17
ага, спасибо!!! я ещё внесла исправления, а то у меня высчитывался арктангес, а не арккотангес )
теперь всё правильно

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
#include <iostream>
using namespace std;
 
//Funktion um Potenz zu berechnen
double mypow(double basis, int exponent)
{
    double expwert = 1;
    while(exponent--)
        expwert *= basis;
    return expwert;
}
 
//Funktion um Betrag zu berechnen
double myabs(double input)
{
    return input > 0 ? input : -input;
}
 
double mypow(double basis, int exponent);
double myabs(double input);
 
int main()
{
    /*
        Name: 
        Description: Berechnet die Funktionswerte der inversen trigonometrischen Funktion y = f(x) = arccot(x), wenn |x|<1
        Fuer die Berechnung wird Summenformel p/2-(x-x3/3 + x5/5 - x7/7+...+ (-1)n*x2n+1/2n+1+/-...)  verwendet
        Berechnung bricht ab, wenn die Differenz des Betrages zweier aufeinanderfolgender Glieder zi und zi+1 kleiner als ein zu definierender Abbruchwert epsilon wird oder wenn maximal 20 Summenglieder berechnet wurden
        Da "cmath" nicht anzuwenden sind, wurden zwei Hilfsfunktionen eingefuehrt:
        mypow (Potenzwert bilden)
        myabs (Betrag bilden)
        */
 
    //pi_2 ist PI/2, schon vorberechnet
    const double pi_2=1.5707963267948966192313216916398;
    double x, y, epsilon=0.000001, summe, summe_alt=0;
    int i;
 
    cout<<"x eingeben: ";
    cin>>x;
 
    if(myabs(x)<1)
    {
        //Vorbelegung mit pi/2, erstes Glied der Summenformel
        summe_alt=pi_2;
        for(i=0; i<20; i++)
        {
            //weitere Glieder der Summenformel
            summe=summe_alt-(mypow(-1,i)*(mypow(x,2*i+1)/(2*i+1)));
            //Differenz von zi und zi+1
            if(myabs(summe-summe_alt)<epsilon) break;
            summe_alt=summe;
        }
 
        cout<<"y= "<<"\narccot("<<x<<")="<<summe;
    }
    else
    {
        //Benutzer hat ungueltige Eingabe gemacht
        cout<<"\nBitte x innerhalb gueltiger Grenzen eingeben (|x|<1)!";
    }
 
    return 0;
}
Slav1991
0 / 0 / 1
Регистрация: 07.01.2010
Сообщений: 44
07.01.2010, 16:34     в чем ошибка?? #18
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
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{   const B=7,D=3.5;
    float AN,AK,HA,A,F,e,S,X;
    int K=0,CN,CK,HC,C;
    printf ("vvod AN-");
    scanf ("%f",&AN);
    printf ("vvod AK-");
    scanf ("%f",&AK);
    printf ("vvod HA-");
    scanf ("%d",&HA);
    printf ("vvod CN-");
    scanf ("%d",&CN);
    printf ("vvod CK-");
    scanf ("%d",&CK);
    printf ("vvod HC-");
    scanf ("%d",&HC);
    for (C=CN;C<=CK;C+=HC)
    X=0.01*HA;
    for (A=AN;A<=AK;A+=HA)
{   S=A*(D+B-C);
    printf ("S=%8.3f",S);}
if ((A>0)&&(A!=1)&&(C!=0))
{F=S/log10(A)*(pow(e,C-1));
printf ("F=%8.3f",F);}
else
printf ("F-net");
A=AN+HA;
getch();
}
Помогите исправить ошибки!Компилируется норм, а результат не выдает!!!!
A и C изменяемая величина в цикле(AN,CN-начальное;HA,HC-шаг;AK,CK-конечное) X-погрешность
S=A*(D+B-C)
F=S/log10(A)*(pow(e,C-1))
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
07.01.2010, 16:58     в чем ошибка?? #19
Цитата Сообщение от Slav1991 Посмотреть сообщение
const B=7,D=3.5;
Вот в этой строке, по умолчанию D присвоено будет значение 3.


Цитата Сообщение от Slav1991 Посмотреть сообщение
float AN,AK,HA,A,F,e,S,X;
в этой строке переменной HA задаете тип float, а в этой:
Цитата Сообщение от Slav1991 Посмотреть сообщение
scanf ("%d",&HA);
считаете что эта переменная int.

и задайте значение переменной e, ведь Вы ее используете в Ваших вычислениях.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.01.2010, 17:05     в чем ошибка??
Еще ссылки по теме:

C++ В чем ошибка?
в чем ошибка? C++
В чем ошибка C++
C++ В чем ошибка?
C++ В чем ошибка?

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

Или воспользуйтесь поиском по форуму:
Slav1991
0 / 0 / 1
Регистрация: 07.01.2010
Сообщений: 44
07.01.2010, 17:05     в чем ошибка?? #20
Спасибо!!!!
Yandex
Объявления
07.01.2010, 17:05     в чем ошибка??
Ответ Создать тему
Опции темы

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