0 / 0 / 0
Регистрация: 08.12.2021
Сообщений: 129

Ошибки компиляции "Обращение к переменной как к функции"

15.05.2022, 12:41. Показов 2589. Ответов 21

Студворк — интернет-сервис помощи студентам
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include "math.h"
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
class GraphicClass
 {
 private:
 int sin, cos, tan;
 int xmax, ymax;
 int xmid, ymid;
 int XKind, YKind;
 double X, Y;
 double deltaX, deltaY;
 double a_x, b_x, c_x, a_y, b_y, c_y;
 public:
 GraphicClass();
 void DrawAxis();
 void DrawGraphic();
 void SetXKind(int xkind);
 void SetYKind(int ykind);
 void SetAX(double ax);
 void SetBX(double bx);
 void SetCX(double cx);
 void SetAY(double ay);
 void SetBY(double by);
 void SetCY(double cy);
 void SetDeltaX(double dX);
 void SetDeltaY(double dY);
 };
GraphicClass::GraphicClass()
 {
 xmax = 681;
 ymax = 465;
 xmid = xmax / 2;
 ymid = ymax / 2;
 deltaX = 10;
 deltaY = 10;
 a_x = 1;
 b_x = 1;
 c_x = 0;
 a_y = 1;
 b_y = 1;
 c_y = 0;
 XKind = 0;
 YKind = 0;
 }
void GraphicClass::DrawAxis()
 {
 Form1 -> PaintBox1 -> Repaint();
 Form1 -> PaintBox1 -> Canvas -> MoveTo(1, ymid);
 Form1 -> PaintBox1 -> Canvas -> LineTo(xmax, ymid);
 Form1 -> PaintBox1 -> Canvas -> MoveTo(xmid, 1);
 Form1 -> PaintBox1 -> Canvas -> LineTo(xmid, ymax);
 
 for (int i = 0; i <= xmax / deltaX; i++)
  {
  Form1 -> PaintBox1 -> Canvas -> MoveTo(xmid + i * deltaX, ymid - 1);
  Form1 -> PaintBox1 -> Canvas -> LineTo(xmid + i * deltaX, ymid + 2);
  Form1 -> PaintBox1 -> Canvas -> MoveTo(xmid - i * deltaX, ymid - 1);
  Form1 -> PaintBox1 -> Canvas -> LineTo(xmid - i * deltaX, ymid + 2);
  }
 for (int i = 0; i <= ymax / deltaY; i++)
  {
  Form1 -> PaintBox1 -> Canvas -> MoveTo(xmid - 1, ymid + i * deltaY);
  Form1 -> PaintBox1 -> Canvas -> LineTo(xmid + 2, ymid + i * deltaY);
  Form1 -> PaintBox1 -> Canvas -> MoveTo(xmid - 1, ymid - i * deltaY);
  Form1 -> PaintBox1 -> Canvas -> LineTo(xmid + 2, ymid - i * deltaY);
  }
 }
void GraphicClass::DrawGraphic()
 {
 for (int t = -1000; t <= 1000; t++)
  {
  switch(XKind)
   {
   case 0: X = a_x; break;
   case 1: X = a_x * 0.01 * t + b_x; break;
   case 2: if (!(b_x < 0 && t == 0))
    X = a_x * (pow(0.01 * t, b_x) + c_x); break;
   case 3: X = a_x * sin(b_x * 0.01 * t + c_x); break;
   case 4: X = a_x * cos(b_x * 0.01 * t + c_x); break;
   case 5: X = a_x * tan(b_x * 0.01 * t + c_x); break;
   case 6: if (b_x * 0.01 * t + c_x != 0)
    X = a_x / tan(b_x * 0.01 * t + c_x); break;
   case 7: X = a_x * exp(b_x * 0.01 * t + c_x); break;
   case 8: X = a_x * sin(b_x * 0.01 * t) * sin(c_x * 0.01 * t); break;
   case 9: X = a_x * sin(b_x * 0.01 * t) * cos(c_x * 0.01 * t); break;
   case 10: X = a_x * cos(b_x * 0.01 * t) * cos(c_x * 0.01 * t); break;
   case 11: X = a_x * exp(b_x * 0.01 * t) * sin (c_x * 0.01 * t); break;
   };
  switch(YKind)
   {
   case 0: Y = a_y; break;
   case 1: Y = a_y * 0.01 * t + b_y; break;
   case 2: if (!(b_y < 0 && t == 0))
    Y = a_y * (pow(0.01 * t, b_y) + c_y); break;
   case 3: Y = a_y * sin(b_y * 0.01 * t + c_y); break;
   case 4: Y = a_y * cos(b_y * 0.01 * t + c_y); break;
   case 5: Y = a_y * tan(b_y * 0.01 * t + c_y); break;
   case 6: if (b_y * 0.01 * t + c_y != 0)
    Y = a_y / tan(b_y * 0.01 * t + c_y); break;
   case 7: Y = a_y * exp(b_y * 0.01 * t + c_y); break;
   case 8: Y = a_y * sin(b_y * 0.01 * t) * sin(c_y * 0.01 * t); break;
   case 9: Y = a_y * sin(b_y * 0.01 * t) * cos(c_y * 0.01 * t); break;
   case 10: Y = a_y * cos(b_y * 0.01 * t) * cos(c_y * 0.01 * t); break;
   case 11: Y = a_y * exp(b_y * 0.01 * t) * sin (c_y * 0.01 * t); break;
   };
  Form1 -> PaintBox1 -> Canvas -> Pixels[xmid + X * deltaX][ymid - Y * deltaY] = clGreen;
  }
 }
void GraphicClass::SetXKind(int xkind)
 {
 XKind = xkind;
 }
void GraphicClass::SetYKind(int ykind)
 {
 YKind = ykind;
 }
void GraphicClass::SetAX(double ax)
 {
 a_x = ax;
 }
void GraphicClass::SetBX(double bx)
 {
 b_x = bx;
 }
void GraphicClass::SetCX(double cx)
 {
 c_x = cx;
 }
void GraphicClass::SetAY(double ay)
 {
 a_y = ay;
 }
void GraphicClass::SetBY(double by)
 {
 b_y = by;
 }
void GraphicClass::SetCY(double cy)
 {
 c_y = cy;
 }
void GraphicClass::SetDeltaX(double dX)
 {
 deltaX = dX;
 }
void GraphicClass::SetDeltaY(double dY)
 {
 deltaY = dY;
 }
 
GraphicClass Graphic;
//--------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Graphic.DrawAxis();
}
//--------------------------------------------------------------------
void __fastcall TForm1::TrackBar1Change(TObject *Sender)
{
Edit7 -> Text = TrackBar1 -> Position;
Graphic.SetDeltaX(TrackBar1 -> Position);
Graphic.DrawAxis();
Graphic.DrawGraphic();
}
//--------------------------------------------------------------------
void __fastcall TForm1::TrackBar2Change(TObject *Sender)
{
Edit8 -> Text = TrackBar2 -> Position;
Graphic.SetDeltaY(TrackBar2 -> Position);
Graphic.DrawAxis();
Graphic.DrawGraphic();
}
//--------------------------------------------------------------------
void __fastcall TForm1::ComboBox1Change(TObject *Sender)
{
Graphic.SetXKind(ComboBox1 -> ItemIndex);
Graphic.DrawAxis();
Graphic.DrawGraphic();
}
//--------------------------------------------------------------------
void __fastcall TForm1::ComboBox2Change(TObject *Sender)
{
Graphic.SetYKind(ComboBox2 -> ItemIndex);
Graphic.DrawAxis();
Graphic.DrawGraphic();
}
//--------------------------------------------------------------------
void __fastcall TForm1::Edit1Change(TObject *Sender)
{
if (Edit1 -> Text == "") Edit1 -> Text = "0";
Graphic.SetAX(Edit1 -> Text.ToDouble());
Graphic.DrawAxis();
Graphic.DrawGraphic();
}
//--------------------------------------------------------------------
void __fastcall TForm1::Edit2Change(TObject *Sender)
{
if (Edit2 -> Text == "") Edit2 -> Text = "0";
Graphic.SetBX(Edit2 -> Text.ToDouble());
Graphic.DrawAxis();
Graphic.DrawGraphic();
}
//--------------------------------------------------------------------
void __fastcall TForm1::Edit3Change(TObject *Sender)
{
if (Edit3 -> Text == "") Edit3 -> Text = "0";
Graphic.SetCX(Edit3 -> Text.ToDouble());
Graphic.DrawAxis();
Graphic.DrawGraphic();
}
//--------------------------------------------------------------------
void __fastcall TForm1::Edit4Change(TObject *Sender)
{
if (Edit4 -> Text == "") Edit4 -> Text = "0";
Graphic.SetAY(Edit4 -> Text.ToDouble());
Graphic.DrawAxis();
Graphic.DrawGraphic();
}
//--------------------------------------------------------------------
void __fastcall TForm1::Edit5Change(TObject *Sender)
{
if (Edit5 -> Text == "") Edit5 -> Text = "0";
Graphic.SetBY(Edit5 -> Text.ToDouble());
Graphic.DrawAxis();
Graphic.DrawGraphic();
}
//--------------------------------------------------------------------
void __fastcall TForm1::Edit6Change(TObject *Sender)
{
if (Edit6 -> Text == "") Edit6 -> Text = "0";
Graphic.SetCY(Edit6 -> Text.ToDouble());
Graphic.DrawAxis();
Graphic.DrawGraphic();
}
почему ко всем кейсам пишет ошибку
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.05.2022, 12:41
Ответы с готовыми решениями:

Обращение к статической переменной указав ее как параметр функции
Добрых времени суток. Есть статический класс. public static class DataActions { public static string procesId { get;...

Ошибки компиляции при создании переменной типа String^ в собственном классе
ref class UtilCallOptions { private: String^ currentPath; }; приводит к: UtilCallOptions.h(4): error C2143:...

Обращение из функции к переменной
Здравствуйте! Написал программу по расчету времени истечения жидкости из бака. Вопрос такой: могу ли я в функции func обратиться к...

21
106 / 93 / 44
Регистрация: 26.07.2015
Сообщений: 197
16.05.2022, 17:52
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от tyole Посмотреть сообщение
а возможно это как-то через классы записать?
Не совсем понятно что именно надо сделать в виде класса. в GraphicClass уже всё разложено по методам.
0
0 / 0 / 0
Регистрация: 08.12.2021
Сообщений: 129
19.05.2022, 19:28  [ТС]
Разработать приложение с пользовательским интерфейсом, в котором были бы задействованы классы, методы классов, перегрузка операторов и обработка исключений.
вот сказали во что-то подобное переделать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.05.2022, 19:28

Обращение к несуществующей функции переменной класса
Доброго времени суток. предположим существует класс, к переменной которого можно обратиться так: $myClass-&gt;variar, и она будет...

Возможно ли обобщённое обращение к переменной в шаблонной функции?
Здравствуйте! Настиг вопрос. В заголовочном файле windows.h содержится описание двух, практически одинаковых структур. typedef...

Ошибки компиляции в вызове функции printf
В общем, вот код: #include&lt;stdio.h&gt; #include&lt;math.h&gt; main() { int x; float y,z,u,a,b; ...

Ооп обращение к функции, затем узнать присвоенное значение переменной
Задача в том, что ранее мы обратились к одной из функции и присвоили внутри нее значение одной из переменной. Затем необходимо узнать что...

Ошибки при компиляции в параметрах функции. DEV-C++
IDE DEV-C++ Пожалуйста, помогите исправить ошибки в вызове функции Mult. см. прикрепленная картинка Кроме этой функции все остальное...


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

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

Новые блоги и статьи
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml, в чате форсили функторы модулей как суперфичу. Пытаясь отдуплить концепт, наткнулся на тутор с простым примером. А главный принцип обучения от. . .
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru