Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
3 / 3 / 1
Регистрация: 11.10.2010
Сообщений: 18
1

Вывести в окне фигуры: домик, человечек, солнце

12.11.2010, 14:13. Показов 2413. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Используя различные фигуры (точка, линия, эллипс, круг, прямоугольник и др.) вывести в окне фигуры: домик, человечек, солнце. Фигуры должны быть заполнены разными цветами и разными кистями (минимум три варианта различной штриховки)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.11.2010, 14:13
Ответы с готовыми решениями:

Нарисовать тучу,закрывающую солнце. Когда туча наполовину закроет солнце начинается дождь
Собственно само задние:нарисовать тучу закрывающую солнце когда туча наполовину закроет солнце...

Нарисовать тучу, закрывающую солнце. Когда туча наполовину закрывает солнце, начинается дождь
Нарисовать тучу, закрывающую солнце. Когда туча наполовину закрывает солнце, начинается дождь.

написать программу чтобы рисовала:домик и солнце!
помогите пожалуйста написать программу чтобы рисовала:домик и солнце!

Используя процедуру домик построить в графическом окне городскую улицу
Используя процедуру домик построить в графическом окне городскую улицу

5
155 / 102 / 12
Регистрация: 22.07.2010
Сообщений: 445
12.11.2010, 16:24 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
#include <windows.h> 
#include <math.h> 
 
#define MoveTo(hdc, x, y) MoveToEx(hdc, x, y, NULL)
 
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); 
 
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, 
                    PSTR szCmdLine, int iCmdShow) 
{ 
    static char szAppName[] = "SineWave"; 
    HWND        hwnd; 
    MSG         msg;   
    WNDCLASSEX  wndclass; 
 
    wndclass.cbSize        = sizeof(wndclass); 
    wndclass.style         = CS_HREDRAW | CS_VREDRAW; 
    wndclass.lpfnWndProc   = WndProc; 
    wndclass.cbClsExtra    = 0; 
    wndclass.cbWndExtra    = 0; 
    wndclass.hInstance     = hInstance; 
    wndclass.hIcon         = LoadIcon(NULL, IDI_APPLICATION); 
    wndclass.hCursor       = LoadCursor(NULL, IDC_ARROW); 
    wndclass.hbrBackground =(HBRUSH) GetStockObject(WHITE_BRUSH); 
    wndclass.lpszMenuName  = NULL; 
    wndclass.lpszClassName = szAppName; 
    wndclass.hIconSm       = LoadIcon(NULL, IDI_APPLICATION); 
 
    RegisterClassEx(&wndclass); 
 
    hwnd = CreateWindow(szAppName, "Sine Wave Using Polyline", 
                                            WS_OVERLAPPEDWINDOW, 
                                            CW_USEDEFAULT, CW_USEDEFAULT, 
                                            350, 250, 
                                            NULL, NULL, hInstance, NULL); 
 
    ShowWindow(hwnd, iCmdShow); 
    UpdateWindow(hwnd); 
 
    while(GetMessage(&msg, NULL, 0, 0)) 
    { 
        TranslateMessage(&msg); 
        DispatchMessage(&msg); 
    } 
    return msg.wParam; 
} 
 
LRESULT CALLBACK WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam) 
{ 
  static int  cxClient, cyClient; 
  HDC         hdc; 
  PAINTSTRUCT ps; 
 
    switch(iMsg) 
    { 
            case WM_SIZE: 
                cxClient = LOWORD(lParam); 
                cyClient = HIWORD(lParam); 
                return 0; 
 
            case WM_PAINT: 
                hdc = BeginPaint(hwnd, &ps); 
                
                Rectangle(hdc, 100, 100, 200, 200);
                MoveTo(hdc, 100, 100);
                LineTo(hdc, 150, 50);
                LineTo(hdc, 200, 100);
                
                MoveTo(hdc, 0, 0);
                LineTo(hdc, 25, 50);
                MoveTo(hdc, 0, 0);
                LineTo(hdc, 50, 50);
                MoveTo(hdc, 0, 0);
                LineTo(hdc, 50, 25);
                Ellipse(hdc, -25, -25, 25, 25);
                
                MoveTo(hdc, 225, 200);
                LineTo(hdc, 250, 150);
                LineTo(hdc, 250, 100);
                LineTo(hdc, 225, 150);
                MoveTo(hdc, 250, 100);
                LineTo(hdc, 275, 150);
                MoveTo(hdc, 250, 150);
                LineTo(hdc, 275, 200);
                Ellipse(hdc, 225, 75, 275, 100);
                
                EndPaint(hwnd, &ps);
                return 0; 
 
            case WM_DESTROY: 
                PostQuitMessage(0); 
                return 0; 
    } 
 
 return DefWindowProc(hwnd, iMsg, wParam, lParam); 
}
0
0 / 0 / 0
Регистрация: 26.02.2015
Сообщений: 13
10.03.2015, 10:44 3
скопировал код, выдает две ошибки
Ошибка 1 error C2440: =: невозможно преобразовать 'char [9]' в 'LPCWSTR' c:\users\iy3031\documents\visual studio 2008\projects\sadfhj\sadfhj\sadfhj.cpp 31 sadfhj
Ошибка 2 error C2664: CreateWindowExW: невозможно преобразовать параметр 2 из 'char [9]' в 'LPCWSTR' c:\users\iy3031\documents\visual studio 2008\projects\sadfhj\sadfhj\sadfhj.cpp 40 sadfhj
0
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,719
10.03.2015, 11:03 4
Отключите использование уникода в свойствах проекта
Меню
Проект- свойства - свойства конфигурации - набор знаков
"Не задано (not set)"
0
0 / 0 / 0
Регистрация: 26.02.2015
Сообщений: 13
10.03.2015, 12:06 5
сделал, теперь другие ошибки вылезли
Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup MSVCRTD.lib sadfhj
Ошибка 2 fatal error LNK1120: 1 неразрешенных внешних элементов C:\Users\iy3031\Documents\Visual Studio 2008\Projects\sadfhj\Debug\sadfhj.exe sadfhj

Добавлено через 26 минут
все ,спасибо большое, сам разобрался

Добавлено через 26 минут
теперь другая проблема:Фигуры должны быть заполнены разными цветами и разными кистями (минимум три варианта различной штриховки).
0
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,719
10.03.2015, 12:42 6
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
 case WM_PAINT:
   {   // будут локальные переменные -  берем case в скобки
                hdc = BeginPaint(hwnd, &ps); 
                HPEN pen1,pen2,penOld;
                pen1=CreatePen(PS_SOLID,1,RGB(255,0,0)); // самое красное перо толщиной 1 пиксел
                pen2=CreatePen(PS_SOLID,3,RGB(0,255,0)); // самое зеленое перо толщиной 3 пиксела
 
               HBRUSH br1,br2,brOld;
               br1=CreateSolidBrush(RGB(255,255,0)); // Желтая кисть         
               br2=CreateSolidBrush(RGB(0,0,255));    //Синяя кисть                
 
                penOld=(HPEN)SelectObject(hdc,pen1); // выбрали 1 перо и 
                brOld=(HBRUSH)SelectObject(hdc,br1);   // первую кисть
                Rectangle(hdc, 100, 100, 200, 200);
                MoveTo(hdc, 100, 100);
                LineTo(hdc, 150, 50);
                LineTo(hdc, 200, 100);
                
                SelectObject(hdc,pen1); // выбрали 2 перо
                MoveTo(hdc, 0, 0);
                LineTo(hdc, 25, 50);
                MoveTo(hdc, 0, 0);
                LineTo(hdc, 50, 50);
                MoveTo(hdc, 0, 0);
                LineTo(hdc, 50, 25);
                Ellipse(hdc, -25, -25, 25, 25);
                ....
                SelectObject(hdc,penOld); //восстановили исходное перо 
                SelectObject(hdc,brOld); //восстановили исходную кисть
 
                DeleteObject(hdc,pen1); //удалили все созданные ресурсы 
                DeleteObject(hdc,pen2); //удалили все созданные ресурсы 
                DeleteObject(hdc,br1); //удалили все созданные ресурсы 
                DeleteObject(hdc,br2); //удалили все созданные ресурсы 
              
                
                EndPaint(hwnd, &ps);
                return 0;
  }
0
10.03.2015, 12:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.03.2015, 12:42
Помогаю со студенческими работами здесь

Графика. Нарисовать небо, движущиеся облака и солнце; если облако закрывает солнце, идет дождь
Нарисовать небо и движущиеся облака и солнце. Если облако закрывает солнце, идет дождь. Движение...

Вывести строку из букв. Гласные буквы вывести в одном окне по диагонали окна, согласные в - другом окне по другой диагонали
Ввести строку из букв. Гласные буквы вывести в одном окне по диагонали окна, согласные - в другом...

Солнце полезно... Солнце вредно...
Солнце полезно... Солнце вредно... Какое же из этих утверждений действительно верно? И то, и...

Движение фигуры в окне
Здравствуйте. Проблема заключается в том, что не получается реализовать это, есть только вращение...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru