Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/14: Рейтинг темы: голосов - 14, средняя оценка - 4.57
 Аватар для Vaylon
0 / 0 / 1
Регистрация: 27.03.2012
Сообщений: 94

Много ошибок)

27.03.2012, 22:51. Показов 2995. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста с кодом
много ошибок выдаёт
нам Си только начали преподавать, я ничего не понимаю ( .
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
class Telement{
protected:
Telement *left, *right;
Telement (Telement*l,Telement*r)
{
left=l;
right=r;
}
public:
~Telement(void)
{delete left; delete right;}
virtual float rezult(void){}
};
 
class Number:public Telement{
float f;
public:
Number(float F): Telement(NULL,NULL)
{
f=F;
}
float rezult(void)
{return f;}
};
 
Telement *A=new Number(3); 
A->rezult(); 
 
class Plus:public Telement{
public:
Plus(Telement*l,Telement*r):Telement{l,r}{}
float rezult(void)
{
return left->rezult()+right->rezult()
}
};
 
struct Mult:public Telement{
Mult(Telement* l,Telement* r):Telement(l,r){};
float rezult(void)
{
return left->rezult()*right->rezult();
}
 
 
telement* form(AnsiString s)
{
 Telement* h
 int p;
 int l=s.Leght();
 AnsiString s1, s2;
 if((p=s.Pos('+'))>1)
 {
  s1=s.SubString(1,p-1);
  s2=s.SubString(p+1,l-p);
  h = new Plus(form(s1), form(s2))
  }
  else if (s=="x")
  h=new Number(StrToFloat(Form1->Edit3->Text));
  else
  h=new Number(StrToFloat(s));
  return h;
  }
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   int dec=StrTolnt(ComboBox1->Text);
   Telement* x=form(Edit1->Text);
   Edit3->Text=FloatToStrF(x->rezult(), ffFixed, 25, dec);
   Telement* fx=form(Edit2->Text);
   Edit4->Text=FloatToStrF(fx->rezult(),ffFixed, 25, dec);
}
//---------------------------------------------------------------------------
 
 
void __fastcall TForm1::ComboBox1Change(TObject *Sender)
{
Button1Click(Button1);        
}
//---------------------------------------------------------------------------
Ошибки
[C++ Error] Unit1.cpp(37): E2238 Multiple declaration for 'A'
[C++ Error] Unit1.cpp(36): E2344 Earlier declaration of 'A'
[C++ Error] Unit1.cpp(37): E2141 Declaration syntax error
[C++ Error] Unit1.cpp(41): E2040 Declaration terminated incorrectly
[C++ Error] Unit1.cpp(41): E2276 ( expected
[C++ Error] Unit1.cpp(41): E2312 'r' is not an unambiguous base class of 'Plus'
[C++ Error] Unit1.cpp(41): E2275 { expected
[C++ Error] Unit1.cpp(46): E2040 Declaration terminated incorrectly
[C++ Error] Unit1.cpp(46): E2190 Unexpected }
[C++ Error] Unit1.cpp(46): E2190 Unexpected }
[C++ Error] Unit1.cpp(56): E2303 Type name expected
[C++ Error] Unit1.cpp(56): E2139 Declaration missing ;
[C++ Error] Unit1.cpp(98): E2040 Declaration terminated incorrectly
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.03.2012, 22:51
Ответы с готовыми решениями:

Много ошибок
#include &lt;iostream&gt; using namespace std; double F(double X){ return (pow((sin(X) - 2 * cos(2 * X)), 2)); } int main() { ...

Много ошибок в системе
Добрый день. Надеюсь на Вашу помощь, у знакомых стоит компьютер и не пользуются потому что трудно на нем работать. В системе очень много...

Не работает, много ошибок
Сделал все как по методичке Классы.docx,а в итоге ничего не работает.Не понимаю почему.Хммм

6
872 / 448 / 35
Регистрация: 25.10.2011
Сообщений: 910
27.03.2012, 23:07
А английский как давно был? Даже если нет, возможностей он-лайн переводчиков вполне хватает, чтобы половину ошибок откинуть.

Цитата Сообщение от Vaylon Посмотреть сообщение
[C++ Error] Unit1.cpp(37): E2238 Multiple declaration for 'A'
Переменная объявлена несколько раз.
[C++ Error] Unit1.cpp(36): E2344 Earlier declaration of 'A'
Переменная ранее объявлялась.
[C++ Error] Unit1.cpp(37): E2141 Declaration syntax error
Ошибка синтаксиса в объявлении.
[C++ Error] Unit1.cpp(41): E2040 Declaration terminated incorrectly
Ошибка синтаксиса в завершении.
[C++ Error] Unit1.cpp(41): E2276 ( expected
Необходима скобка.
[C++ Error] Unit1.cpp(41): E2312 'r' is not an unambiguous base class of 'Plus'
'r' - не относится к классу 'Plus'.
[C++ Error] Unit1.cpp(41): E2275 { expected
Необходима фигурная скобка.
[C++ Error] Unit1.cpp(46): E2040 Declaration terminated incorrectly
Ошибка синтаксиса в завершении.
[C++ Error] Unit1.cpp(46): E2190 Unexpected }
[C++ Error] Unit1.cpp(46): E2190 Unexpected }
Необходима фигурная скобка.
[C++ Error] Unit1.cpp(56): E2303 Type name expected
[C++ Error] Unit1.cpp(56): E2139 Declaration missing ;
Ранее объявленный тип, у вас используется в функции с маленькой буквы, из-за этого компилятор не в курсе, что от него хотят.
[C++ Error] Unit1.cpp(98): E2040 Declaration terminated incorrectly
Ошибка синтаксиса в завершении.
ps. код весьма трудно просматривать без элементарного форматирования.
2
 Аватар для Vaylon
0 / 0 / 1
Регистрация: 27.03.2012
Сообщений: 94
27.03.2012, 23:11  [ТС]
спасибо и на этом
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
28.03.2012, 02:20
Куча new и не одного delete
Повторного объявления "A" я вроде не заметил,а значит скорее всего ошибка в других модулях советую их проверить либо пересоздать проект.
Код не отформатирован как следует, поэтому смотреть другие ошибки нет желания
0
 Аватар для Vaylon
0 / 0 / 1
Регистрация: 27.03.2012
Сообщений: 94
28.03.2012, 23:00  [ТС]
ок, спасибо

Добавлено через 12 часов 19 минут
Assembler
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
                #include <math.h>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
class Telement{
protected:
Telement *left, *right;
Telement (Telement*l,Telement*r)
{
left=l;
right=r;
}
public:
~Telement(void)
{delete left; delete right;}
virtual float rezult(void){}
};
 
class Number:public Telement{
float f;
public:
Number(float F): Telement(NULL,NULL)
{
f=F;
}
float rezult(void)
{return f;}
};
 
Telement *A=new Number(3);
A-> rezult();
 
struct Plus:public Telement{
Plus(Telement*l,Telement*r):Telement(l,r)
{};
float rezult(void)
{return left->rezult()+right->rezult();}
};
 
struct Mult:public Telement{
Mult(Telement* l, Telement* r):Telement(l,r){};
float rezult(void)
{
return left->rezult()*right->rezult();
}
};
 
Telement* form(AnsiString s)
{
 Telement* h;
 int p;
 int l=s.Length();
 AnsiString s1, s2;
 if((p=s.Pos('+'))>1)
 {
  s1=s.SubString(1,p-1);
  s2=s.SubString(p+1,l-p);
  h = new Plus(form(s1), form(s2));
  }
  else if ((p=s.Pos("*"))>1)
  {
  s1=s.SubString(1,p-1);
  s2=s.SubString(p+1,l-p);
  h=new Mult(form(s1),form(s2));
  }
  else if (s=="x")
  h=new Number(StrToFloat(Form1->Edit3->Text));
  else
  h=new Number(StrToFloat(s));
  return h;
  }
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   int dec=StrToFloat(ComboBox1->Text);
   Telement* x=form(Edit1->Text);
   Edit3->Text=FloatToStrF(x->rezult(), ffFixed, 25, dec);
   Telement* fx=form(Edit2->Text);
   Edit4->Text=FloatToStrF(fx->rezult(),ffFixed, 25, dec);
}
//---------------------------------------------------------------------------
 
 
void __fastcall TForm1::ComboBox1Change(TObject *Sender)
{
Button1Click(Button1);        
}
//---------------------------------------------------------------------------
[C++ Warning] Unit1.cpp(22): W8070 Function should return a value
[C++ Error] Unit1.cpp(37): E2238 Multiple declaration for 'A'
[C++ Error] Unit1.cpp(36): E2344 Earlier declaration of 'A'
[C++ Error] Unit1.cpp(37): E2141 Declaration syntax error
осталось только несколько ошибок
и те в 2-ух строках, пожалуйста помогите, чо не так)?
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
30.03.2012, 05:45
Во-первых, зачем вы объявления классов в модуль .cpp написали? Им самое место в хедере, хоть это и не критично.
Во-вторых, что более важно, вот эти строчки:
C++
1
2
Telement *A=new Number(3);
A-> rezult();
у вас находятся в области глобальной видимости и вне тела какой-либо функции.
В этом месте вы можете объявлять переменные, то есть первая строчка как бы в рамках приличия. Однако ее нужно переместить так, чтобы она была по тексту далее, чем объявление класса Telement, так как создавать переменные какого бы то ни было типа можно только после того, как этот тип был описан. Если вы перенесете объявления классов в хедер, эта проблема самоустранится.
А вот выполнять какие-либо функции в этом месте нельзя, поэтому вторую строчку следует переместить внутрь какой-нить функции или убрать.

Добавлено через 2 минуты
И проставьте точку с запятой после всех объявлений классов, внимательно.
1
 Аватар для Vaylon
0 / 0 / 1
Регистрация: 27.03.2012
Сообщений: 94
30.03.2012, 18:17  [ТС]
спасибо, большое
а ещё, если их удалить, программа пашет отлично)))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.03.2012, 18:17
Помогаю со студенческими работами здесь

Много ошибок в MVS C++
Вот код: #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;fstream&gt; using namespace std; using std::cin; using std::cout;...

Много ошибок входа
Добрый день На сервере в логах почти каждую секунду вот такое Дата 04.10.2017 9:23:58 Журнал SQL Server (Текущий - 02.10.2017...

Много ошибок в системе
Мои пробл*мы: 1. Нам не удалось завершить обновления. Отмена изменений. Не выключайте компьютер. После неудачной обновы и 2-3...

Много ошибок в Memtest 86
Протестил с помощью Memtest 86 оперативку OCZ DDR2 PC2-6400 Vista Upgrade 2GB Module/4GB Kit, одна планка выдаёт очень много ошибок! Вопрос...

Много ошибок в Qt Creator
Всем привет,скачал я Qt Creator c оффа (Qt 5.2.0 for Windows 64-bit (VS 2012, OpenGL, 589 MB) все как надо. VS 2012 у меня стоит...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru