Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 31.03.2017
Сообщений: 9

Блок-схема на код

02.04.2017, 16:39. Показов 779. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
104
105
106
107
108
109
110
111
112
113
114
115
116
#include <Windows.h>
#include <tchar.h>
#include <cmath>
#define M_PI           3.14159265358979323846  /* pi */
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;
TCHAR WinName[] = _T("MainFrame") ;
int APIENTRY WinMain(HINSTANCE This, // Дескриптор текущего приложения
                     HINSTANCE,                   // В современных системах всегда 0
                     LPTSTR,                       // Командная строка
                     int mode)                         // Режим отображения окна
{
    HWND hWnd;              // Дескриптор главного окна программы
    MSG msg;                // Структура для хранения сообщения
    WNDCLASS wc;  // Класс окна
    // Определение класса окна
    wc.hInstance = This;
    wc.lpszClassName = WinName;                // Имя класса окна
    wc.lpfnWndProc = WndProc;                  // Функция окна
    wc.style = CS_HREDRAW | CS_VREDRAW;       // Стиль окна
    wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);    // Стандартная иконка
    wc.hCursor = LoadCursor(NULL, IDC_ARROW); // Стандартный курсор
    wc.lpszMenuName = NULL;       // Нет меню
    wc.cbClsExtra = 0;            // Нет дополнительных данных класса
    wc.cbWndExtra = 0;            // Нет дополнительных данных окна
    // Заполнение окна белым цветом
    wc.hbrBackground = (HBRUSH) (COLOR_WINDOW+1);
    if (!RegisterClass(&wc)) return 0;   // Регистрация класса окна
    // Создание окна
    hWnd = CreateWindow(WinName, // Имя класса окна
        _T("Шарик"),  // Заголовок окна
        WS_OVERLAPPEDWINDOW,         // Стиль окна
        200, // x
        300, // y   Размеры окна
        400, // width
        300, // Height
        HWND_DESKTOP, // Дескриптор родительского окна
        NULL,         // Нет меню
        This,         // Дескриптор приложения
        NULL);        // Дополнительной информации нет
    ShowWindow(hWnd, mode); // Показать окно
    // Цикл обработки сообщений
    while(GetMessage(&msg, NULL, 0, 0))
    {
        TranslateMessage(&msg); // Функция трансляции кодов нажатой клавиши
        DispatchMessage(&msg);  // Посылает сообщение функции WndProc()
    }
    return 0;
}
 
RECT rc;
int x,y; // Координаты места создания шарика т.с там где он появится в нашем окне // скорость нашего шара
int R; // Размер шара
double vx,vy;
double t;
LRESULT CALLBACK WndProc(HWND hWnd,UINT message, WPARAM wParam,LPARAM lParam)
{
    switch(message)
    {
    case WM_LBUTTONDOWN: // По нажатию левой кнопки мыши устанавливаем параметры и запускаем таймер который при значений NULL выполняет WM_TIMER 
        x  = LOWORD(lParam);// Сохраняем координаты курсора мыши (Ширина-высота)
        y  = HIWORD(lParam);
        R=15;
        t=(rand()%360-180)*M_PI/180.0;
        vx=10.0*cos(t); 
        vy=10.0*sin(t);
        // R - Радиус (Размер)
        // x;y - место появления шара т.е место куда мы щелкнули мышью это определяется параметрами LOWORD / HIWORD
        // vx ; vy - скорось шарика
 
        SetTimer(hWnd,1,25,NULL);
        break;
    case WM_TIMER://Начинаем выполнять идем ниже
        {
            InvalidateRect(hWnd,&rc,true);// Стираем старое положение шарика
            x+=vx;y+=vy; // новые координаты по задумке должно быть так x+=*vx;y+=*vy но компилятор ругается на умножение
            RECT rt;
            GetClientRect(hWnd, &rt);
            int w=rt.right;
            int h=rt.bottom;// длина и высота рабочей области
            if(x>=w-R)vx=-abs(vx); // проверка отражения от правой стенки
            if(y>h-R)vy=-abs(vy);// проверка низа
            if(x<R)vx=abs(vx); // проверка левой стенки
            if(y<R)vy=abs(vy); // проверка верха
 
            rc.left=x-R-1;
            rc.top=y-R-1;
            rc.right=x+R+1;
            rc.bottom=y+R+1;
            InvalidateRect(hWnd,&rc,false); // нарисовать новое положение
        }
        break;
    case WM_PAINT :
        {
            PAINTSTRUCT ps;
            HDC hdc;
 
            hdc = BeginPaint(hWnd, &ps);
            //============= (Окраска нашего круга) ===========
            HBRUSH br, obr;
            br = CreateSolidBrush(RGB(255,0,0)); 
            obr = (HBRUSH)SelectObject(hdc, br);
            //============== (Рисуем наш круг) ============
            Ellipse(hdc,x-R,y-R,x+R,y+R);
            // ===============================================
            SelectObject(hdc, obr); // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
            DeleteObject(br); //  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
            EndPaint(hWnd, &ps);
        }
        break;
    case WM_DESTROY :
        KillTimer(hWnd, 1);// Удаляем наш таймер при закрытий окна
        PostQuitMessage(0);
        break;
    }
    return DefWindowProc(hWnd, message, wParam, lParam);
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.04.2017, 16:39
Ответы с готовыми решениями:

Блок схема и код
Нужно сделать задание, вообще не понимаю как это можно написать

Нужна блок-схема и код программы
П.5.4. Правил Запрещено создавать темы с бессмысленными названиями вроде &quot;Помогите!&quot;, &quot;Вопрос&quot; и т.п. П.5.18.Правил ...

блок-схема алгоритма и програмный код функции
Прошу помочь с данным заданием. Напишите блок-схему алгоритма и програмный код функции с коментариями. Для функции передаваемые...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.04.2017, 16:39
Помогаю со студенческими работами здесь

Блок-схема и код для вычисления функции
Составить блок-схему и программу по заданному условию. Не понимаю, как это сделать. Ссылка на условие d e l

Программый код и блок-схема по Си++ Оператор выбора switch
1. По последней цифре данного натурального числа определить последню цифру квадрата этого числа. 2. Если у данного натурального...

По длинам сторон определить, можно ли построить треугольник. Нужна блок схема и желательно код
Задача 1. Три отрезка заданы длинами. Определить, можно ли построить из них треугольник, если - да, то вычислить радиус круга, ...

Блок схема ( схема алгоритма )
Доброго времени суток . Есть вот такая програмка : bool checktwo(const int x); int main(){ for (int i=1000; i&lt;10000; i++)...

Блок-схема к примеру (проверить код, код рабочий)
Даны действительные числа a, b, c. Получить: (формула ниже). Определить функцию нахождения максимума. uses crt; function...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru