Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2022, 11:06   #1
OptikMax
Новичок
Джуниор
 
Регистрация: 23.05.2022
Сообщений: 3
Вопрос Объяснить код

Прошу профессионалов объяснить код с++ чайнику. Что за команды использованы и что делают, либо же скинуть какое-то пособие по подобным кодам. Если не затруднит то можно код с данной функцией но легче.

#include <tchar.h>
#include <windows.h>
#include <iostream>
#include <cmath>
using namespace std;

int x, y, z;
void dl(HDC hDC, int d)
{
x += (d - 1) % 2 * z;
y += (d - 2) % 2 * z;
LineTo(hDC, x, y);
Sleep(10);
}

void f(HDC hDC, int i, int j, unsigned int n)
{
if (n)
{
f(hDC, j, i, n - 1);
dl(hDC, j);
f(hDC, i, j, n - 1);
dl(hDC, i);
f(hDC, i, j, n - 1);
dl(hDC, (j + 2) % 4);
f(hDC, (j + 2) % 4, (i + 2) % 4, n - 1);
}
}

int _tmain(int argc, _TCHAR* argv[])
{
HWND hW = GetConsoleWindow();
HDC hDC = GetDC(GetConsoleWindow());
HPEN pen = CreatePen(PS_SOLID, 1, RGB(255, 255, 255));
SelectObject(hDC, pen);

setlocale(LC_ALL, "Russian");
unsigned int n = 100;
while (n > 8)
{
system("cls");
cout << "Увеличьте высоту консоли, введите порядок фрактала (0-8): ";
cin >> n;
}
x = 10; y = 40; z = 600 / ((1 << n) - 1);
MoveToEx(hDC, x, y, NULL);
f(hDC, 2, 3, n);


DeleteObject(pen);
ReleaseDC(hW, hDC);
system("pause");
cin >> n;
return 0;
}

Последний раз редактировалось OptikMax; 23.05.2022 в 11:08. Причина: Добавление описания
OptikMax вне форума Ответить с цитированием
Старый 23.05.2022, 11:47   #2
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Это функции WinAPI. Про любую в интернете полно информации. Например см. тут
macomics вне форума Ответить с цитированием
Старый 24.05.2022, 12:40   #3
OptikMax
Новичок
Джуниор
 
Регистрация: 23.05.2022
Сообщений: 3
По умолчанию

macomics, честно говоря, не нашел
OptikMax вне форума Ответить с цитированием
Старый 24.05.2022, 15:14   #4
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

KERNEL32.DLL: GetConsoleWindow; Sleep;
USER32.DLL: GetDC; ReleaseDC;
GDI32.DLL: CreatePen; DeleteObject; LineTo; MoveToEx; SelectObject;

Полный список с описаниями для каждой из библиотек: KERNEL32.DLL, USER32.DLL, GDI32.DLL. Все три эти ссылки на PDF файлы. вы их можете просто скачать и обращаться в любое время.

Последний раз редактировалось macomics; 24.05.2022 в 15:17.
macomics вне форума Ответить с цитированием
Старый 26.05.2022, 08:10   #5
OptikMax
Новичок
Джуниор
 
Регистрация: 23.05.2022
Сообщений: 3
По умолчанию

Цитата:
Сообщение от macomics Посмотреть сообщение
KERNEL32.DLL: GetConsoleWindow; Sleep;
USER32.DLL: GetDC; ReleaseDC;
GDI32.DLL: CreatePen; DeleteObject; LineTo; MoveToEx; SelectObject;

Полный список с описаниями для каждой из библиотек: KERNEL32.DLL, USER32.DLL, GDI32.DLL. Все три эти ссылки на PDF файлы. вы их можете просто скачать и обращаться в любое время.
благодарю
OptikMax вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как объяснить aionpro Помощь студентам 3 29.11.2017 16:00
Прошу объяснить Storri Win Api 1 12.04.2015 20:07
Объяснить KIRILOW Помощь студентам 0 24.12.2012 10:29
Как объяснить? Xenm Свободное общение 11 21.09.2010 11:27
Как объяснить прогу Devid92 Помощь студентам 0 31.05.2010 18:57