Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 1
Регистрация: 04.10.2012
Сообщений: 88
1

При компиляции выдаёт ошибку "Declaration syntax error"

23.11.2012, 20:17. Просмотров 1022. Ответов 3
Метки нет (Все метки)


В строке " {for(double x=xn; x<=xk; x+=h)" [3-я снизу] при компиляции выскакивает "Declaration syntax error". Где и что еужно исправить?
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 <vcl.h>
#pragma hdrstop
#include <math>
#include "Project2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
typedef double (*TFun)(double);
double fun1(double);
double fun2(double);
void Out_Rez(TFun, double, double, double, TMemo *mem);
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Edit1->Text="0,1";
Edit2->Text="3";
Edit3->Text="0,3";
Edit4->Text="3";
Memo1->Clear();
RadioGroup1->ItemIndex=0;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
double a, b, h, n;
a = StrToFloat(Edit1->Text);
b = StrToFloat(Edit2->Text);
h = StrToFloat(Edit3->Text);
n = StrToFloat(Edit4->Text);
switch(RadioGroup1->ItemIndex)
{
case 0: Memo1->Lines->Add("Y(x)");Out_Rez (fun1,a,b,h,Memo1); break;
case 1: Memo1->Lines->Add("Y(x)");Out_Rez (fun2,a,b,h,Memo1); break;
}
}
//---------------------------------------------------------------------------
double fun1(double x){
return 2*(pow(cos(x),2.)-1);}
 double fun2(double x){
 float sum=0;
 double a; double b; double h; double k; double n;
         for (x=a; x<=b; x+=h) {
         for (k=1; k<=n; k++) {
             int   fk=1;
                for (int j=1; j<=2*k; j++) fk=fk*j;
                if (k==0) fk=1;
                sum+=pow((-1), k)*pow(2.*x,2.*k)/(fk);}
 
         return(sum);}
  void Out_Rez (TFun f,double xn,double xk,double h,TMemo *mem)
   {for(double x=xn; x<=xk; x+=h)
   mem->Lines->Add(" x = "+FloatToStrF(x,ffFixed,8,2)+
   "\t fun(x)="+FloatToStrF(f(x),ffFixed,8,8)); };}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.11.2012, 20:17
Ответы с готовыми решениями:

Ошибки "Declaration syntax error" и "Multiple declaration" при компиляции проекта
Optimalnost_Unit.cpp(6): E2141 Declaration syntax error Optimalnost_Unit.cpp(7): E2238 Multiple...

Ошибка "Declaration syntax error"
Вот есть простая прога которая , вычисляющий результат деления дробей. include &lt;stdio.h&gt; ...

Ошибка при компиляции: "E2275 { expected" и "E2040 Declaration terminated incorrectly"
Здравствуйте! При компиляции выдает такую ошибку: C++ Error] Unit1.cpp(12): E2275 { expected ...

Declaration syntax error при компиляции. Ругается на свой же автоматически создаваемый код
Всё компилилось и работало, пока не добавил на форму пару компонентов. Embarcadero начал ругаться...

3
Модератор
Эксперт по электронике
8356 / 6202 / 834
Регистрация: 14.02.2011
Сообщений: 21,556
23.11.2012, 20:23 2
Цитата Сообщение от barselona1994 Посмотреть сообщение
void Out_Rez (TFun f,double xn,double xk,double h,TMemo *mem)
* *{for(double x=xn; x<=xk; x+=h)
* *mem->Lines->Add(" x = "+FloatToStrF(x,ffFixed,8,2)+
* *"\t fun(x)="+FloatToStrF(f(x),ffFixed,8,8)); };}
количество открывающих и закрывающих фигурных скобок подсчитай
так же как и здесь
Цитата Сообщение от barselona1994 Посмотреть сообщение
double fun2(double x){
*float sum=0;
*double a; double b; double h; double k; double n;
* * * * *for (x=a; x<=b; x+=h) {
* * * * *for (k=1; k<=n; k++) {
* * * * * * *int * fk=1;
* * * * * * * * for (int j=1; j<=2*k; j++) fk=fk*j;
* * * * * * * * if (k==0) fk=1;
* * * * * * * * sum+=pow((-1), k)*pow(2.*x,2.*k)/(fk);}
return(sum);}
Добавлено через 55 секунд
у тебя получается объявление функции в функции
0
0 / 0 / 1
Регистрация: 04.10.2012
Сообщений: 88
23.11.2012, 20:24  [ТС] 3
Цитата Сообщение от ValeryS Посмотреть сообщение
количество открывающих и закрывающих фигурных скобок подсчитай
так же как и здесь


Добавлено через 55 секунд
у тебя получается объявление функции в функции
Так что именно исправить?
0
Don't worry, be happy
16968 / 9849 / 1897
Регистрация: 27.09.2012
Сообщений: 24,422
Записей в блоге: 1
23.11.2012, 20:27 4
Цитата Сообщение от barselona1994 Посмотреть сообщение
Так что именно исправить?
Поставить скобки там, где нужно
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.11.2012, 20:27

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Устранить ошибку !! [C++ Error] Unit1.cpp(26): E2141 Declaration syntax error
//--------------------------------------------------------------------------- #include &lt;vcl.h&gt;...

C++ builder при компиляции выдаёт ошибку "Unresolved external 'fun2(double)' referensed from C:
Что нужно исправить и в чём ошибка? ...

Как исправить ошибку E2141 Declaration syntax error
Как исправить ошибку E2141 Declaration syntax error см. рис. В application все работает на ура....

Сообщение при компиляции "Error: Could not create Release_Build_ru\MT_1000A_ML.str (error code -1)"
Добрый вечер. Подскажите - вдруг при компиляции в конце стали появляться три ошибки Error:...


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

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

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