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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.71
kg250493
-62 / 0 / 0
Регистрация: 15.09.2012
Сообщений: 13
#1

Нарисовать елку и месяц - C++

08.11.2012, 20:28. Просмотров 1792. Ответов 3
Метки нет (Все метки)

как нарисовать елку и месяц.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.11.2012, 20:28     Нарисовать елку и месяц
Посмотрите здесь:

Нарисовать елку со звездой - C++
нужно зделать ёлку, код есть который делает триугольник, надо зделать так что б в конце под ним была последняя звезда по серидине, ну что б...

Нарисовать елку при помощи рекурсии - C++
помогите пожалуйста нарисовать елочку при помощи рекурсии...

Построить на экране елку - C++
1. построить на экране Елку

Введите с клавиатуры данные о температуре воздуха за месяц. Определите, сколько раз за месяц была самая низкая температура? - C++
Собственно, проходим циклы, возникли проблемы с этой задачей. Нуждаюсь в вашей помощи.

Вывести "елку" из звездочек - C++
Нужно вывести елочку как на рисунку только с помощью циклов. И объясните как оно делается. Целый день ломаю голову и не могу так...

Определить месяц, в котором прибыль была максимальна и месяц, в котором прибыль была минимальна. - C++
Пользователь вводит прибыль фирмы за год (12 месяцев). Необходимо определить месяц, в котором прибыль была максимальна и месяц, в котором...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asidorchenko
379 / 205 / 25
Регистрация: 09.04.2012
Сообщений: 635
11.11.2012, 11:54     Нарисовать елку и месяц #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
100
101
102
103
// компиляция (Microsoft Visual C++):
// cl /c paint01.cpp
// link paint01.obj gdi32.lib user32.lib kernel32.lib
 
#include <windows.h>
 
HINSTANCE hInst;
HWND hwndMain;
 
LRESULT APIENTRY WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
 POINT pnt;
 LPPOINT lpPoint;
 
 HDC hdc;
 RECT rect;
 switch(message)
 {
  case WM_PAINT:
   rect.left =0;
   rect.top = 0;
   rect.right = 200;
   rect.bottom = 200;
   hdc = GetDC(hwndMain);
   //FillRect(hdc, &rect, (HBRUSH) GetStockObject(BLACK_BRUSH));
   //InvalidateRect(hwndMain, &rect, 1);
 
// x y
   MoveToEx(hdc, 60, 80,lpPoint);
   LineTo(hdc, 60, 320);
   {
   int x1, y1;
   for(y1 = 80; y1<220; y1+=5)
     {
       MoveToEx(hdc, 60, y1 ,lpPoint);
       LineTo(hdc, 40, y1+10);
       MoveToEx(hdc, 60, y1 ,lpPoint);
       LineTo(hdc, 80, y1+10);
     }
   }
  // WINGDIAPI BOOL WINAPI ArcTo(__in HDC hdc, 
  //__in int left, __in int top, __in int right, __in int bottom, 
  //__in int xr1, __in int yr1, __in int xr2, __in int yr2);
  //
  MoveToEx(hdc, 110,25 ,lpPoint);
  ArcTo(hdc, 100,10, 150,110, 150,110, 100,10 );
 
   ReleaseDC(hwndMain, hdc);
   return 0;
 
  case WM_DESTROY:
   PostQuitMessage(0);
   return 0;
  default:
   return DefWindowProc(hwnd,  message, wParam,  lParam);
 }
return DefWindowProc(hwnd,  message, wParam,  lParam);
}
 
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdSHow)
{
MSG msg;
WNDCLASSEX wcx;
 
hInst = hInstance;
 
wcx.cbSize = sizeof(wcx);
wcx.style = CS_HREDRAW | CS_VREDRAW;
wcx.lpfnWndProc = (WNDPROC) WndProc;
wcx.cbClsExtra = 0;
wcx.cbWndExtra = 0;
wcx.hInstance = hInstance;
wcx.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wcx.hCursor = LoadCursor(NULL, IDC_ARROW);
wcx.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
wcx.lpszMenuName = "MainMenu";
wcx.lpszClassName = "MainWClass";
wcx.hIconSm = NULL;
 
if (!RegisterClassEx(&wcx))
{
MessageBox(NULL, "!RegisterClassEx(&wcx)", "!RegisterClassEx(&wcx)", NULL);
}
 
hwndMain = CreateWindow("MainWClass","Main Window",
WS_OVERLAPPEDWINDOW | WS_HSCROLL | WS_VSCROLL,
0,0,400,400,(HWND) NULL, (HMENU) NULL,hInstance, NULL);
if (!hwndMain)
{
MessageBox(NULL, "!hwndMain", "!hwndMain", NULL);
return FALSE;
}
ShowWindow(hwndMain, SW_SHOW);
UpdateWindow(hwndMain);
 
BOOL fGotMessage;
while((fGotMessage = GetMessage(&msg, (HWND) NULL, 0, 0))!=0 &&  fGotMessage!=-1)
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,183
Завершенные тесты: 1
11.11.2012, 12:05     Нарисовать елку и месяц #3
По сообщению WM_PAINT нужно обязательно вызывать BeginPaint
а не GetDC
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.11.2012, 12:12     Нарисовать елку и месяц
Еще ссылки по теме:

Текущий месяц - C++
Что-то туплю: как получить текущий месяц в с++?

Месяц и квартал - C++
Задано целое число N (1 ≤ N ≤ 12), которое определят номер месяца в году. По заданному значению N выведите название квартала, к которому...

С клавиатуры указать месяц - C++
Чтобы номер месяца можно было вводить с клавиатуры, и были ограничения на месяца #include &lt;iostream.h&gt; #include &lt;conio.h&gt; bool...

Дни, месяц и Год - C++
Даны три целых числа D - день, M - месяц, Y - год некоторого года. Печать на экран дату следующего месяца (+31 день). прошу код на Си

Дата, год, месяц, день - C++
/* Дата год, месяц, день от 01.01.0001 до 31.12.2999 Date Високосными являются года кратные 4 и 400, но не кратные 100 ...

Расчет средней зарплаты за любой месяц - C++
В Двумерном массиве хранится информация о зарплате 18 человек за каждый месяц года (в первом столбце — зарплата за январь, во втором — за...


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

Или воспользуйтесь поиском по форуму:
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
11.11.2012, 12:12     Нарисовать елку и месяц #4
Цитата Сообщение от kg250493 Посмотреть сообщение
как нарисовать елку и месяц.
Для начала надо определиться с тем, как это должно выглядеть. Готового объекта "ёлка" нет, его придётся составить из примитивов. Какая библиотека будет исполнять твою графику? GDI? OpenGL? Или ещё что? Ознакомься с примитивами выбранной библиотеки, с тем, как они выглядят, а потом из этих примитивов составь изображение, можно на бумаге. Потом тебе нужны параметры примитивов. Например, сплайн Безье определяется координатами 4-х точек: 2 точки - концы самого сплайна, а 2 между ними - отрезков касательных, вторые концы которых - концы самого сплайна, длина каждого отрезка пропорциональна радиусу кривизны в соответствующей точке касания. Определись со значениями параметров. Потом тебе нужен синтаксис подготовительных и завершающих операций и синтаксис отрисовки примитивов и всего рисунка.
Yandex
Объявления
11.11.2012, 12:12     Нарисовать елку и месяц
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru