![]() |
|
![]() ![]() ![]() |
|
wall33 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 2.12.2015 Репутация: нет Всего: нет |
Вот такую фигуру нужно написать на С++. Помогите кто не будь
Присоединённый файл ( Кол-во скачиваний: 15 ) ![]() |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 18 Всего: 135 |
На Си++ фигуры не пишутся (как, впрочем, и на других языках). На ЯП пишутся программы.
Правильно ли я понял, вам нужно написать программу, которая рисует данную фигуру ? Вот программа на вымышленном языке, которая делает то, что вам нужно. Вам остаётся только перевести её на Си++
Добавлено через 1 минуту и 42 секунды лутше сночала радной язик выучеть, а патом ужэ Цэ плюс плюс -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
wall33 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 2.12.2015 Репутация: нет Всего: нет |
#define _USE_MATH_DEFINES
#include <vcl.h> #include <cmath> #pragma hdrstop #ifndef M_PI #define M_PI 3.1415926535897932384626433832795 #endif #include "Unit1.h" #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner){} static HBRUSH g_brush = NULL; static HBITMAP g_bmp = NULL; static HDC g_hdc = NULL; static int g_size = 0; void __fastcall TForm1::FormCreate(TObject *Sender){ g_brush = CreateSolidBrush(RGB(0, 0, 0)); g_size = Width / 2; g_bmp = CreateCompatibleBitmap(Canvas->Handle, g_size, g_size); g_hdc = CreateCompatibleDC(Canvas->Handle); SelectObject(g_hdc, g_bmp); Timer1->Enabled = true; Timer1->Interval = 80; } void __fastcall TForm1::Timer1Timer(TObject *Sender){ POINT dots[3]; int pos = g_size / 2; int radius = pos - 4; RECT rc = { 0, 0, g_size, g_size }; FillRect(g_hdc, &rc, g_brush); Ellipse(g_hdc, pos - radius, pos - radius, pos + radius, pos + radius); HGDIOBJ old = SelectObject(g_hdc, g_brush); double theta; double step = 360.0 / 8.; double off = (double)GetTickCount() / 20.; //рисуем пропеллеры for(int i = 0; i < 4; ++i){ theta = off * (M_PI / 180.); dots[0].x = dots[0].y = pos; dots[1].x = pos + radius * std::cos(theta); dots[1].y = pos + radius * std::sin(theta); theta = (off + step) * (M_PI / 180.); dots[2].x = pos + radius * std::cos(theta); dots[2].y = pos + radius * std::sin(theta); Polygon(g_hdc, dots, sizeof(dots)/sizeof(dots[0])); off += step * 2.; } SelectObject(g_hdc, old); //выводим на форму BitBlt(Canvas->Handle, (Width - g_size)/2, (Height - g_size)/2, g_size, g_size, g_hdc, 0, 0, SRCCOPY); } void __fastcall TForm1::FormDestroy(TObject *Sender){ DeleteObject(g_brush); DeleteObject(g_bmp); DeleteDC(g_hdc); } Добавлено через 1 минуту и 34 секунды Пишет неизвестные элементы В чем ошибка подскажите g_brush = CreateSolidBrush(RGB(0, 0, 0)); g_size = Width / 2; g_bmp = CreateCompatibleBitmap(Canvas->Handle, g_size, g_size); g_hdc = CreateCompatibleDC(Canvas->Handle); |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |