Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
4 / 4 / 3
Регистрация: 28.10.2012
Сообщений: 321

Построение графика

06.12.2014, 21:59. Показов 3118. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, исправьте пожалуйста ошибки кому не сложно
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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include <math.h>
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Edit1->Text = "";
Edit2->Text = "";
Edit3->Text = "";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormPaint(TObject *Sender)
{
float w, //Width
          h; //Height
    w = PntBx->Width;
    h = PntBx->Height;
    PntBx->Canvas->MoveTo(w*0.05, h*0.95);
    PntBx->Canvas->LineTo(w*0.95, h*0.95);
    PntBx->Canvas->LineTo(w*0.94, h*0.94);
    PntBx->Canvas->MoveTo(w*0.95, h*0.95);
    PntBx->Canvas->LineTo(w*0.94, h*0.96);
    PntBx->Canvas->MoveTo(w*0.05, h*0.95);
    PntBx->Canvas->LineTo(w*0.05, h*0.05);
    PntBx->Canvas->LineTo(w*0.04, h*0.06);
    PntBx->Canvas->MoveTo(w*0.05, h*0.05);
    PntBx->Canvas->LineTo(w*0.06, h*0.06);
    PntBx->Canvas->TextOut(w*0.96, h*0.95,"x");
    PntBx->Canvas->TextOut(w*0.025, h*0.04,"y");  //оси
 
    double max = Func (double c, double a);
    double x = 0;
    double y = 0;
 
    PntBx->Canvas->MoveTo(w*0.05, h - 0.05*h - max);
    for(int i = 0.05*w; i<=w*0.90;)
    {
        y = h - 0.05*h - 5*Func(double, double);
        PntBx->Canvas->LineTo(i,y);
        x = x + 1/(0.85*w);
        i++;
    }
    PntBx->Canvas->TextOut(w*0.03, h - 0.06*h - 5*max, DoubleToStr(max));
    PntBx->Canvas->MoveTo(w*0.9, h*0.94);
    PntBx->Canvas->LineTo(w*0.9, h*0.96);
    PntBx->Canvas->TextOut(w*0.91, h*0.92, "1");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormResize(TObject *Sender)
{
    PntBx->Invalidate();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
try
        {
           if
           {
                double b=0, c = StrToDouble(Edit1->Text),a = StrToDouble(Edit2->Text);
               if (Func)
                {
                 b = Func(c,a);
                 Edit3->Text = DoubleToStr(b);
 
                }
                else Edit3->Text = "Error! Function not found!";
           }
           else Edit3->Text = "Error! Library not found!";
        }
        catch(...)
        {
                Edit3->Text = "Error!";
        }
}
//---------------------------------------------------------------------------
double TForm1::Func(double c, double a)
{
    return sqrt((c*c)-(a*a));
}
список ошибок
Code
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
Checking project dependencies...
Compiling Project1.cbproj (Debug, Win32)
bcc32 command line for "Unit1.cpp"
  c:\program files (x86)\embarcadero\rad studio\10.0\bin\bcc32.exe -D_DEBUG -D_RTLDLL;USEPACKAGES -nDebug -I"c:\program files (x86)\embarcadero\rad 
  studio\10.0\include\windows\vcl";"F:\ТРПО10";"C:\Program Files (x86)\Embarcadero\RAD Studio\10.0\include\boost_1_39\boost\tr1\tr1";"c:\program files 
  (x86)\embarcadero\rad studio\10.0\include";"c:\program files (x86)\embarcadero\rad studio\10.0\include\dinkumware";"c:\program files 
  (x86)\embarcadero\rad studio\10.0\include\vcl";"C:\Program Files (x86)\Embarcadero\RAD Studio\10.0\include\boost_1_39";"C:\Program Files 
  (x86)\Embarcadero\RAD Studio\10.0\include\boost_1_39\boost\tr1\tr1";"C:\Program Files (x86)\Embarcadero\RAD Studio\10.0\include\boost_1_39";
  "c:\program files (x86)\embarcadero\rad studio\10.0\include";"c:\program files (x86)\embarcadero\rad studio\10.0\include\dinkumware";"c:\program 
  files (x86)\embarcadero\rad studio\10.0\include\windows\crtl";"c:\program files (x86)\embarcadero\rad studio\10.0\include\windows\sdk";"c:\program 
  files (x86)\embarcadero\rad studio\10.0\include\windows\rtl";"c:\program files (x86)\embarcadero\rad studio\10.0\include\windows\vcl";"C:\Program 
  Files (x86)\FastReports\LibD17";"C:\Program Files (x86)\Raize\CS5\Lib\RS-XE3\Win32";"C:\Users\Public\Documents\RAD Studio\10.0\hpp";"c:\program files 
  (x86)\embarcadero\rad studio\10.0\include\windows\vcl";"F:\ТРПО10";"C:\Program Files (x86)\Embarcadero\RAD 
  Studio\10.0\include\boost_1_39\boost\tr1\tr1";"c:\program files (x86)\embarcadero\rad studio\10.0\include";"c:\program files (x86)\embarcadero\rad 
  studio\10.0\include\dinkumware";"c:\program files (x86)\embarcadero\rad studio\10.0\include\vcl";"C:\Program Files (x86)\Embarcadero\RAD 
  Studio\10.0\include\boost_1_39";"C:\Program Files (x86)\Embarcadero\RAD Studio\10.0\include\boost_1_39\boost\tr1\tr1";"C:\Program Files 
  (x86)\Embarcadero\RAD Studio\10.0\include\boost_1_39";"c:\program files (x86)\embarcadero\rad studio\10.0\include";"c:\program files 
  (x86)\embarcadero\rad studio\10.0\include\dinkumware";"c:\program files (x86)\embarcadero\rad studio\10.0\include\windows\crtl";"c:\program files 
  (x86)\embarcadero\rad studio\10.0\include\windows\sdk";"c:\program files (x86)\embarcadero\rad studio\10.0\include\windows\rtl";"c:\program files 
  (x86)\embarcadero\rad studio\10.0\include\windows\vcl";"C:\Program Files (x86)\FastReports\LibD17";"C:\Program Files 
  (x86)\Raize\CS5\Lib\RS-XE3\Win32";"C:\Users\Public\Documents\RAD Studio\10.0\hpp" -y -Q -k -r- -c -tM -tW -C8 -oDebug\Unit1.obj -w-par -Od -v -vi- 
  -H=Debug\Project1.pch -H Unit1.cpp 
[bcc32 Warning] W8123 Path 'F:\ТРПО10' not found - path ignored in option '-I'
[bcc32 Warning] W8123 Path 'c:\program files (x86)\embarcadero\rad studio\10.0\include\vcl' not found - path ignored in option '-I'
[bcc32 Warning] W8123 Path 'F:\ТРПО10' not found - path ignored in option '-I'
[bcc32 Warning] W8123 Path 'c:\program files (x86)\embarcadero\rad studio\10.0\include\vcl' not found - path ignored in option '-I'
[bcc32 Warning] W8123 Path 'F:\ТРПО10' not found - path ignored in option '-I'
[bcc32 Warning] W8123 Path 'c:\program files (x86)\embarcadero\rad studio\10.0\include\vcl' not found - path ignored in option '-I'
[bcc32 Warning] W8123 Path 'F:\ТРПО10' not found - path ignored in option '-I'
[bcc32 Warning] W8123 Path 'c:\program files (x86)\embarcadero\rad studio\10.0\include\vcl' not found - path ignored in option '-I'
[bcc32 Error] Unit1.cpp(50): E2188 Expression syntax
  Full parser context
    Unit1.cpp(32): parsing: void _fastcall TForm1::FormPaint(TObject *)
[bcc32 Error] Unit1.cpp(57): E2188 Expression syntax
  Full parser context
    Unit1.cpp(32): parsing: void _fastcall TForm1::FormPaint(TObject *)
[bcc32 Error] Unit1.cpp(62): E2268 Call to undefined function 'DoubleToStr'
  Full parser context
    Unit1.cpp(32): parsing: void _fastcall TForm1::FormPaint(TObject *)
[bcc32 Error] Unit1.cpp(78): E2376 If statement missing (
  Full parser context
    Unit1.cpp(74): parsing: void _fastcall TForm1::Button1Click(TObject *)
Failed
Elapsed time: 00:00:00.4
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.12.2014, 21:59
Ответы с готовыми решениями:

Построение графика
С графиком разобрался, и ещё один вопросик. У меня есть процедура которая выводит на Image текст...

Построение графика функции
задание: Запрограммировать на VC++ вывод в центральную область формы графика функции на интервале...

Построение графика функций
Спасибо всем заранее,кто откликнулся!!! С чего начинать и чем заканчивать (в общем случае)...

2
place status here
 Аватар для gunslinger
3186 / 2220 / 640
Регистрация: 20.07.2013
Сообщений: 6,013
06.12.2014, 23:51
Лучший ответ Сообщение было отмечено Pavel07 как решение

Решение

По твоему коду:
строка 77 - if без условия,
строка 57 - какие точно переменные используются в Func, понять крайне сложно.

Так или иначе, ниже код после удаления явных ошибок (в остальном сам разбирайся):
cpp:
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
double TForm1::Func(double c, double a)
{
  return sqrt(fabs((c*c)-(a*a)));
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormPaint(TObject *Sender)
{
  float w, //Width
        h; //Height
  w = PntBx->Width;
  h = PntBx->Height;
  PntBx->Canvas->MoveTo(w*0.05, h*0.95);
  PntBx->Canvas->LineTo(w*0.95, h*0.95);
  PntBx->Canvas->LineTo(w*0.94, h*0.94);
  PntBx->Canvas->MoveTo(w*0.95, h*0.95);
  PntBx->Canvas->LineTo(w*0.94, h*0.96);
  PntBx->Canvas->MoveTo(w*0.05, h*0.95);
  PntBx->Canvas->LineTo(w*0.05, h*0.05);
  PntBx->Canvas->LineTo(w*0.04, h*0.06);
  PntBx->Canvas->MoveTo(w*0.05, h*0.05);
  PntBx->Canvas->LineTo(w*0.06, h*0.06);
  PntBx->Canvas->TextOut(w*0.96, h*0.95,"x");
  PntBx->Canvas->TextOut(w*0.025, h*0.04,"y");  //оси
 
  double c = StrToFloatDef(Edit1->Text, 0), a = StrToFloatDef(Edit2->Text, 0);
  double max = Func (c, a);
  double x = 0;
  double y = 0;
 
  PntBx->Canvas->MoveTo(w*0.05, h - 0.05*h - max);
  for(int i = 0.05*w; i <= w*0.90; i++)
  {
    y = h - 0.05*h - 5*Func(i, h);
    PntBx->Canvas->LineTo(i,y);
    x = x + 1/(0.85*w);
  }
  PntBx->Canvas->TextOut(w*0.03, h - 0.06*h - 5*max, FloatToStr(max));
  PntBx->Canvas->MoveTo(w*0.9, h*0.94);
  PntBx->Canvas->LineTo(w*0.9, h*0.96);
  PntBx->Canvas->TextOut(w*0.91, h*0.92, "1");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormResize(TObject *Sender)
{
  PntBx->Invalidate();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  try
  {
    double b=0, c = StrToFloatDef(Edit1->Text, 0), a = StrToFloatDef(Edit2->Text, 0);
    if (Func(c,a))
    {
      b = Func(c,a);
      Edit3->Text = FloatToStr(b);
    }
    else
      Edit3->Text = "Error! Function not found!";
  }
  catch(...)
  {
    Edit3->Text = "Error!";
  }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
  Edit1->Text = "";
  Edit2->Text = "";
  Edit3->Text = "";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
  Close();
}
h:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class TForm1 : public TForm
{
__published:    // IDE-managed Components
    TPaintBox *PntBx;
    TEdit *Edit1;
    TEdit *Edit2;
    TEdit *Edit3;
    TButton *Button1;
    TButton *Button2;
    TButton *Button3;
    void __fastcall FormPaint(TObject *Sender);
    void __fastcall FormResize(TObject *Sender);
    void __fastcall Button1Click(TObject *Sender);
    void __fastcall Button2Click(TObject *Sender);
    void __fastcall Button3Click(TObject *Sender);
private:    // User declarations
public:     // User declarations
    __fastcall TForm1(TComponent* Owner);
    double Func(double c, double a);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
Миниатюры
Построение графика  
1
4 / 4 / 3
Регистрация: 28.10.2012
Сообщений: 321
07.12.2014, 10:42  [ТС]
спасибо, теперь работает но почему то график не строит
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.12.2014, 10:42
Помогаю со студенческими работами здесь

Построение графика функции
Построение графика функции. Помогите пожалуйста с лабораторной работой, на VC++ необходимо...

Построение графика по функции
привет всем, я опять со своей функцией возможно кто-нибудь сможет помочь, в лабе нужно использовать...

Создание файла и построение графика в Excel
Необходимо с помощью Visual C++ по двум массивам построить в Excel график. Каким образом это можно...

Открытие файла и построение графика на основе чисел в нем
Мне необходимо создать текстовый документ с числовыми данными. Например год и какоето числовое...

Построение графика по данным из файла
Доброго времени суток!!!у меня такой вопрос , возможно ли перевести массив чисел &quot;arr1&quot; в одну...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru