Форум программистов, компьютерный форум CyberForum.ru

Как это возможно сделать? - C++

Восстановить пароль Регистрация
 
ev03b
0 / 0 / 0
Регистрация: 11.08.2014
Сообщений: 18
23.11.2014, 18:55     Как это возможно сделать? #1
Как это сделать на с++
Миниатюры
Как это возможно сделать?  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2014, 18:55     Как это возможно сделать?
Посмотрите здесь:

как это сделать C++
C++ как можно сделать это? если вообще возможно (не задача)
C++ _TCHAR szTestString[] = как сделать тут ввод с клавиатуры и возможно ли это
C++ как это сделать
C++ нужно создать таблицу из 3 строк и 4 столбцов и заполнить её (любой информацией,это неважно) . Как это можно сделать ?
C++ Как загрузить файл формата .PLT в C++ И возможно ли это вообще, что бы с++ запускал программу?
C++ Выскакивают ошибки конвертации одного типа в другой, как возможно это исправить?
C++ Как записать в вектор структуру? Это вообще возможно сделать?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Aecttann
 Аватар для Aecttann
6 / 6 / 0
Регистрация: 19.10.2013
Сообщений: 265
23.11.2014, 19:02     Как это возможно сделать? #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
#include "windows.h"
#define _USE_MATH_DEFINES
#include <cmath>
#define WMAIN_CLASSNAME     "MyClassName"
#define WMAIN_CAPTION       "MyWindowName"
 
 
#define CIRCLE_CX                   150.0
#define CIRCLE_CY                   150.0
#define CIRCLE_BIG_RADIUS       100.0
#define CIRCLE_SMALL_RADIUS 40.0
#define ANGLE_COUNT             5
 
 
LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam, LPARAM lParam);
 
 
int CALLBACK WinMain(HINSTANCE hInst,HINSTANCE hPrev,LPTSTR cmd,int md)
{
    HWND hWnd;
    MSG msg;
    WNDCLASS wc;
    wc.cbClsExtra=0;
    wc.cbWndExtra=0;
    wc.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);
    wc.hCursor=LoadCursor(NULL,IDC_ARROW);
    wc.hIcon=LoadIcon(NULL,IDI_WINLOGO);
    wc.hInstance=hInst;
    wc.lpfnWndProc=WndProc;
    wc.style=CS_HREDRAW | CS_VREDRAW;
    wc.lpszClassName=WMAIN_CLASSNAME;
    wc.lpszMenuName=NULL;
 
    if(!RegisterClass(&wc))
        return 0;
 
    hWnd=CreateWindow(WMAIN_CLASSNAME,WMAIN_CAPTION,/*WS_OVERLAPPEDWINDOW*/WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX|WS_MAXIMIZEBOX | WS_VISIBLE,CW_USEDEFAULT,CW_USEDEFAULT,500,300,HWND_DESKTOP,NULL,hInst,0);
 
    if (!hWnd)
        return 0;
 
    while(GetMessage(&msg,NULL,0,0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return 0;
}
 
 
LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam, LPARAM lParam)
{
    PAINTSTRUCT ps;
    HDC hdc;
    switch (message)
    {
    case WM_SIZE:
        InvalidateRect(hWnd,NULL,true);
        break;
    case WM_PAINT:{//Собственно само рисование:
        hdc = BeginPaint(hWnd, &ps);
        POINT oldpoint;
        HPEN hPen=CreatePen(PS_SOLID,1,RGB(255,0,0)),hOldPen;
        HBRUSH hBrush=CreateSolidBrush(RGB(0,0,255)),hOldBrush;
        hOldBrush=(HBRUSH)SelectObject(hdc,hBrush);
        hOldPen=(HPEN)SelectObject(hdc,hPen);
 
        double shift=360.0/ANGLE_COUNT;
        double dbshift=shift/2.0;
        double x=-180.0;
        MoveToEx(hdc,CIRCLE_CX+CIRCLE_BIG_RADIUS*sin(double(x*M_PI)/180.0),CIRCLE_CY+CIRCLE_BIG_RADIUS*cos(double(x*M_PI)/180.0),&oldpoint);
        for(;x<=180.0;x+=shift){
            LineTo(hdc,CIRCLE_CX+CIRCLE_BIG_RADIUS*sin(double(x*M_PI)/180.0),CIRCLE_CY+CIRCLE_BIG_RADIUS*cos(double(x*M_PI)/180.0));
            LineTo(hdc,CIRCLE_CX+CIRCLE_SMALL_RADIUS*sin(double((x+dbshift)*M_PI)/180.0),CIRCLE_CY+CIRCLE_SMALL_RADIUS*cos(double((x+dbshift)*M_PI)/180.0));
        }
        ExtFloodFill(hdc,CIRCLE_CX,CIRCLE_CY,RGB(255,0,0),FLOODFILLBORDER);
        MoveToEx(hdc,oldpoint.x,oldpoint.y,&oldpoint);
        SelectObject(hdc,hOldPen);
        DeleteObject(hPen);
        SelectObject(hdc,hOldBrush);
        DeleteObject(hBrush);
        EndPaint(hWnd,&ps);
        break;
                      }
    case WM_DESTROY:
        PostQuitMessage(0);
        break;
    default: 
        return DefWindowProc(hWnd,message,wParam,lParam);
    }
    return 0;
}
ev03b
0 / 0 / 0
Регистрация: 11.08.2014
Сообщений: 18
23.11.2014, 19:05  [ТС]     Как это возможно сделать? #3
написать программу,которая запрашивает значение N -число от 1 до 20 и строит геометрический объект, изображенный на рисунке. N - число вершин вписанной в окружность звезды. Число отсекаемых вершин звезды всегда равняется 1.
Yandex
Объявления
23.11.2014, 19:05     Как это возможно сделать?
Ответ Создать тему
Опции темы

Текущее время: 17:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru