Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 2
Регистрация: 01.05.2013
Сообщений: 43

Класс Кольца

17.05.2013, 17:20. Показов 758. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
подскажите где косяки)
Form1.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
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
#pragma once
#include "Ring.h"
 
namespace proba3 {
 
    using namespace System;
    using namespace System::ComponentModel;
    using namespace System::Collections;
    using namespace System::Windows::Forms;
    using namespace System::Data;
    using namespace System::Drawing;
 
    /// <summary>
    /// Сводка для Form1
    ///
    /// Внимание! При изменении имени этого класса необходимо также изменить
    ///          свойство имени файла ресурсов ("Resource File Name") для средства компиляции управляемого ресурса,
    ///          связанного со всеми файлами с расширением .resx, от которых зависит данный класс. В противном случае,
    ///          конструкторы не смогут правильно работать с локализованными
    ///          ресурсами, сопоставленными данной форме.
    /// </summary>
    public ref class Form1 : public System::Windows::Forms::Form
    {
    public:
        int x,y;
        Figure *f;
        Form1(void)
        {
            InitializeComponent();
            x=y=0;
            f=o;
        }
 
    protected:
        /// <summary>
        /// Освободить все используемые ресурсы.
        /// </summary>
        ~Form1()
        {
            if (components)
            {
                delete components;
            }
        }
 
    private:
        /// <summary>
        /// Требуется переменная конструктора.
        /// </summary>
        System::ComponentModel::Container ^components;
 
#pragma region Windows Form Designer generated code
        /// <summary>
        /// Обязательный метод для поддержки конструктора - не изменяйте
        /// содержимое данного метода при помощи редактора кода.
        /// </summary>
        void InitializeComponent(void)
        {
            this->SuspendLayout();
            // 
            // Form1
            // 
            this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
            this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
            this->ClientSize = System::Drawing::Size(292, 267);
            this->Name = L"Form1";
            this->Text = L"Form1";
            this->Paint += gcnew System::Windows::Forms::PaintEventHandler(this, &Form1::Form1_Paint);
            this->MouseClick += gcnew System::Windows::Forms::MouseEventHandler(this, &Form1::Form1_MouseClick);
            this->ResumeLayout(false);
 
        }
#pragma endregion
    private: System::Void Form1_MouseClick(System::Object^  sender, System::Windows::Forms::MouseEventArgs^  e) 
             {
                 if (x==0 && y==0)
                 {
                     x=e->X;
                     y=e->Y;
                 }
                 else
                 {
                 int r = (x-e->X)
                     f=new Ring(x,y,r)
                 }
             }
    private: System::Void Form1_Paint(System::Object^  sender, System::Windows::Forms::PaintEventArgs^  e) 
             {
                 Graphics^g=CreateGraphiсs();
                 if (f!=0)
                     f->Draw(g);
             }
    };
}
базовый класс фигуры:
Figure.h:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#pragma once
using System.Drawing;
 
class Figure
{
protected:
    int x,y;
public:
    Figure(void);
    Figure(int px, int py);
    ~Figure(void);
    int Get ();
    void Setx(int xNew);
    void Move (int x1, int y1);
    void MoveBy(int dx, int dy);
    virtual bool Draw(Graphics^g)=0;
};
Figure.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
#include "StdAfx.h"
#include "Figure.h"
 
Figure::Figure(void)
{
    x=0;
    y=0;
}
 
Figure::Figure(int px, int py)
{
    x=px;
    y=py;
}
Figure::~Figure(void)
{
}
int Figure::Get ()
{
return x;
}
void Figure::Setx(int xNew)
{
x=xNew;
}
void Figure::Move (int x1, int y1)
{
    x=x1;
    y=y1;
}
void Figure::MoveBy(int dx, int dy)
{
 x=x+dx;
 y=y+dy;
}
класс кольца (колец):
Ring.h:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#pragma once
#include "figure.h"
 
class Ring :
    public Figure
{
    int R;
public:
    Ring(void);
    Ring(int p1, int p2, int p3);
    ~Ring(void);
    double Area(void);
    void Draw(Graphics^g);
};
Ring.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
#include "StdAfx.h"
#include "Ring.h"
#include "cmath"
#include "iostream"
using namespace std;
 
Ring::Ring(void):Figure()
{
    R=0;
}
 
Ring::Ring(int p1, int p2, int p3):Figure(p1,p2)
{
    R=p3;
}
Ring::~Ring(void)
{
}
double Ring::Area(void)
{
    double Pi=3.1415926535;
    return Pi*R*R;
}
void Ring::Draw(Graphics^g)
{
Pen^p=new Pen(color::Black,3);
g->DrawEllipse(p,x-r,y-r,2*r,2*r);
}
Добавлено через 1 минуту
суть в том чтоб задать кольцо кликами по форме, вычислить его площадь. (возможно несколько колец)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.05.2013, 17:20
Ответы с готовыми решениями:

Создать класс круга и кольца. Задать вычитание кругов-результат кольцо
Вот такую штуку срочно надо написать

Ввести внутренний и внешний радиусы кольца. Найти площадь кольца
1.Ввести внутренний и внешний радиусы кольца. Найти площадь кольца.

Определить радиус кольца r, если индукция магнитного поля в центре кольца B=3 мкТл
Помогите пожалуйста. На концах проволочного кольца сопротивлением R=5 Ом разность потенциалов U=3 В. Определить радиус кольца r, если...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.05.2013, 17:20
Помогаю со студенческими работами здесь

Найти работу сил поля по перемещению заряда q из центра кольца в точку, находящуюся на оси кольца
Помогите, пожалуйста, решить. Кольцо радиуса R заряжено с линейной плотностью заряда ז. Найдите работу сил поля по перемещению заряда...

Есть класс A и класс B, класс B вложен в класс A и вложен в него, как классу B получить доступ к переменным класса A просто по имени?
На самом деле ничё фантастического я не прошу, ведь: template &lt;class T&gt; class matrix { friend class diagonal; ...

Класс таблиц баз данных и класс записей в таблице(реляционная таблица). Предусмотреть класс связей между таблицами
Здравствуйте! Никак не могу продумать структуру этой программы. Проходим наследование, но я все равно не знаю, как его здесь применить. Как...

Класс: Разработать абстрактный класс класс Point для задания координаты...
Всем привет, помогите пожалуйста решить задачу, я уже всю голову сломал, не знаю как решить... Разработать абстрактный класс класс...

кольца
как эти кольца сделать?


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru