diff --git a/7, 8 лаб/7/1 лаб 7/1 лаб7.sln b/7, 8 лаб/7/1 лаб 7/1 лаб7.sln
new file mode 100644
index 0000000..0bf6205
--- /dev/null
+++ b/7, 8 лаб/7/1 лаб 7/1 лаб7.sln
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.35130.168
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "1 лаб7", "1 лаб7\1 лаб7.vcxproj", "{691966D8-4D4F-4BC9-85A1-47F52D3F3605}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {691966D8-4D4F-4BC9-85A1-47F52D3F3605}.Debug|x64.ActiveCfg = Debug|x64
+ {691966D8-4D4F-4BC9-85A1-47F52D3F3605}.Debug|x64.Build.0 = Debug|x64
+ {691966D8-4D4F-4BC9-85A1-47F52D3F3605}.Debug|x86.ActiveCfg = Debug|Win32
+ {691966D8-4D4F-4BC9-85A1-47F52D3F3605}.Debug|x86.Build.0 = Debug|Win32
+ {691966D8-4D4F-4BC9-85A1-47F52D3F3605}.Release|x64.ActiveCfg = Release|x64
+ {691966D8-4D4F-4BC9-85A1-47F52D3F3605}.Release|x64.Build.0 = Release|x64
+ {691966D8-4D4F-4BC9-85A1-47F52D3F3605}.Release|x86.ActiveCfg = Release|Win32
+ {691966D8-4D4F-4BC9-85A1-47F52D3F3605}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {582378A4-A4E9-4F79-9C00-5A45793B4257}
+ EndGlobalSection
+EndGlobal
diff --git a/7, 8 лаб/7/1 лаб 7/1 лаб7/1 лаб7.vcxproj b/7, 8 лаб/7/1 лаб 7/1 лаб7/1 лаб7.vcxproj
new file mode 100644
index 0000000..d39a3b9
--- /dev/null
+++ b/7, 8 лаб/7/1 лаб 7/1 лаб7/1 лаб7.vcxproj
@@ -0,0 +1,147 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 16.0
+ Win32Proj
+ {691966d8-4d4f-4bc9-85a1-47f52d3f3605}
+ My1лаб7
+ 10.0
+
+
+
+ Application
+ true
+ v142
+ Unicode
+
+
+ Application
+ false
+ v142
+ true
+ Unicode
+
+
+ Application
+ true
+ v142
+ Unicode
+
+
+ Application
+ false
+ v142
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+ false
+
+
+ true
+
+
+ false
+
+
+
+ Level3
+ true
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+ true
+ true
+
+
+
+
+ Level3
+ true
+ _DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/7/1 лаб 7/1 лаб7/1 лаб7.vcxproj.filters b/7, 8 лаб/7/1 лаб 7/1 лаб7/1 лаб7.vcxproj.filters
new file mode 100644
index 0000000..ef66db6
--- /dev/null
+++ b/7, 8 лаб/7/1 лаб 7/1 лаб7/1 лаб7.vcxproj.filters
@@ -0,0 +1,22 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Исходные файлы
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/7/1 лаб 7/1 лаб7/Source.cpp b/7, 8 лаб/7/1 лаб 7/1 лаб7/Source.cpp
new file mode 100644
index 0000000..d245923
--- /dev/null
+++ b/7, 8 лаб/7/1 лаб 7/1 лаб7/Source.cpp
@@ -0,0 +1,20 @@
+#include
+#include
+
+void aboutMe(){
+ printf("\n");
+ printf("\n");
+ printf("\n");
+ printf("\n");
+ printf(": -11\n");
+ printf(": 14.09.2024\n");
+ printf(": \n");
+ printf(" 1\n");
+}
+
+void main(){
+ SetConsoleCP(1251);
+ SetConsoleOutputCP(1251);
+
+ aboutMe();
+}
\ No newline at end of file
diff --git a/7, 8 лаб/7/2, 3, 4 лаб 7/2 лаб 7.sln b/7, 8 лаб/7/2, 3, 4 лаб 7/2 лаб 7.sln
new file mode 100644
index 0000000..12ca764
--- /dev/null
+++ b/7, 8 лаб/7/2, 3, 4 лаб 7/2 лаб 7.sln
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.35130.168
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "2 лаб 7", "2 лаб 7\2 лаб 7.vcxproj", "{D1F52101-98D9-4A8B-9084-9D8B26AD0F0A}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {D1F52101-98D9-4A8B-9084-9D8B26AD0F0A}.Debug|x64.ActiveCfg = Debug|x64
+ {D1F52101-98D9-4A8B-9084-9D8B26AD0F0A}.Debug|x64.Build.0 = Debug|x64
+ {D1F52101-98D9-4A8B-9084-9D8B26AD0F0A}.Debug|x86.ActiveCfg = Debug|Win32
+ {D1F52101-98D9-4A8B-9084-9D8B26AD0F0A}.Debug|x86.Build.0 = Debug|Win32
+ {D1F52101-98D9-4A8B-9084-9D8B26AD0F0A}.Release|x64.ActiveCfg = Release|x64
+ {D1F52101-98D9-4A8B-9084-9D8B26AD0F0A}.Release|x64.Build.0 = Release|x64
+ {D1F52101-98D9-4A8B-9084-9D8B26AD0F0A}.Release|x86.ActiveCfg = Release|Win32
+ {D1F52101-98D9-4A8B-9084-9D8B26AD0F0A}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {7E906FCA-D1B9-4E79-9063-CAFF0B4153E0}
+ EndGlobalSection
+EndGlobal
diff --git a/7, 8 лаб/7/2, 3, 4 лаб 7/2 лаб 7/2 лаб 7.cpp b/7, 8 лаб/7/2, 3, 4 лаб 7/2 лаб 7/2 лаб 7.cpp
new file mode 100644
index 0000000..6cd7846
--- /dev/null
+++ b/7, 8 лаб/7/2, 3, 4 лаб 7/2 лаб 7/2 лаб 7.cpp
@@ -0,0 +1,266 @@
+// 2 лаб 7.cpp : Определяет точку входа для приложения.
+//
+
+#include "framework.h"
+#include "2 лаб 7.h"
+
+#define MAX_LOADSTRING 100
+
+// Глобальные переменные:
+HINSTANCE hInst; // текущий экземпляр
+WCHAR szTitle[MAX_LOADSTRING]; // Текст строки заголовка
+WCHAR szWindowClass[MAX_LOADSTRING]; // имя класса главного окна
+
+// Отправить объявления функций, включенных в этот модуль кода:
+ATOM MyRegisterClass(HINSTANCE hInstance);
+BOOL InitInstance(HINSTANCE, int);
+LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
+INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM);
+
+int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
+ _In_opt_ HINSTANCE hPrevInstance,
+ _In_ LPWSTR lpCmdLine,
+ _In_ int nCmdShow)
+{
+ UNREFERENCED_PARAMETER(hPrevInstance);
+ UNREFERENCED_PARAMETER(lpCmdLine);
+
+ // TODO: Разместите код здесь.
+
+ // Инициализация глобальных строк
+ LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
+ LoadStringW(hInstance, IDC_MY27, szWindowClass, MAX_LOADSTRING);
+ MyRegisterClass(hInstance);
+
+ // Выполнить инициализацию приложения:
+ if (!InitInstance (hInstance, nCmdShow))
+ {
+ return FALSE;
+ }
+
+ HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_MY27));
+
+ MSG msg;
+
+ // Цикл основного сообщения:
+ while (GetMessage(&msg, nullptr, 0, 0))
+ {
+ if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
+ {
+ TranslateMessage(&msg);
+ DispatchMessage(&msg);
+ }
+ }
+
+ return (int) msg.wParam;
+}
+
+
+
+//
+// ФУНКЦИЯ: MyRegisterClass()
+//
+// ЦЕЛЬ: Регистрирует класс окна.
+//
+ATOM MyRegisterClass(HINSTANCE hInstance)
+{
+ WNDCLASSEXW wcex;
+
+ wcex.cbSize = sizeof(WNDCLASSEX);
+
+ wcex.style = CS_HREDRAW | CS_VREDRAW;
+ wcex.lpfnWndProc = WndProc;
+ wcex.cbClsExtra = 0;
+ wcex.cbWndExtra = 0;
+ wcex.hInstance = hInstance;
+ wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MY27));
+ wcex.hCursor = LoadCursor(nullptr, IDC_ARROW);
+ wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
+ wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_MY27);
+ wcex.lpszClassName = szWindowClass;
+ wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));
+
+ return RegisterClassExW(&wcex);
+}
+
+//
+// ФУНКЦИЯ: InitInstance(HINSTANCE, int)
+//
+// ЦЕЛЬ: Сохраняет маркер экземпляра и создает главное окно
+//
+// КОММЕНТАРИИ:
+//
+// В этой функции маркер экземпляра сохраняется в глобальной переменной, а также
+// создается и выводится главное окно программы.
+//
+BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
+{
+ hInst = hInstance; // Сохранить маркер экземпляра в глобальной переменной
+
+ HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
+ CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr);
+
+ if (!hWnd)
+ {
+ return FALSE;
+ }
+
+ ShowWindow(hWnd, nCmdShow);
+ UpdateWindow(hWnd);
+
+ return TRUE;
+}
+
+//
+// ФУНКЦИЯ: WndProc(HWND, UINT, WPARAM, LPARAM)
+//
+// ЦЕЛЬ: Обрабатывает сообщения в главном окне.
+//
+// WM_COMMAND - обработать меню приложения
+// WM_PAINT - Отрисовка главного окна
+// WM_DESTROY - отправить сообщение о выходе и вернуться
+//
+//
+//дом
+void drawHome(HDC hdc) {
+ // Крыша
+ MoveToEx(hdc, 150, 350, NULL);
+ LineTo(hdc, 275, 250);
+ LineTo(hdc, 400, 350);
+
+ // Дом
+ LineTo(hdc, 400, 525);
+ LineTo(hdc, 150, 525);
+ LineTo(hdc, 150, 350);
+ LineTo(hdc, 400, 350);
+
+ // Окно
+ MoveToEx(hdc, 225, 400, NULL);
+ LineTo(hdc, 225, 475);
+ LineTo(hdc, 325, 475);
+ LineTo(hdc, 325, 400);
+ LineTo(hdc, 225, 400);
+
+ // Рама
+ MoveToEx(hdc, 275, 400, NULL);
+ LineTo(hdc, 275, 475);
+ MoveToEx(hdc, 275, 425, NULL);
+ LineTo(hdc, 325, 425);
+}
+//машина
+void drawCar(HDC hdc) {
+ HPEN hPen = CreatePen(PS_SOLID, 3, RGB(128, 0, 0));
+ SelectObject(hdc, hPen);
+
+ HBRUSH hBrush;
+ hBrush = CreateSolidBrush(RGB(255, 128, 67));
+ SelectObject(hdc, hBrush);
+
+ Rectangle(hdc, 50, 200, 300, 250);
+
+ MoveToEx(hdc, 100, 200, NULL);
+ LineTo(hdc, 150, 150);
+ LineTo(hdc, 250, 150);
+ LineTo(hdc, 300, 200);
+
+ hPen = CreatePen(PS_SOLID, 7, RGB(0, 0, 128));
+ SelectObject(hdc, hPen);
+
+ hBrush = CreateHatchBrush(HS_FDIAGONAL, RGB(255, 0, 0));
+ SelectObject(hdc, hBrush);
+
+ Ellipse(hdc, 75, 225, 125, 275);
+
+ hPen = CreatePen(PS_SOLID, 7, RGB(0, 128, 0));
+ SelectObject(hdc, hPen);
+
+ hBrush = CreateHatchBrush(HS_BDIAGONAL, RGB(0, 128, 0));
+ SelectObject(hdc, hBrush);
+
+ Ellipse(hdc, 225, 225, 275, 275);
+}
+// Рисование дерева из ЛР7
+void drawTree(HDC hdc) {
+ HPEN hPen = CreatePen(PS_SOLID, 3, RGB(0, 200, 0));
+ SelectObject(hdc, hPen);
+
+ int x1 = 0, y1 = 250;
+ int x2 = 100, y2 = 250;
+
+ do {
+ MoveToEx(hdc, x1, y1, NULL);
+ LineTo(hdc, x2, y2);
+ x1 += 5;
+ y1 -= 10;
+ } while (x1 <= 100);
+
+ x1 = 100;
+ y1 = 50;
+
+ do {
+ MoveToEx(hdc, x1, y1, NULL);
+ LineTo(hdc, x2, y2);
+ x1 += 5;
+ y1 += 10;
+ } while (x1 <= 200);
+}
+LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ switch (message)
+ {
+ case WM_COMMAND:
+ {
+ int wmId = LOWORD(wParam);
+ // Разобрать выбор в меню:
+ switch (wmId)
+ {
+ case IDM_ABOUT:
+ DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
+ break;
+ case IDM_EXIT:
+ DestroyWindow(hWnd);
+ break;
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ }
+ break;
+ case WM_PAINT:
+ {
+ PAINTSTRUCT ps;
+ HDC hdc = BeginPaint(hWnd, &ps);
+ // TODO: Добавьте сюда любой код прорисовки, использующий HDC...
+ drawHome(hdc);
+ drawCar(hdc);
+ drawTree(hdc);
+ EndPaint(hWnd, &ps);
+ }
+ break;
+ case WM_DESTROY:
+ PostQuitMessage(0);
+ break;
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ return 0;
+}
+
+// Обработчик сообщений для окна "О программе".
+INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ UNREFERENCED_PARAMETER(lParam);
+ switch (message)
+ {
+ case WM_INITDIALOG:
+ return (INT_PTR)TRUE;
+
+ case WM_COMMAND:
+ if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
+ {
+ EndDialog(hDlg, LOWORD(wParam));
+ return (INT_PTR)TRUE;
+ }
+ break;
+ }
+ return (INT_PTR)FALSE;
+}
diff --git a/7, 8 лаб/7/2, 3, 4 лаб 7/2 лаб 7/2 лаб 7.h b/7, 8 лаб/7/2, 3, 4 лаб 7/2 лаб 7/2 лаб 7.h
new file mode 100644
index 0000000..b798bf5
--- /dev/null
+++ b/7, 8 лаб/7/2, 3, 4 лаб 7/2 лаб 7/2 лаб 7.h
@@ -0,0 +1,3 @@
+#pragma once
+
+#include "resource.h"
diff --git a/7, 8 лаб/7/2, 3, 4 лаб 7/2 лаб 7/2 лаб 7.ico b/7, 8 лаб/7/2, 3, 4 лаб 7/2 лаб 7/2 лаб 7.ico
new file mode 100644
index 0000000..b3ec03b
Binary files /dev/null and b/7, 8 лаб/7/2, 3, 4 лаб 7/2 лаб 7/2 лаб 7.ico differ
diff --git a/7, 8 лаб/7/2, 3, 4 лаб 7/2 лаб 7/2 лаб 7.rc b/7, 8 лаб/7/2, 3, 4 лаб 7/2 лаб 7/2 лаб 7.rc
new file mode 100644
index 0000000..3a2a17f
Binary files /dev/null and b/7, 8 лаб/7/2, 3, 4 лаб 7/2 лаб 7/2 лаб 7.rc differ
diff --git a/7, 8 лаб/7/2, 3, 4 лаб 7/2 лаб 7/2 лаб 7.vcxproj b/7, 8 лаб/7/2, 3, 4 лаб 7/2 лаб 7/2 лаб 7.vcxproj
new file mode 100644
index 0000000..c2538cb
--- /dev/null
+++ b/7, 8 лаб/7/2, 3, 4 лаб 7/2 лаб 7/2 лаб 7.vcxproj
@@ -0,0 +1,160 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 16.0
+ Win32Proj
+ {d1f52101-98d9-4a8b-9084-9d8b26ad0f0a}
+ My2лаб7
+ 10.0
+
+
+
+ Application
+ true
+ v142
+ Unicode
+
+
+ Application
+ false
+ v142
+ true
+ Unicode
+
+
+ Application
+ true
+ v142
+ Unicode
+
+
+ Application
+ false
+ v142
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+ false
+
+
+ true
+
+
+ false
+
+
+
+ Level3
+ true
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+ Level3
+ true
+ _DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/7/2, 3, 4 лаб 7/2 лаб 7/2 лаб 7.vcxproj.filters b/7, 8 лаб/7/2, 3, 4 лаб 7/2 лаб 7/2 лаб 7.vcxproj.filters
new file mode 100644
index 0000000..7e9b0c2
--- /dev/null
+++ b/7, 8 лаб/7/2, 3, 4 лаб 7/2 лаб 7/2 лаб 7.vcxproj.filters
@@ -0,0 +1,49 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+
+
+ Исходные файлы
+
+
+
+
+ Файлы ресурсов
+
+
+
+
+ Файлы ресурсов
+
+
+ Файлы ресурсов
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/7/2, 3, 4 лаб 7/2 лаб 7/Resource.h b/7, 8 лаб/7/2, 3, 4 лаб 7/2 лаб 7/Resource.h
new file mode 100644
index 0000000..bec604d
--- /dev/null
+++ b/7, 8 лаб/7/2, 3, 4 лаб 7/2 лаб 7/Resource.h
@@ -0,0 +1,30 @@
+//{{NO_DEPENDENCIES}}
+// Включаемый файл, созданный в Microsoft Visual C++.
+// Используется 2 лаб 7.rc
+
+#define IDS_APP_TITLE 103
+
+#define IDR_MAINFRAME 128
+#define IDD_MY27_DIALOG 102
+#define IDD_ABOUTBOX 103
+#define IDM_ABOUT 104
+#define IDM_EXIT 105
+#define IDI_MY27 107
+#define IDI_SMALL 108
+#define IDC_MY27 109
+#define IDC_MYICON 2
+#ifndef IDC_STATIC
+#define IDC_STATIC -1
+#endif
+// Следующие стандартные значения для новых объектов
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+
+#define _APS_NO_MFC 130
+#define _APS_NEXT_RESOURCE_VALUE 129
+#define _APS_NEXT_COMMAND_VALUE 32771
+#define _APS_NEXT_CONTROL_VALUE 1000
+#define _APS_NEXT_SYMED_VALUE 110
+#endif
+#endif
diff --git a/7, 8 лаб/7/2, 3, 4 лаб 7/2 лаб 7/framework.h b/7, 8 лаб/7/2, 3, 4 лаб 7/2 лаб 7/framework.h
new file mode 100644
index 0000000..a8f6dc8
--- /dev/null
+++ b/7, 8 лаб/7/2, 3, 4 лаб 7/2 лаб 7/framework.h
@@ -0,0 +1,15 @@
+// header.h: включаемый файл для стандартных системных включаемых файлов
+// или включаемые файлы для конкретного проекта
+//
+
+#pragma once
+
+#include "targetver.h"
+#define WIN32_LEAN_AND_MEAN // Исключите редко используемые компоненты из заголовков Windows
+// Файлы заголовков Windows
+#include
+// Файлы заголовков среды выполнения C
+#include
+#include
+#include
+#include
diff --git a/7, 8 лаб/7/2, 3, 4 лаб 7/2 лаб 7/small.ico b/7, 8 лаб/7/2, 3, 4 лаб 7/2 лаб 7/small.ico
new file mode 100644
index 0000000..b3ec03b
Binary files /dev/null and b/7, 8 лаб/7/2, 3, 4 лаб 7/2 лаб 7/small.ico differ
diff --git a/7, 8 лаб/7/2, 3, 4 лаб 7/2 лаб 7/targetver.h b/7, 8 лаб/7/2, 3, 4 лаб 7/2 лаб 7/targetver.h
new file mode 100644
index 0000000..d90003d
--- /dev/null
+++ b/7, 8 лаб/7/2, 3, 4 лаб 7/2 лаб 7/targetver.h
@@ -0,0 +1,6 @@
+#pragma once
+
+// // При включении SDKDDKVer.h будет задана самая новая из доступных платформ Windows.
+// Если вы планируете сборку приложения для предыдущей версии платформы Windows, включите WinSDKVer.h и
+// задайте желаемую платформу в макросе _WIN32_WINNT, прежде чем включать SDKDDKVer.h.
+#include
diff --git a/7, 8 лаб/7/5 лаб 7 2ч/5 лаб 2ч.sln b/7, 8 лаб/7/5 лаб 7 2ч/5 лаб 2ч.sln
new file mode 100644
index 0000000..3610cd1
--- /dev/null
+++ b/7, 8 лаб/7/5 лаб 7 2ч/5 лаб 2ч.sln
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.35130.168
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "5 лаб 2ч", "5 лаб 2ч\5 лаб 2ч.vcxproj", "{9EFD2733-044A-4626-A221-53115CF92170}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {9EFD2733-044A-4626-A221-53115CF92170}.Debug|x64.ActiveCfg = Debug|x64
+ {9EFD2733-044A-4626-A221-53115CF92170}.Debug|x64.Build.0 = Debug|x64
+ {9EFD2733-044A-4626-A221-53115CF92170}.Debug|x86.ActiveCfg = Debug|Win32
+ {9EFD2733-044A-4626-A221-53115CF92170}.Debug|x86.Build.0 = Debug|Win32
+ {9EFD2733-044A-4626-A221-53115CF92170}.Release|x64.ActiveCfg = Release|x64
+ {9EFD2733-044A-4626-A221-53115CF92170}.Release|x64.Build.0 = Release|x64
+ {9EFD2733-044A-4626-A221-53115CF92170}.Release|x86.ActiveCfg = Release|Win32
+ {9EFD2733-044A-4626-A221-53115CF92170}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {FB89A455-CA7F-4D32-8B45-4DAA3F651B97}
+ EndGlobalSection
+EndGlobal
diff --git a/7, 8 лаб/7/5 лаб 7 2ч/5 лаб 2ч/5 лаб 2ч.cpp b/7, 8 лаб/7/5 лаб 7 2ч/5 лаб 2ч/5 лаб 2ч.cpp
new file mode 100644
index 0000000..6ca5431
--- /dev/null
+++ b/7, 8 лаб/7/5 лаб 7 2ч/5 лаб 2ч/5 лаб 2ч.cpp
@@ -0,0 +1,303 @@
+// 5 лаб 2ч.cpp : Определяет точку входа для приложения.
+//
+
+#include "framework.h"
+#include "5 лаб 2ч.h"
+
+#define MAX_LOADSTRING 100
+
+// Глобальные переменные:
+HINSTANCE hInst; // текущий экземпляр
+WCHAR szTitle[MAX_LOADSTRING]; // Текст строки заголовка
+WCHAR szWindowClass[MAX_LOADSTRING]; // имя класса главного окна
+
+// Отправить объявления функций, включенных в этот модуль кода:
+ATOM MyRegisterClass(HINSTANCE hInstance);
+BOOL InitInstance(HINSTANCE, int);
+LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
+INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM);
+
+int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
+ _In_opt_ HINSTANCE hPrevInstance,
+ _In_ LPWSTR lpCmdLine,
+ _In_ int nCmdShow)
+{
+ UNREFERENCED_PARAMETER(hPrevInstance);
+ UNREFERENCED_PARAMETER(lpCmdLine);
+
+ // TODO: Разместите код здесь.
+
+ // Инициализация глобальных строк
+ LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
+ LoadStringW(hInstance, IDC_MY52, szWindowClass, MAX_LOADSTRING);
+ MyRegisterClass(hInstance);
+
+ // Выполнить инициализацию приложения:
+ if (!InitInstance (hInstance, nCmdShow))
+ {
+ return FALSE;
+ }
+
+ HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_MY52));
+
+ MSG msg;
+
+ // Цикл основного сообщения:
+ while (GetMessage(&msg, nullptr, 0, 0))
+ {
+ if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
+ {
+ TranslateMessage(&msg);
+ DispatchMessage(&msg);
+ }
+ }
+
+ return (int) msg.wParam;
+}
+
+
+
+//
+// ФУНКЦИЯ: MyRegisterClass()
+//
+// ЦЕЛЬ: Регистрирует класс окна.
+//
+ATOM MyRegisterClass(HINSTANCE hInstance)
+{
+ WNDCLASSEXW wcex;
+
+ wcex.cbSize = sizeof(WNDCLASSEX);
+
+ wcex.style = CS_HREDRAW | CS_VREDRAW;
+ wcex.lpfnWndProc = WndProc;
+ wcex.cbClsExtra = 0;
+ wcex.cbWndExtra = 0;
+ wcex.hInstance = hInstance;
+ wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MY52));
+ wcex.hCursor = LoadCursor(nullptr, IDC_ARROW);
+ wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
+ wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_MY52);
+ wcex.lpszClassName = szWindowClass;
+ wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));
+
+ return RegisterClassExW(&wcex);
+}
+
+//
+// ФУНКЦИЯ: InitInstance(HINSTANCE, int)
+//
+// ЦЕЛЬ: Сохраняет маркер экземпляра и создает главное окно
+//
+// КОММЕНТАРИИ:
+//
+// В этой функции маркер экземпляра сохраняется в глобальной переменной, а также
+// создается и выводится главное окно программы.
+//
+BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
+{
+ hInst = hInstance; // Сохранить маркер экземпляра в глобальной переменной
+
+ HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
+ CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr);
+
+ if (!hWnd)
+ {
+ return FALSE;
+ }
+
+ ShowWindow(hWnd, nCmdShow);
+ UpdateWindow(hWnd);
+
+ return TRUE;
+}
+
+//
+// ФУНКЦИЯ: WndProc(HWND, UINT, WPARAM, LPARAM)
+//
+// ЦЕЛЬ: Обрабатывает сообщения в главном окне.
+//
+// WM_COMMAND - обработать меню приложения
+// WM_PAINT - Отрисовка главного окна
+// WM_DESTROY - отправить сообщение о выходе и вернуться
+//
+//
+void drawHome(HDC hdc) {
+ // Крыша
+ MoveToEx(hdc, 150, 350, NULL);
+ LineTo(hdc, 275, 250);
+ LineTo(hdc, 400, 350);
+
+ // Дом
+ LineTo(hdc, 400, 525);
+ LineTo(hdc, 150, 525);
+ LineTo(hdc, 150, 350);
+ LineTo(hdc, 400, 350);
+
+ // Окно
+ MoveToEx(hdc, 225, 400, NULL);
+ LineTo(hdc, 225, 475);
+ LineTo(hdc, 325, 475);
+ LineTo(hdc, 325, 400);
+ LineTo(hdc, 225, 400);
+
+ // Рама
+ MoveToEx(hdc, 275, 400, NULL);
+ LineTo(hdc, 275, 475);
+ MoveToEx(hdc, 275, 425, NULL);
+ LineTo(hdc, 325, 425);
+
+ HPEN hPen = CreatePen(PS_SOLID, 3, RGB(0, 128, 0));
+ SelectObject(hdc, hPen);
+
+ //ЕЛКА
+
+ // Нижний ярус
+ MoveToEx(hdc, 470, 525, NULL);
+ LineTo(hdc, 520, 475);
+ LineTo(hdc, 570, 525);
+ LineTo(hdc, 470, 525);
+
+ // Средний ярус
+ MoveToEx(hdc, 490, 470, NULL);
+ LineTo(hdc, 520, 440);
+ LineTo(hdc, 550, 470);
+ LineTo(hdc, 490, 470);
+
+ // Верхний ярус
+ MoveToEx(hdc, 500, 435, NULL);
+ LineTo(hdc, 520, 415);
+ LineTo(hdc, 540, 435);
+ LineTo(hdc, 500, 435);
+
+ //Дерево
+
+ hPen = CreatePen(PS_SOLID, 3, RGB(150, 75, 0));
+ SelectObject(hdc, hPen);
+
+ HBRUSH hBrush;
+ hBrush = CreateSolidBrush(RGB(150, 75, 0));
+ SelectObject(hdc, hBrush);
+
+ // Прямоугольник
+ Rectangle(hdc, 40, 530, 50, 450);
+
+
+ hPen = CreatePen(PS_SOLID, 3, RGB(0, 128, 0));
+ SelectObject(hdc, hPen);
+
+ hBrush;
+ hBrush = CreateSolidBrush(RGB(0, 128, 0));
+ SelectObject(hdc, hBrush);
+ // Эллипс Кусты/Листья
+ Ellipse(hdc, 9, 420, 50, 450);
+ Ellipse(hdc, 40, 423, 80, 460);
+ Ellipse(hdc, 32, 370, 60, 440);
+ Ellipse(hdc, 5, 400, 40, 430);
+ Ellipse(hdc, 50, 400, 90, 430);
+
+ // забор
+ hPen = CreatePen(PS_SOLID, 3, RGB(128, 0, 0));
+ SelectObject(hdc, hPen);
+
+ {
+ int x1 = 80, y1 = 435;
+ int x2 = 80, y2 = 520;
+
+ do {
+ MoveToEx(hdc, x1, y1, NULL);
+ LineTo(hdc, x2, y2);
+
+ x1 += 25;
+ x2 += 25;
+ } while (x1 <= 200);
+
+ }
+ // горизонтальный забор
+ {
+ int x1 = 60, y1 = 460;
+ int x2 = 190, y2 = 460;
+
+ do {
+ MoveToEx(hdc, x1, y1, NULL);
+ LineTo(hdc, x2, y2);
+
+ y1 += 25;
+ y2 += 25;
+ } while (y2 <= 500);
+
+ }
+
+ // солнце
+ hBrush = CreateSolidBrush(RGB(255, 255, 255));
+ SelectObject(hdc, hBrush);
+
+ hPen = CreatePen(PS_SOLID, 3, RGB(255, 255, 0));
+ SelectObject(hdc, hPen);
+ Ellipse(hdc, 425, 150, 505, 230);
+ // лучи
+ MoveToEx(hdc, 350, 190, NULL);
+ LineTo(hdc, 410, 180);
+ MoveToEx(hdc, 390, 245, NULL);
+ LineTo(hdc, 420, 210);
+ MoveToEx(hdc, 440, 280, NULL);
+ LineTo(hdc, 450, 240);
+}
+LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ switch (message)
+ {
+ case WM_COMMAND:
+ {
+ int wmId = LOWORD(wParam);
+ // Разобрать выбор в меню:
+ switch (wmId)
+ {
+ case IDM_ABOUT:
+ DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
+ break;
+ case IDM_EXIT:
+ DestroyWindow(hWnd);
+ break;
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ }
+ break;
+ case WM_PAINT:
+ {
+ PAINTSTRUCT ps;
+ HDC hdc = BeginPaint(hWnd, &ps);
+ // TODO: Добавьте сюда любой код прорисовки, использующий HDC...
+ drawHome(hdc);
+
+ EndPaint(hWnd, &ps);
+ }
+ break;
+ case WM_DESTROY:
+ PostQuitMessage(0);
+ break;
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ return 0;
+}
+
+// Обработчик сообщений для окна "О программе".
+INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ UNREFERENCED_PARAMETER(lParam);
+ switch (message)
+ {
+ case WM_INITDIALOG:
+ return (INT_PTR)TRUE;
+
+ case WM_COMMAND:
+ if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
+ {
+ EndDialog(hDlg, LOWORD(wParam));
+ return (INT_PTR)TRUE;
+ }
+ break;
+ }
+ return (INT_PTR)FALSE;
+}
diff --git a/7, 8 лаб/7/5 лаб 7 2ч/5 лаб 2ч/5 лаб 2ч.h b/7, 8 лаб/7/5 лаб 7 2ч/5 лаб 2ч/5 лаб 2ч.h
new file mode 100644
index 0000000..b798bf5
--- /dev/null
+++ b/7, 8 лаб/7/5 лаб 7 2ч/5 лаб 2ч/5 лаб 2ч.h
@@ -0,0 +1,3 @@
+#pragma once
+
+#include "resource.h"
diff --git a/7, 8 лаб/7/5 лаб 7 2ч/5 лаб 2ч/5 лаб 2ч.ico b/7, 8 лаб/7/5 лаб 7 2ч/5 лаб 2ч/5 лаб 2ч.ico
new file mode 100644
index 0000000..b3ec03b
Binary files /dev/null and b/7, 8 лаб/7/5 лаб 7 2ч/5 лаб 2ч/5 лаб 2ч.ico differ
diff --git a/7, 8 лаб/7/5 лаб 7 2ч/5 лаб 2ч/5 лаб 2ч.rc b/7, 8 лаб/7/5 лаб 7 2ч/5 лаб 2ч/5 лаб 2ч.rc
new file mode 100644
index 0000000..6e2f1f7
Binary files /dev/null and b/7, 8 лаб/7/5 лаб 7 2ч/5 лаб 2ч/5 лаб 2ч.rc differ
diff --git a/7, 8 лаб/7/5 лаб 7 2ч/5 лаб 2ч/5 лаб 2ч.vcxproj b/7, 8 лаб/7/5 лаб 7 2ч/5 лаб 2ч/5 лаб 2ч.vcxproj
new file mode 100644
index 0000000..2c7303f
--- /dev/null
+++ b/7, 8 лаб/7/5 лаб 7 2ч/5 лаб 2ч/5 лаб 2ч.vcxproj
@@ -0,0 +1,160 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 16.0
+ Win32Proj
+ {9efd2733-044a-4626-a221-53115cf92170}
+ My5лаб2ч
+ 10.0
+
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+ false
+
+
+ true
+
+
+ false
+
+
+
+ Level3
+ true
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+ Level3
+ true
+ _DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/7/5 лаб 7 2ч/5 лаб 2ч/5 лаб 2ч.vcxproj.filters b/7, 8 лаб/7/5 лаб 7 2ч/5 лаб 2ч/5 лаб 2ч.vcxproj.filters
new file mode 100644
index 0000000..d22b9e7
--- /dev/null
+++ b/7, 8 лаб/7/5 лаб 7 2ч/5 лаб 2ч/5 лаб 2ч.vcxproj.filters
@@ -0,0 +1,49 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+
+
+ Исходные файлы
+
+
+
+
+ Файлы ресурсов
+
+
+
+
+ Файлы ресурсов
+
+
+ Файлы ресурсов
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/7/5 лаб 7 2ч/5 лаб 2ч/Resource.h b/7, 8 лаб/7/5 лаб 7 2ч/5 лаб 2ч/Resource.h
new file mode 100644
index 0000000..1e9b20f
--- /dev/null
+++ b/7, 8 лаб/7/5 лаб 7 2ч/5 лаб 2ч/Resource.h
@@ -0,0 +1,30 @@
+//{{NO_DEPENDENCIES}}
+// Включаемый файл, созданный в Microsoft Visual C++.
+// Используется 5 лаб 2ч.rc
+
+#define IDS_APP_TITLE 103
+
+#define IDR_MAINFRAME 128
+#define IDD_MY52_DIALOG 102
+#define IDD_ABOUTBOX 103
+#define IDM_ABOUT 104
+#define IDM_EXIT 105
+#define IDI_MY52 107
+#define IDI_SMALL 108
+#define IDC_MY52 109
+#define IDC_MYICON 2
+#ifndef IDC_STATIC
+#define IDC_STATIC -1
+#endif
+// Следующие стандартные значения для новых объектов
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+
+#define _APS_NO_MFC 130
+#define _APS_NEXT_RESOURCE_VALUE 129
+#define _APS_NEXT_COMMAND_VALUE 32771
+#define _APS_NEXT_CONTROL_VALUE 1000
+#define _APS_NEXT_SYMED_VALUE 110
+#endif
+#endif
diff --git a/7, 8 лаб/7/5 лаб 7 2ч/5 лаб 2ч/framework.h b/7, 8 лаб/7/5 лаб 7 2ч/5 лаб 2ч/framework.h
new file mode 100644
index 0000000..a8f6dc8
--- /dev/null
+++ b/7, 8 лаб/7/5 лаб 7 2ч/5 лаб 2ч/framework.h
@@ -0,0 +1,15 @@
+// header.h: включаемый файл для стандартных системных включаемых файлов
+// или включаемые файлы для конкретного проекта
+//
+
+#pragma once
+
+#include "targetver.h"
+#define WIN32_LEAN_AND_MEAN // Исключите редко используемые компоненты из заголовков Windows
+// Файлы заголовков Windows
+#include
+// Файлы заголовков среды выполнения C
+#include
+#include
+#include
+#include
diff --git a/7, 8 лаб/7/5 лаб 7 2ч/5 лаб 2ч/small.ico b/7, 8 лаб/7/5 лаб 7 2ч/5 лаб 2ч/small.ico
new file mode 100644
index 0000000..b3ec03b
Binary files /dev/null and b/7, 8 лаб/7/5 лаб 7 2ч/5 лаб 2ч/small.ico differ
diff --git a/7, 8 лаб/7/5 лаб 7 2ч/5 лаб 2ч/targetver.h b/7, 8 лаб/7/5 лаб 7 2ч/5 лаб 2ч/targetver.h
new file mode 100644
index 0000000..d90003d
--- /dev/null
+++ b/7, 8 лаб/7/5 лаб 7 2ч/5 лаб 2ч/targetver.h
@@ -0,0 +1,6 @@
+#pragma once
+
+// // При включении SDKDDKVer.h будет задана самая новая из доступных платформ Windows.
+// Если вы планируете сборку приложения для предыдущей версии платформы Windows, включите WinSDKVer.h и
+// задайте желаемую платформу в макросе _WIN32_WINNT, прежде чем включать SDKDDKVer.h.
+#include
diff --git a/7, 8 лаб/7/5 лаб 7/5 лаб 7.sln b/7, 8 лаб/7/5 лаб 7/5 лаб 7.sln
new file mode 100644
index 0000000..bbc62b9
--- /dev/null
+++ b/7, 8 лаб/7/5 лаб 7/5 лаб 7.sln
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.35130.168
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "5 лаб 7", "5 лаб 7\5 лаб 7.vcxproj", "{C52EC074-865B-4739-BBBD-80A4FC0492CE}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {C52EC074-865B-4739-BBBD-80A4FC0492CE}.Debug|x64.ActiveCfg = Debug|x64
+ {C52EC074-865B-4739-BBBD-80A4FC0492CE}.Debug|x64.Build.0 = Debug|x64
+ {C52EC074-865B-4739-BBBD-80A4FC0492CE}.Debug|x86.ActiveCfg = Debug|Win32
+ {C52EC074-865B-4739-BBBD-80A4FC0492CE}.Debug|x86.Build.0 = Debug|Win32
+ {C52EC074-865B-4739-BBBD-80A4FC0492CE}.Release|x64.ActiveCfg = Release|x64
+ {C52EC074-865B-4739-BBBD-80A4FC0492CE}.Release|x64.Build.0 = Release|x64
+ {C52EC074-865B-4739-BBBD-80A4FC0492CE}.Release|x86.ActiveCfg = Release|Win32
+ {C52EC074-865B-4739-BBBD-80A4FC0492CE}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {F2E3C3A7-3CD4-4576-B64B-F498413EECE5}
+ EndGlobalSection
+EndGlobal
diff --git a/7, 8 лаб/7/5 лаб 7/5 лаб 7/5 лаб 7.cpp b/7, 8 лаб/7/5 лаб 7/5 лаб 7/5 лаб 7.cpp
new file mode 100644
index 0000000..5eb9cd4
--- /dev/null
+++ b/7, 8 лаб/7/5 лаб 7/5 лаб 7/5 лаб 7.cpp
@@ -0,0 +1,365 @@
+// 5 лаб 7.cpp : Определяет точку входа для приложения.
+//
+
+#include "framework.h"
+#include "5 лаб 7.h"
+
+#define MAX_LOADSTRING 100
+
+// Глобальные переменные:
+HINSTANCE hInst; // текущий экземпляр
+WCHAR szTitle[MAX_LOADSTRING]; // Текст строки заголовка
+WCHAR szWindowClass[MAX_LOADSTRING]; // имя класса главного окна
+
+// Отправить объявления функций, включенных в этот модуль кода:
+ATOM MyRegisterClass(HINSTANCE hInstance);
+BOOL InitInstance(HINSTANCE, int);
+LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
+INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM);
+
+int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
+ _In_opt_ HINSTANCE hPrevInstance,
+ _In_ LPWSTR lpCmdLine,
+ _In_ int nCmdShow)
+{
+ UNREFERENCED_PARAMETER(hPrevInstance);
+ UNREFERENCED_PARAMETER(lpCmdLine);
+
+ // TODO: Разместите код здесь.
+
+ // Инициализация глобальных строк
+ LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
+ LoadStringW(hInstance, IDC_MY57, szWindowClass, MAX_LOADSTRING);
+ MyRegisterClass(hInstance);
+
+ // Выполнить инициализацию приложения:
+ if (!InitInstance (hInstance, nCmdShow))
+ {
+ return FALSE;
+ }
+
+ HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_MY57));
+
+ MSG msg;
+
+ // Цикл основного сообщения:
+ while (GetMessage(&msg, nullptr, 0, 0))
+ {
+ if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
+ {
+ TranslateMessage(&msg);
+ DispatchMessage(&msg);
+ }
+ }
+
+ return (int) msg.wParam;
+}
+
+
+
+//
+// ФУНКЦИЯ: MyRegisterClass()
+//
+// ЦЕЛЬ: Регистрирует класс окна.
+//
+ATOM MyRegisterClass(HINSTANCE hInstance)
+{
+ WNDCLASSEXW wcex;
+
+ wcex.cbSize = sizeof(WNDCLASSEX);
+
+ wcex.style = CS_HREDRAW | CS_VREDRAW;
+ wcex.lpfnWndProc = WndProc;
+ wcex.cbClsExtra = 0;
+ wcex.cbWndExtra = 0;
+ wcex.hInstance = hInstance;
+ wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MY57));
+ wcex.hCursor = LoadCursor(nullptr, IDC_ARROW);
+ wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
+ wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_MY57);
+ wcex.lpszClassName = szWindowClass;
+ wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));
+
+ return RegisterClassExW(&wcex);
+}
+
+//
+// ФУНКЦИЯ: InitInstance(HINSTANCE, int)
+//
+// ЦЕЛЬ: Сохраняет маркер экземпляра и создает главное окно
+//
+// КОММЕНТАРИИ:
+//
+// В этой функции маркер экземпляра сохраняется в глобальной переменной, а также
+// создается и выводится главное окно программы.
+//
+BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
+{
+ hInst = hInstance; // Сохранить маркер экземпляра в глобальной переменной
+
+ HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
+ CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr);
+
+ if (!hWnd)
+ {
+ return FALSE;
+ }
+
+ ShowWindow(hWnd, nCmdShow);
+ UpdateWindow(hWnd);
+
+ return TRUE;
+}
+
+//
+// ФУНКЦИЯ: WndProc(HWND, UINT, WPARAM, LPARAM)
+//
+// ЦЕЛЬ: Обрабатывает сообщения в главном окне.
+//
+// WM_COMMAND - обработать меню приложения
+// WM_PAINT - Отрисовка главного окна
+// WM_DESTROY - отправить сообщение о выходе и вернуться
+//
+//
+//лр 5 №2
+void drawTree2(HDC hdc) {
+ HPEN hPen = CreatePen(PS_SOLID, 3, RGB(0, 128, 0));
+ SelectObject(hdc, hPen);
+
+ //ЕЛКА
+
+ // Нижний ярус
+ MoveToEx(hdc, 470, 525, NULL);
+ LineTo(hdc, 520, 475);
+ LineTo(hdc, 570, 525);
+ LineTo(hdc, 470, 525);
+
+ // Средний ярус
+ MoveToEx(hdc, 490, 470, NULL);
+ LineTo(hdc, 520, 440);
+ LineTo(hdc, 550, 470);
+ LineTo(hdc, 490, 470);
+
+ // Верхний ярус
+ MoveToEx(hdc, 500, 435, NULL);
+ LineTo(hdc, 520, 415);
+ LineTo(hdc, 540, 435);
+ LineTo(hdc, 500, 435);
+}
+
+//лр 5 №5
+void drawTree3(HDC hdc) {
+ HPEN hPen = CreatePen(PS_SOLID, 3, RGB(150, 75, 0));
+ SelectObject(hdc, hPen);
+
+
+ HBRUSH hBrush = CreateSolidBrush(RGB(150, 75, 0));
+ SelectObject(hdc, hBrush);
+
+ // Прямоугольник
+ Rectangle(hdc, 40, 530, 50, 450);
+
+
+ hPen = CreatePen(PS_SOLID, 3, RGB(0, 128, 0));
+ SelectObject(hdc, hPen);
+
+
+ hBrush = CreateSolidBrush(RGB(0, 128, 0));
+ SelectObject(hdc, hBrush);
+ // Эллипс Кусты/Листья
+ Ellipse(hdc, 9, 420, 50, 450);
+ Ellipse(hdc, 40, 423, 80, 460);
+ Ellipse(hdc, 32, 370, 60, 440);
+ Ellipse(hdc, 5, 400, 40, 430);
+ Ellipse(hdc, 50, 400, 90, 430);
+}
+//лр 5 №8
+void drawBus(HDC hdc) {
+ HPEN hPen = CreatePen(PS_SOLID, 2, RGB(128, 128, 128)); // Серый цвет
+ SelectObject(hdc, hPen);
+
+
+ // Кузов автобуса
+ HBRUSH hBrush = CreateSolidBrush(RGB(128, 128, 128));
+ SelectObject(hdc, hBrush);
+ Rectangle(hdc, 100, 200, 400, 350);
+
+ // Двери
+ hBrush = CreateSolidBrush(RGB(181, 184, 177)); // Ссветло-серый цвет
+ SelectObject(hdc, hBrush);
+ Rectangle(hdc, 265, 230, 313, 340);
+ Rectangle(hdc, 315, 230, 360, 340);
+
+ //ручки двери
+ hBrush = CreateSolidBrush(RGB(150, 75, 0)); //коричневый цвет
+ SelectObject(hdc, hBrush);
+
+ hPen = CreatePen(PS_SOLID, 2, RGB(150, 75, 0)); // коричневый цвет
+ SelectObject(hdc, hPen);
+
+ Rectangle(hdc, 300, 270, 311, 290);
+ Rectangle(hdc, 315, 270, 325, 290);
+
+ // Окна
+
+ hBrush = CreateSolidBrush(RGB(0, 150, 255)); // Голубой цвет
+ SelectObject(hdc, hBrush);
+ hPen = CreatePen(PS_SOLID, 2, RGB(0, 150, 255)); // Голубой цвет
+ SelectObject(hdc, hPen);
+
+ Rectangle(hdc, 115, 230, 150, 280);
+ Rectangle(hdc, 170, 230, 203, 280);
+ Rectangle(hdc, 215, 230, 250, 280);
+ Rectangle(hdc, 365, 230, 400, 280);
+ Rectangle(hdc, 275, 235, 305, 260);
+ Rectangle(hdc, 325, 235, 350, 260);
+
+
+ //фары
+ hBrush = CreateSolidBrush(RGB(255, 255, 139)); //желтый цвет
+ SelectObject(hdc, hBrush);
+
+ hPen = CreatePen(PS_SOLID, 2, RGB(255, 255, 139)); // желтый цвет
+ SelectObject(hdc, hPen);
+
+ Rectangle(hdc, 90, 290, 105, 320);
+
+ // Колеса
+ hPen = CreatePen(PS_SOLID, 4, RGB(0, 0, 0));
+ SelectObject(hdc, hPen);
+ hBrush = CreateSolidBrush(RGB(181, 184, 177));
+ SelectObject(hdc, hBrush);
+ Ellipse(hdc, 135, 340, 170, 370);
+ Ellipse(hdc, 235, 340, 270, 370);
+ Ellipse(hdc, 365, 340, 400, 370);
+}
+//лр 6 № 1
+void drawKust(HDC hdc) {
+ HPEN hPen = CreatePen(PS_SOLID, 3, RGB(139, 0, 255));
+ SelectObject(hdc, hPen);
+ int x1 = 400, y1 = 150;
+ int x2 = 500, y2 = 250;
+
+ do {
+ MoveToEx(hdc, x1, y1, NULL);
+ LineTo(hdc, x2, y2);
+
+ x1 += 25;
+ } while (x1 <= 600);
+}
+//лр 6 №2
+void drawKust2(HDC hdc) {
+ HPEN hPen = CreatePen(PS_SOLID, 3, RGB(0, 0, 128));
+ SelectObject(hdc, hPen);
+
+ {
+
+ int x1 = 0, y1 = 250;
+ int x2 = 100, y2 = 250;
+
+ do {
+ MoveToEx(hdc, x1, y1, NULL);
+ LineTo(hdc, x2, y2);
+
+ x1 += 25;
+ y1 -= 50;
+ } while (x1 <= 100);
+
+ x1 = 100;
+ y1 = 50;
+
+ do {
+ MoveToEx(hdc, x1, y1, NULL);
+ LineTo(hdc, x2, y2);
+
+ x1 += 25;
+ y1 += 50;
+ } while (x1 <= 200);
+
+ }
+}
+ //лр 6 № 4
+ void drawZabor(HDC hdc) {
+ HPEN hPen = CreatePen(PS_SOLID, 3, RGB(128, 0, 0));
+ SelectObject(hdc, hPen);
+
+ {
+ int x1 = 150, y1 = 0;
+ int x2 = 150, y2 = 100;
+
+ do {
+ MoveToEx(hdc, x1, y1, NULL);
+ LineTo(hdc, x2, y2);
+
+ x1 += 25;
+ x2 += 25;
+ } while (x1 <= 450);
+
+ }
+ }
+
+
+LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ switch (message)
+ {
+ case WM_COMMAND:
+ {
+ int wmId = LOWORD(wParam);
+ // Разобрать выбор в меню:
+ switch (wmId)
+ {
+ case IDM_ABOUT:
+ DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
+ break;
+ case IDM_EXIT:
+ DestroyWindow(hWnd);
+ break;
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ }
+ break;
+ case WM_PAINT:
+ {
+ PAINTSTRUCT ps;
+ HDC hdc = BeginPaint(hWnd, &ps);
+ // TODO: Добавьте сюда любой код прорисовки, использующий HDC...
+ drawTree2(hdc);
+ drawTree3(hdc);
+ drawBus(hdc);
+ drawKust(hdc);
+ drawKust2(hdc);
+ drawZabor(hdc);
+
+ EndPaint(hWnd, &ps);
+ }
+ break;
+ case WM_DESTROY:
+ PostQuitMessage(0);
+ break;
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ return 0;
+}
+
+// Обработчик сообщений для окна "О программе".
+INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ UNREFERENCED_PARAMETER(lParam);
+ switch (message)
+ {
+ case WM_INITDIALOG:
+ return (INT_PTR)TRUE;
+
+ case WM_COMMAND:
+ if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
+ {
+ EndDialog(hDlg, LOWORD(wParam));
+ return (INT_PTR)TRUE;
+ }
+ break;
+ }
+ return (INT_PTR)FALSE;
+}
diff --git a/7, 8 лаб/7/5 лаб 7/5 лаб 7/5 лаб 7.h b/7, 8 лаб/7/5 лаб 7/5 лаб 7/5 лаб 7.h
new file mode 100644
index 0000000..b798bf5
--- /dev/null
+++ b/7, 8 лаб/7/5 лаб 7/5 лаб 7/5 лаб 7.h
@@ -0,0 +1,3 @@
+#pragma once
+
+#include "resource.h"
diff --git a/7, 8 лаб/7/5 лаб 7/5 лаб 7/5 лаб 7.ico b/7, 8 лаб/7/5 лаб 7/5 лаб 7/5 лаб 7.ico
new file mode 100644
index 0000000..b3ec03b
Binary files /dev/null and b/7, 8 лаб/7/5 лаб 7/5 лаб 7/5 лаб 7.ico differ
diff --git a/7, 8 лаб/7/5 лаб 7/5 лаб 7/5 лаб 7.rc b/7, 8 лаб/7/5 лаб 7/5 лаб 7/5 лаб 7.rc
new file mode 100644
index 0000000..07bb9ee
Binary files /dev/null and b/7, 8 лаб/7/5 лаб 7/5 лаб 7/5 лаб 7.rc differ
diff --git a/7, 8 лаб/7/5 лаб 7/5 лаб 7/5 лаб 7.vcxproj b/7, 8 лаб/7/5 лаб 7/5 лаб 7/5 лаб 7.vcxproj
new file mode 100644
index 0000000..16819a4
--- /dev/null
+++ b/7, 8 лаб/7/5 лаб 7/5 лаб 7/5 лаб 7.vcxproj
@@ -0,0 +1,160 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 16.0
+ Win32Proj
+ {c52ec074-865b-4739-bbbd-80a4fc0492ce}
+ My5лаб7
+ 10.0
+
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+ false
+
+
+ true
+
+
+ false
+
+
+
+ Level3
+ true
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+ Level3
+ true
+ _DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/7/5 лаб 7/5 лаб 7/5 лаб 7.vcxproj.filters b/7, 8 лаб/7/5 лаб 7/5 лаб 7/5 лаб 7.vcxproj.filters
new file mode 100644
index 0000000..7ca4158
--- /dev/null
+++ b/7, 8 лаб/7/5 лаб 7/5 лаб 7/5 лаб 7.vcxproj.filters
@@ -0,0 +1,49 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+
+
+ Исходные файлы
+
+
+
+
+ Файлы ресурсов
+
+
+
+
+ Файлы ресурсов
+
+
+ Файлы ресурсов
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/7/5 лаб 7/5 лаб 7/Resource.h b/7, 8 лаб/7/5 лаб 7/5 лаб 7/Resource.h
new file mode 100644
index 0000000..36cadc2
--- /dev/null
+++ b/7, 8 лаб/7/5 лаб 7/5 лаб 7/Resource.h
@@ -0,0 +1,30 @@
+//{{NO_DEPENDENCIES}}
+// Включаемый файл, созданный в Microsoft Visual C++.
+// Используется 5 лаб 7.rc
+
+#define IDS_APP_TITLE 103
+
+#define IDR_MAINFRAME 128
+#define IDD_MY57_DIALOG 102
+#define IDD_ABOUTBOX 103
+#define IDM_ABOUT 104
+#define IDM_EXIT 105
+#define IDI_MY57 107
+#define IDI_SMALL 108
+#define IDC_MY57 109
+#define IDC_MYICON 2
+#ifndef IDC_STATIC
+#define IDC_STATIC -1
+#endif
+// Следующие стандартные значения для новых объектов
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+
+#define _APS_NO_MFC 130
+#define _APS_NEXT_RESOURCE_VALUE 129
+#define _APS_NEXT_COMMAND_VALUE 32771
+#define _APS_NEXT_CONTROL_VALUE 1000
+#define _APS_NEXT_SYMED_VALUE 110
+#endif
+#endif
diff --git a/7, 8 лаб/7/5 лаб 7/5 лаб 7/framework.h b/7, 8 лаб/7/5 лаб 7/5 лаб 7/framework.h
new file mode 100644
index 0000000..a8f6dc8
--- /dev/null
+++ b/7, 8 лаб/7/5 лаб 7/5 лаб 7/framework.h
@@ -0,0 +1,15 @@
+// header.h: включаемый файл для стандартных системных включаемых файлов
+// или включаемые файлы для конкретного проекта
+//
+
+#pragma once
+
+#include "targetver.h"
+#define WIN32_LEAN_AND_MEAN // Исключите редко используемые компоненты из заголовков Windows
+// Файлы заголовков Windows
+#include
+// Файлы заголовков среды выполнения C
+#include
+#include
+#include
+#include
diff --git a/7, 8 лаб/7/5 лаб 7/5 лаб 7/small.ico b/7, 8 лаб/7/5 лаб 7/5 лаб 7/small.ico
new file mode 100644
index 0000000..b3ec03b
Binary files /dev/null and b/7, 8 лаб/7/5 лаб 7/5 лаб 7/small.ico differ
diff --git a/7, 8 лаб/7/5 лаб 7/5 лаб 7/targetver.h b/7, 8 лаб/7/5 лаб 7/5 лаб 7/targetver.h
new file mode 100644
index 0000000..d90003d
--- /dev/null
+++ b/7, 8 лаб/7/5 лаб 7/5 лаб 7/targetver.h
@@ -0,0 +1,6 @@
+#pragma once
+
+// // При включении SDKDDKVer.h будет задана самая новая из доступных платформ Windows.
+// Если вы планируете сборку приложения для предыдущей версии платформы Windows, включите WinSDKVer.h и
+// задайте желаемую платформу в макросе _WIN32_WINNT, прежде чем включать SDKDDKVer.h.
+#include
diff --git a/7, 8 лаб/8/1.1 лаб 8/1 лаб 8.sln b/7, 8 лаб/8/1.1 лаб 8/1 лаб 8.sln
new file mode 100644
index 0000000..2969320
--- /dev/null
+++ b/7, 8 лаб/8/1.1 лаб 8/1 лаб 8.sln
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.11.35222.181
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "1 лаб 8", "1 лаб 8\1 лаб 8.vcxproj", "{F0DCCE54-A218-4C9C-83F6-B932B217BC45}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {F0DCCE54-A218-4C9C-83F6-B932B217BC45}.Debug|x64.ActiveCfg = Debug|x64
+ {F0DCCE54-A218-4C9C-83F6-B932B217BC45}.Debug|x64.Build.0 = Debug|x64
+ {F0DCCE54-A218-4C9C-83F6-B932B217BC45}.Debug|x86.ActiveCfg = Debug|Win32
+ {F0DCCE54-A218-4C9C-83F6-B932B217BC45}.Debug|x86.Build.0 = Debug|Win32
+ {F0DCCE54-A218-4C9C-83F6-B932B217BC45}.Release|x64.ActiveCfg = Release|x64
+ {F0DCCE54-A218-4C9C-83F6-B932B217BC45}.Release|x64.Build.0 = Release|x64
+ {F0DCCE54-A218-4C9C-83F6-B932B217BC45}.Release|x86.ActiveCfg = Release|Win32
+ {F0DCCE54-A218-4C9C-83F6-B932B217BC45}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {D02A5949-453E-4EC2-B7AF-F22B35CF408F}
+ EndGlobalSection
+EndGlobal
diff --git a/7, 8 лаб/8/1.1 лаб 8/1 лаб 8/1 лаб 8.cpp b/7, 8 лаб/8/1.1 лаб 8/1 лаб 8/1 лаб 8.cpp
new file mode 100644
index 0000000..51c3c77
--- /dev/null
+++ b/7, 8 лаб/8/1.1 лаб 8/1 лаб 8/1 лаб 8.cpp
@@ -0,0 +1,206 @@
+// 1 лаб 8.cpp : Определяет точку входа для приложения.
+//
+
+#include "framework.h"
+#include "1 лаб 8.h"
+
+#define MAX_LOADSTRING 100
+
+// Глобальные переменные:
+HINSTANCE hInst; // текущий экземпляр
+WCHAR szTitle[MAX_LOADSTRING]; // Текст строки заголовка
+WCHAR szWindowClass[MAX_LOADSTRING]; // имя класса главного окна
+
+// Отправить объявления функций, включенных в этот модуль кода:
+ATOM MyRegisterClass(HINSTANCE hInstance);
+BOOL InitInstance(HINSTANCE, int);
+LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
+INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM);
+
+int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
+ _In_opt_ HINSTANCE hPrevInstance,
+ _In_ LPWSTR lpCmdLine,
+ _In_ int nCmdShow)
+{
+ UNREFERENCED_PARAMETER(hPrevInstance);
+ UNREFERENCED_PARAMETER(lpCmdLine);
+
+ // TODO: Разместите код здесь.
+
+ // Инициализация глобальных строк
+ LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
+ LoadStringW(hInstance, IDC_MY18, szWindowClass, MAX_LOADSTRING);
+ MyRegisterClass(hInstance);
+
+ // Выполнить инициализацию приложения:
+ if (!InitInstance (hInstance, nCmdShow))
+ {
+ return FALSE;
+ }
+
+ HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_MY18));
+
+ MSG msg;
+
+ // Цикл основного сообщения:
+ while (GetMessage(&msg, nullptr, 0, 0))
+ {
+ if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
+ {
+ TranslateMessage(&msg);
+ DispatchMessage(&msg);
+ }
+ }
+
+ return (int) msg.wParam;
+}
+
+
+
+//
+// ФУНКЦИЯ: MyRegisterClass()
+//
+// ЦЕЛЬ: Регистрирует класс окна.
+//
+ATOM MyRegisterClass(HINSTANCE hInstance)
+{
+ WNDCLASSEXW wcex;
+
+ wcex.cbSize = sizeof(WNDCLASSEX);
+
+ wcex.style = CS_HREDRAW | CS_VREDRAW;
+ wcex.lpfnWndProc = WndProc;
+ wcex.cbClsExtra = 0;
+ wcex.cbWndExtra = 0;
+ wcex.hInstance = hInstance;
+ wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MY18));
+ wcex.hCursor = LoadCursor(nullptr, IDC_ARROW);
+ wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
+ wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_MY18);
+ wcex.lpszClassName = szWindowClass;
+ wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));
+
+ return RegisterClassExW(&wcex);
+}
+
+//
+// ФУНКЦИЯ: InitInstance(HINSTANCE, int)
+//
+// ЦЕЛЬ: Сохраняет маркер экземпляра и создает главное окно
+//
+// КОММЕНТАРИИ:
+//
+// В этой функции маркер экземпляра сохраняется в глобальной переменной, а также
+// создается и выводится главное окно программы.
+//
+BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
+{
+ hInst = hInstance; // Сохранить маркер экземпляра в глобальной переменной
+
+ HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
+ CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr);
+
+ if (!hWnd)
+ {
+ return FALSE;
+ }
+
+ ShowWindow(hWnd, nCmdShow);
+ UpdateWindow(hWnd);
+
+ return TRUE;
+}
+
+//
+// ФУНКЦИЯ: WndProc(HWND, UINT, WPARAM, LPARAM)
+//
+// ЦЕЛЬ: Обрабатывает сообщения в главном окне.
+//
+// WM_COMMAND - обработать меню приложения
+// WM_PAINT - Отрисовка главного окна
+// WM_DESTROY - отправить сообщение о выходе и вернуться
+//
+//
+void StClausAuto(HDC hdc, int x, int y) {
+ // верхний треугольник
+ MoveToEx(hdc, 20 + x, 0 + y, NULL);
+ LineTo(hdc, 30 + x, 20 + y);
+ LineTo(hdc, 10 + x, 20 + y);
+ LineTo(hdc, 20 + x, 0 + y);
+
+ // средний треугольник
+ MoveToEx(hdc, 20 + x, 10 + y, NULL);
+ LineTo(hdc, 30 + x, 40 + y);
+ LineTo(hdc, 10 + x, 40 + y);
+ LineTo(hdc, 20 + x, 10 + y);
+
+ // нижний треугольник
+ MoveToEx(hdc, 20 + x, 30 + y, NULL);
+ LineTo(hdc, 40 + x, 80 + y);
+ LineTo(hdc, 0 + x, 80 + y);
+ LineTo(hdc, 20 + x, 30 + y);
+}
+
+LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ switch (message)
+ {
+ case WM_COMMAND:
+ {
+ int wmId = LOWORD(wParam);
+ // Разобрать выбор в меню:
+ switch (wmId)
+ {
+ case IDM_ABOUT:
+ DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
+ break;
+ case IDM_EXIT:
+ DestroyWindow(hWnd);
+ break;
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ }
+ break;
+ case WM_PAINT:
+ {
+ PAINTSTRUCT ps;
+ HDC hdc = BeginPaint(hWnd, &ps);
+ // TODO: Добавьте сюда любой код прорисовки, использующий HDC...
+ StClausAuto(hdc, 0, 0);
+ StClausAuto(hdc, 200, 200);
+ StClausAuto(hdc, 100, 100);
+ StClausAuto(hdc, 0, 200);
+ StClausAuto(hdc, 200, 0);
+
+ EndPaint(hWnd, &ps);
+ }
+ break;
+ case WM_DESTROY:
+ PostQuitMessage(0);
+ break;
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ return 0;
+}
+
+// Обработчик сообщений для окна "О программе".
+INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ UNREFERENCED_PARAMETER(lParam);
+ switch (message)
+ {
+ case WM_INITDIALOG:
+ return (INT_PTR)TRUE;
+
+ case WM_COMMAND:
+ if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
+ {
+ EndDialog(hDlg, LOWORD(wParam));
+ return (INT_PTR)TRUE;
+ }
+ break;
+ }
+ return (INT_PTR)FALSE;
+}
diff --git a/7, 8 лаб/8/1.1 лаб 8/1 лаб 8/1 лаб 8.h b/7, 8 лаб/8/1.1 лаб 8/1 лаб 8/1 лаб 8.h
new file mode 100644
index 0000000..b798bf5
--- /dev/null
+++ b/7, 8 лаб/8/1.1 лаб 8/1 лаб 8/1 лаб 8.h
@@ -0,0 +1,3 @@
+#pragma once
+
+#include "resource.h"
diff --git a/7, 8 лаб/8/1.1 лаб 8/1 лаб 8/1 лаб 8.ico b/7, 8 лаб/8/1.1 лаб 8/1 лаб 8/1 лаб 8.ico
new file mode 100644
index 0000000..b3ec03b
Binary files /dev/null and b/7, 8 лаб/8/1.1 лаб 8/1 лаб 8/1 лаб 8.ico differ
diff --git a/7, 8 лаб/8/1.1 лаб 8/1 лаб 8/1 лаб 8.rc b/7, 8 лаб/8/1.1 лаб 8/1 лаб 8/1 лаб 8.rc
new file mode 100644
index 0000000..77529b2
Binary files /dev/null and b/7, 8 лаб/8/1.1 лаб 8/1 лаб 8/1 лаб 8.rc differ
diff --git a/7, 8 лаб/8/1.1 лаб 8/1 лаб 8/1 лаб 8.vcxproj b/7, 8 лаб/8/1.1 лаб 8/1 лаб 8/1 лаб 8.vcxproj
new file mode 100644
index 0000000..37a0c5f
--- /dev/null
+++ b/7, 8 лаб/8/1.1 лаб 8/1 лаб 8/1 лаб 8.vcxproj
@@ -0,0 +1,148 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 17.0
+ Win32Proj
+ {f0dcce54-a218-4c9c-83f6-b932b217bc45}
+ My1лаб8
+ 10.0
+
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Level3
+ true
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+ Level3
+ true
+ _DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/8/1.1 лаб 8/1 лаб 8/1 лаб 8.vcxproj.filters b/7, 8 лаб/8/1.1 лаб 8/1 лаб 8/1 лаб 8.vcxproj.filters
new file mode 100644
index 0000000..d9889c0
--- /dev/null
+++ b/7, 8 лаб/8/1.1 лаб 8/1 лаб 8/1 лаб 8.vcxproj.filters
@@ -0,0 +1,49 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+
+
+ Исходные файлы
+
+
+
+
+ Файлы ресурсов
+
+
+
+
+ Файлы ресурсов
+
+
+ Файлы ресурсов
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/8/1.1 лаб 8/1 лаб 8/Resource.h b/7, 8 лаб/8/1.1 лаб 8/1 лаб 8/Resource.h
new file mode 100644
index 0000000..75310c6
--- /dev/null
+++ b/7, 8 лаб/8/1.1 лаб 8/1 лаб 8/Resource.h
@@ -0,0 +1,30 @@
+//{{NO_DEPENDENCIES}}
+// Включаемый файл, созданный в Microsoft Visual C++.
+// Используется 1 лаб 8.rc
+
+#define IDS_APP_TITLE 103
+
+#define IDR_MAINFRAME 128
+#define IDD_MY18_DIALOG 102
+#define IDD_ABOUTBOX 103
+#define IDM_ABOUT 104
+#define IDM_EXIT 105
+#define IDI_MY18 107
+#define IDI_SMALL 108
+#define IDC_MY18 109
+#define IDC_MYICON 2
+#ifndef IDC_STATIC
+#define IDC_STATIC -1
+#endif
+// Следующие стандартные значения для новых объектов
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+
+#define _APS_NO_MFC 130
+#define _APS_NEXT_RESOURCE_VALUE 129
+#define _APS_NEXT_COMMAND_VALUE 32771
+#define _APS_NEXT_CONTROL_VALUE 1000
+#define _APS_NEXT_SYMED_VALUE 110
+#endif
+#endif
diff --git a/7, 8 лаб/8/1.1 лаб 8/1 лаб 8/framework.h b/7, 8 лаб/8/1.1 лаб 8/1 лаб 8/framework.h
new file mode 100644
index 0000000..a8f6dc8
--- /dev/null
+++ b/7, 8 лаб/8/1.1 лаб 8/1 лаб 8/framework.h
@@ -0,0 +1,15 @@
+// header.h: включаемый файл для стандартных системных включаемых файлов
+// или включаемые файлы для конкретного проекта
+//
+
+#pragma once
+
+#include "targetver.h"
+#define WIN32_LEAN_AND_MEAN // Исключите редко используемые компоненты из заголовков Windows
+// Файлы заголовков Windows
+#include
+// Файлы заголовков среды выполнения C
+#include
+#include
+#include
+#include
diff --git a/7, 8 лаб/8/1.1 лаб 8/1 лаб 8/small.ico b/7, 8 лаб/8/1.1 лаб 8/1 лаб 8/small.ico
new file mode 100644
index 0000000..b3ec03b
Binary files /dev/null and b/7, 8 лаб/8/1.1 лаб 8/1 лаб 8/small.ico differ
diff --git a/7, 8 лаб/8/1.1 лаб 8/1 лаб 8/targetver.h b/7, 8 лаб/8/1.1 лаб 8/1 лаб 8/targetver.h
new file mode 100644
index 0000000..d90003d
--- /dev/null
+++ b/7, 8 лаб/8/1.1 лаб 8/1 лаб 8/targetver.h
@@ -0,0 +1,6 @@
+#pragma once
+
+// // При включении SDKDDKVer.h будет задана самая новая из доступных платформ Windows.
+// Если вы планируете сборку приложения для предыдущей версии платформы Windows, включите WinSDKVer.h и
+// задайте желаемую платформу в макросе _WIN32_WINNT, прежде чем включать SDKDDKVer.h.
+#include
diff --git a/7, 8 лаб/8/1.2 лаб 8/1.2 лаб 8.sln b/7, 8 лаб/8/1.2 лаб 8/1.2 лаб 8.sln
new file mode 100644
index 0000000..b1e8917
--- /dev/null
+++ b/7, 8 лаб/8/1.2 лаб 8/1.2 лаб 8.sln
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.11.35222.181
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "1.2 лаб 8", "1.2 лаб 8\1.2 лаб 8.vcxproj", "{B02C93C9-4899-4401-91DF-9C81FEB02801}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {B02C93C9-4899-4401-91DF-9C81FEB02801}.Debug|x64.ActiveCfg = Debug|x64
+ {B02C93C9-4899-4401-91DF-9C81FEB02801}.Debug|x64.Build.0 = Debug|x64
+ {B02C93C9-4899-4401-91DF-9C81FEB02801}.Debug|x86.ActiveCfg = Debug|Win32
+ {B02C93C9-4899-4401-91DF-9C81FEB02801}.Debug|x86.Build.0 = Debug|Win32
+ {B02C93C9-4899-4401-91DF-9C81FEB02801}.Release|x64.ActiveCfg = Release|x64
+ {B02C93C9-4899-4401-91DF-9C81FEB02801}.Release|x64.Build.0 = Release|x64
+ {B02C93C9-4899-4401-91DF-9C81FEB02801}.Release|x86.ActiveCfg = Release|Win32
+ {B02C93C9-4899-4401-91DF-9C81FEB02801}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {7051F734-2BA2-4F9A-8780-8A6A0E615461}
+ EndGlobalSection
+EndGlobal
diff --git a/7, 8 лаб/8/1.2 лаб 8/1.2 лаб 8/1.2 лаб 8.cpp b/7, 8 лаб/8/1.2 лаб 8/1.2 лаб 8/1.2 лаб 8.cpp
new file mode 100644
index 0000000..eeaaa99
--- /dev/null
+++ b/7, 8 лаб/8/1.2 лаб 8/1.2 лаб 8/1.2 лаб 8.cpp
@@ -0,0 +1,205 @@
+// 1.2 лаб 8.cpp : Определяет точку входа для приложения.
+//
+
+#include "framework.h"
+#include "1.2 лаб 8.h"
+
+#define MAX_LOADSTRING 100
+
+// Глобальные переменные:
+HINSTANCE hInst; // текущий экземпляр
+WCHAR szTitle[MAX_LOADSTRING]; // Текст строки заголовка
+WCHAR szWindowClass[MAX_LOADSTRING]; // имя класса главного окна
+
+// Отправить объявления функций, включенных в этот модуль кода:
+ATOM MyRegisterClass(HINSTANCE hInstance);
+BOOL InitInstance(HINSTANCE, int);
+LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
+INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM);
+
+int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
+ _In_opt_ HINSTANCE hPrevInstance,
+ _In_ LPWSTR lpCmdLine,
+ _In_ int nCmdShow)
+{
+ UNREFERENCED_PARAMETER(hPrevInstance);
+ UNREFERENCED_PARAMETER(lpCmdLine);
+
+ // TODO: Разместите код здесь.
+
+ // Инициализация глобальных строк
+ LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
+ LoadStringW(hInstance, IDC_MY128, szWindowClass, MAX_LOADSTRING);
+ MyRegisterClass(hInstance);
+
+ // Выполнить инициализацию приложения:
+ if (!InitInstance (hInstance, nCmdShow))
+ {
+ return FALSE;
+ }
+
+ HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_MY128));
+
+ MSG msg;
+
+ // Цикл основного сообщения:
+ while (GetMessage(&msg, nullptr, 0, 0))
+ {
+ if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
+ {
+ TranslateMessage(&msg);
+ DispatchMessage(&msg);
+ }
+ }
+
+ return (int) msg.wParam;
+}
+
+
+
+//
+// ФУНКЦИЯ: MyRegisterClass()
+//
+// ЦЕЛЬ: Регистрирует класс окна.
+//
+ATOM MyRegisterClass(HINSTANCE hInstance)
+{
+ WNDCLASSEXW wcex;
+
+ wcex.cbSize = sizeof(WNDCLASSEX);
+
+ wcex.style = CS_HREDRAW | CS_VREDRAW;
+ wcex.lpfnWndProc = WndProc;
+ wcex.cbClsExtra = 0;
+ wcex.cbWndExtra = 0;
+ wcex.hInstance = hInstance;
+ wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MY128));
+ wcex.hCursor = LoadCursor(nullptr, IDC_ARROW);
+ wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
+ wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_MY128);
+ wcex.lpszClassName = szWindowClass;
+ wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));
+
+ return RegisterClassExW(&wcex);
+}
+
+//
+// ФУНКЦИЯ: InitInstance(HINSTANCE, int)
+//
+// ЦЕЛЬ: Сохраняет маркер экземпляра и создает главное окно
+//
+// КОММЕНТАРИИ:
+//
+// В этой функции маркер экземпляра сохраняется в глобальной переменной, а также
+// создается и выводится главное окно программы.
+//
+BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
+{
+ hInst = hInstance; // Сохранить маркер экземпляра в глобальной переменной
+
+ HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
+ CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr);
+
+ if (!hWnd)
+ {
+ return FALSE;
+ }
+
+ ShowWindow(hWnd, nCmdShow);
+ UpdateWindow(hWnd);
+
+ return TRUE;
+}
+
+//
+// ФУНКЦИЯ: WndProc(HWND, UINT, WPARAM, LPARAM)
+//
+// ЦЕЛЬ: Обрабатывает сообщения в главном окне.
+//
+// WM_COMMAND - обработать меню приложения
+// WM_PAINT - Отрисовка главного окна
+// WM_DESTROY - отправить сообщение о выходе и вернуться
+//
+//
+void StClausAuto(HDC hdc, int x, int y) {
+ // верхний треугольник
+ MoveToEx(hdc, 20 + x, 0 + y, NULL);
+ LineTo(hdc, 30 + x, 20 + y);
+ LineTo(hdc, 10 + x, 20 + y);
+ LineTo(hdc, 20 + x, 0 + y);
+
+ // средний треугольник
+ MoveToEx(hdc, 20 + x, 10 + y, NULL);
+ LineTo(hdc, 30 + x, 40 + y);
+ LineTo(hdc, 10 + x, 40 + y);
+ LineTo(hdc, 20 + x, 10 + y);
+
+ // нижний треугольник
+ MoveToEx(hdc, 20 + x, 30 + y, NULL);
+ LineTo(hdc, 40 + x, 80 + y);
+ LineTo(hdc, 0 + x, 80 + y);
+ LineTo(hdc, 20 + x, 30 + y);
+}
+LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ switch (message)
+ {
+ case WM_COMMAND:
+ {
+ int wmId = LOWORD(wParam);
+ // Разобрать выбор в меню:
+ switch (wmId)
+ {
+ case IDM_ABOUT:
+ DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
+ break;
+ case IDM_EXIT:
+ DestroyWindow(hWnd);
+ break;
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ }
+ break;
+ case WM_PAINT:
+ {
+ PAINTSTRUCT ps;
+ HDC hdc = BeginPaint(hWnd, &ps);
+ // TODO: Добавьте сюда любой код прорисовки, использующий HDC...
+ int x = 0;
+ do {
+ StClausAuto(hdc, x, 0);
+ x += 50;
+ } while (x < 400);
+
+ EndPaint(hWnd, &ps);
+ }
+ break;
+ case WM_DESTROY:
+ PostQuitMessage(0);
+ break;
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ return 0;
+}
+
+// Обработчик сообщений для окна "О программе".
+INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ UNREFERENCED_PARAMETER(lParam);
+ switch (message)
+ {
+ case WM_INITDIALOG:
+ return (INT_PTR)TRUE;
+
+ case WM_COMMAND:
+ if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
+ {
+ EndDialog(hDlg, LOWORD(wParam));
+ return (INT_PTR)TRUE;
+ }
+ break;
+ }
+ return (INT_PTR)FALSE;
+}
diff --git a/7, 8 лаб/8/1.2 лаб 8/1.2 лаб 8/1.2 лаб 8.h b/7, 8 лаб/8/1.2 лаб 8/1.2 лаб 8/1.2 лаб 8.h
new file mode 100644
index 0000000..b798bf5
--- /dev/null
+++ b/7, 8 лаб/8/1.2 лаб 8/1.2 лаб 8/1.2 лаб 8.h
@@ -0,0 +1,3 @@
+#pragma once
+
+#include "resource.h"
diff --git a/7, 8 лаб/8/1.2 лаб 8/1.2 лаб 8/1.2 лаб 8.ico b/7, 8 лаб/8/1.2 лаб 8/1.2 лаб 8/1.2 лаб 8.ico
new file mode 100644
index 0000000..b3ec03b
Binary files /dev/null and b/7, 8 лаб/8/1.2 лаб 8/1.2 лаб 8/1.2 лаб 8.ico differ
diff --git a/7, 8 лаб/8/1.2 лаб 8/1.2 лаб 8/1.2 лаб 8.rc b/7, 8 лаб/8/1.2 лаб 8/1.2 лаб 8/1.2 лаб 8.rc
new file mode 100644
index 0000000..e62e721
Binary files /dev/null and b/7, 8 лаб/8/1.2 лаб 8/1.2 лаб 8/1.2 лаб 8.rc differ
diff --git a/7, 8 лаб/8/1.2 лаб 8/1.2 лаб 8/1.2 лаб 8.vcxproj b/7, 8 лаб/8/1.2 лаб 8/1.2 лаб 8/1.2 лаб 8.vcxproj
new file mode 100644
index 0000000..5f442f3
--- /dev/null
+++ b/7, 8 лаб/8/1.2 лаб 8/1.2 лаб 8/1.2 лаб 8.vcxproj
@@ -0,0 +1,148 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 17.0
+ Win32Proj
+ {b02c93c9-4899-4401-91df-9c81feb02801}
+ My12лаб8
+ 10.0
+
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Level3
+ true
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+ Level3
+ true
+ _DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/8/1.2 лаб 8/1.2 лаб 8/1.2 лаб 8.vcxproj.filters b/7, 8 лаб/8/1.2 лаб 8/1.2 лаб 8/1.2 лаб 8.vcxproj.filters
new file mode 100644
index 0000000..55a3608
--- /dev/null
+++ b/7, 8 лаб/8/1.2 лаб 8/1.2 лаб 8/1.2 лаб 8.vcxproj.filters
@@ -0,0 +1,49 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+
+
+ Исходные файлы
+
+
+
+
+ Файлы ресурсов
+
+
+
+
+ Файлы ресурсов
+
+
+ Файлы ресурсов
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/8/1.2 лаб 8/1.2 лаб 8/Resource.h b/7, 8 лаб/8/1.2 лаб 8/1.2 лаб 8/Resource.h
new file mode 100644
index 0000000..306aef1
--- /dev/null
+++ b/7, 8 лаб/8/1.2 лаб 8/1.2 лаб 8/Resource.h
@@ -0,0 +1,30 @@
+//{{NO_DEPENDENCIES}}
+// Включаемый файл, созданный в Microsoft Visual C++.
+// Используется 1.2 лаб 8.rc
+
+#define IDS_APP_TITLE 103
+
+#define IDR_MAINFRAME 128
+#define IDD_MY128_DIALOG 102
+#define IDD_ABOUTBOX 103
+#define IDM_ABOUT 104
+#define IDM_EXIT 105
+#define IDI_MY128 107
+#define IDI_SMALL 108
+#define IDC_MY128 109
+#define IDC_MYICON 2
+#ifndef IDC_STATIC
+#define IDC_STATIC -1
+#endif
+// Следующие стандартные значения для новых объектов
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+
+#define _APS_NO_MFC 130
+#define _APS_NEXT_RESOURCE_VALUE 129
+#define _APS_NEXT_COMMAND_VALUE 32771
+#define _APS_NEXT_CONTROL_VALUE 1000
+#define _APS_NEXT_SYMED_VALUE 110
+#endif
+#endif
diff --git a/7, 8 лаб/8/1.2 лаб 8/1.2 лаб 8/framework.h b/7, 8 лаб/8/1.2 лаб 8/1.2 лаб 8/framework.h
new file mode 100644
index 0000000..a8f6dc8
--- /dev/null
+++ b/7, 8 лаб/8/1.2 лаб 8/1.2 лаб 8/framework.h
@@ -0,0 +1,15 @@
+// header.h: включаемый файл для стандартных системных включаемых файлов
+// или включаемые файлы для конкретного проекта
+//
+
+#pragma once
+
+#include "targetver.h"
+#define WIN32_LEAN_AND_MEAN // Исключите редко используемые компоненты из заголовков Windows
+// Файлы заголовков Windows
+#include
+// Файлы заголовков среды выполнения C
+#include
+#include
+#include
+#include
diff --git a/7, 8 лаб/8/1.2 лаб 8/1.2 лаб 8/small.ico b/7, 8 лаб/8/1.2 лаб 8/1.2 лаб 8/small.ico
new file mode 100644
index 0000000..b3ec03b
Binary files /dev/null and b/7, 8 лаб/8/1.2 лаб 8/1.2 лаб 8/small.ico differ
diff --git a/7, 8 лаб/8/1.2 лаб 8/1.2 лаб 8/targetver.h b/7, 8 лаб/8/1.2 лаб 8/1.2 лаб 8/targetver.h
new file mode 100644
index 0000000..d90003d
--- /dev/null
+++ b/7, 8 лаб/8/1.2 лаб 8/1.2 лаб 8/targetver.h
@@ -0,0 +1,6 @@
+#pragma once
+
+// // При включении SDKDDKVer.h будет задана самая новая из доступных платформ Windows.
+// Если вы планируете сборку приложения для предыдущей версии платформы Windows, включите WinSDKVer.h и
+// задайте желаемую платформу в макросе _WIN32_WINNT, прежде чем включать SDKDDKVer.h.
+#include
diff --git a/7, 8 лаб/8/1.3 лаб 8/1.3 лаб 8.sln b/7, 8 лаб/8/1.3 лаб 8/1.3 лаб 8.sln
new file mode 100644
index 0000000..939d785
--- /dev/null
+++ b/7, 8 лаб/8/1.3 лаб 8/1.3 лаб 8.sln
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.11.35222.181
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "1.3 лаб 8", "1.3 лаб 8\1.3 лаб 8.vcxproj", "{04B1B913-F6A7-4C94-8331-2CDBB371B3EE}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {04B1B913-F6A7-4C94-8331-2CDBB371B3EE}.Debug|x64.ActiveCfg = Debug|x64
+ {04B1B913-F6A7-4C94-8331-2CDBB371B3EE}.Debug|x64.Build.0 = Debug|x64
+ {04B1B913-F6A7-4C94-8331-2CDBB371B3EE}.Debug|x86.ActiveCfg = Debug|Win32
+ {04B1B913-F6A7-4C94-8331-2CDBB371B3EE}.Debug|x86.Build.0 = Debug|Win32
+ {04B1B913-F6A7-4C94-8331-2CDBB371B3EE}.Release|x64.ActiveCfg = Release|x64
+ {04B1B913-F6A7-4C94-8331-2CDBB371B3EE}.Release|x64.Build.0 = Release|x64
+ {04B1B913-F6A7-4C94-8331-2CDBB371B3EE}.Release|x86.ActiveCfg = Release|Win32
+ {04B1B913-F6A7-4C94-8331-2CDBB371B3EE}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {9F237C29-7A8A-4B13-AD5B-88B665BA31B6}
+ EndGlobalSection
+EndGlobal
diff --git a/7, 8 лаб/8/1.3 лаб 8/1.3 лаб 8/1.3 лаб 8.cpp b/7, 8 лаб/8/1.3 лаб 8/1.3 лаб 8/1.3 лаб 8.cpp
new file mode 100644
index 0000000..e75da7b
--- /dev/null
+++ b/7, 8 лаб/8/1.3 лаб 8/1.3 лаб 8/1.3 лаб 8.cpp
@@ -0,0 +1,206 @@
+// 1.3 лаб 8.cpp : Определяет точку входа для приложения.
+//
+
+#include "framework.h"
+#include "1.3 лаб 8.h"
+
+#define MAX_LOADSTRING 100
+
+// Глобальные переменные:
+HINSTANCE hInst; // текущий экземпляр
+WCHAR szTitle[MAX_LOADSTRING]; // Текст строки заголовка
+WCHAR szWindowClass[MAX_LOADSTRING]; // имя класса главного окна
+
+// Отправить объявления функций, включенных в этот модуль кода:
+ATOM MyRegisterClass(HINSTANCE hInstance);
+BOOL InitInstance(HINSTANCE, int);
+LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
+INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM);
+
+int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
+ _In_opt_ HINSTANCE hPrevInstance,
+ _In_ LPWSTR lpCmdLine,
+ _In_ int nCmdShow)
+{
+ UNREFERENCED_PARAMETER(hPrevInstance);
+ UNREFERENCED_PARAMETER(lpCmdLine);
+
+ // TODO: Разместите код здесь.
+
+ // Инициализация глобальных строк
+ LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
+ LoadStringW(hInstance, IDC_MY138, szWindowClass, MAX_LOADSTRING);
+ MyRegisterClass(hInstance);
+
+ // Выполнить инициализацию приложения:
+ if (!InitInstance (hInstance, nCmdShow))
+ {
+ return FALSE;
+ }
+
+ HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_MY138));
+
+ MSG msg;
+
+ // Цикл основного сообщения:
+ while (GetMessage(&msg, nullptr, 0, 0))
+ {
+ if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
+ {
+ TranslateMessage(&msg);
+ DispatchMessage(&msg);
+ }
+ }
+
+ return (int) msg.wParam;
+}
+
+
+
+//
+// ФУНКЦИЯ: MyRegisterClass()
+//
+// ЦЕЛЬ: Регистрирует класс окна.
+//
+ATOM MyRegisterClass(HINSTANCE hInstance)
+{
+ WNDCLASSEXW wcex;
+
+ wcex.cbSize = sizeof(WNDCLASSEX);
+
+ wcex.style = CS_HREDRAW | CS_VREDRAW;
+ wcex.lpfnWndProc = WndProc;
+ wcex.cbClsExtra = 0;
+ wcex.cbWndExtra = 0;
+ wcex.hInstance = hInstance;
+ wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MY138));
+ wcex.hCursor = LoadCursor(nullptr, IDC_ARROW);
+ wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
+ wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_MY138);
+ wcex.lpszClassName = szWindowClass;
+ wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));
+
+ return RegisterClassExW(&wcex);
+}
+
+//
+// ФУНКЦИЯ: InitInstance(HINSTANCE, int)
+//
+// ЦЕЛЬ: Сохраняет маркер экземпляра и создает главное окно
+//
+// КОММЕНТАРИИ:
+//
+// В этой функции маркер экземпляра сохраняется в глобальной переменной, а также
+// создается и выводится главное окно программы.
+//
+BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
+{
+ hInst = hInstance; // Сохранить маркер экземпляра в глобальной переменной
+
+ HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
+ CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr);
+
+ if (!hWnd)
+ {
+ return FALSE;
+ }
+
+ ShowWindow(hWnd, nCmdShow);
+ UpdateWindow(hWnd);
+
+ return TRUE;
+}
+
+//
+// ФУНКЦИЯ: WndProc(HWND, UINT, WPARAM, LPARAM)
+//
+// ЦЕЛЬ: Обрабатывает сообщения в главном окне.
+//
+// WM_COMMAND - обработать меню приложения
+// WM_PAINT - Отрисовка главного окна
+// WM_DESTROY - отправить сообщение о выходе и вернуться
+//
+//
+void StClausAuto(HDC hdc, int x, int y) {
+ // верхний треугольник
+ MoveToEx(hdc, 20 + x, 0 + y, NULL);
+ LineTo(hdc, 30 + x, 20 + y);
+ LineTo(hdc, 10 + x, 20 + y);
+ LineTo(hdc, 20 + x, 0 + y);
+
+ // средний треугольник
+ MoveToEx(hdc, 20 + x, 10 + y, NULL);
+ LineTo(hdc, 30 + x, 40 + y);
+ LineTo(hdc, 10 + x, 40 + y);
+ LineTo(hdc, 20 + x, 10 + y);
+
+ // нижний треугольник
+ MoveToEx(hdc, 20 + x, 30 + y, NULL);
+ LineTo(hdc, 40 + x, 80 + y);
+ LineTo(hdc, 0 + x, 80 + y);
+ LineTo(hdc, 20 + x, 30 + y);
+}
+LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ switch (message)
+ {
+ case WM_COMMAND:
+ {
+ int wmId = LOWORD(wParam);
+ // Разобрать выбор в меню:
+ switch (wmId)
+ {
+ case IDM_ABOUT:
+ DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
+ break;
+ case IDM_EXIT:
+ DestroyWindow(hWnd);
+ break;
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ }
+ break;
+ case WM_PAINT:
+ {
+ PAINTSTRUCT ps;
+ HDC hdc = BeginPaint(hWnd, &ps);
+ // TODO: Добавьте сюда любой код прорисовки, использующий HDC...
+ int y = 0;
+ do {
+ StClausAuto(hdc, 0, y);
+ y += 90;
+ } while (y < 300);
+
+
+ EndPaint(hWnd, &ps);
+ }
+ break;
+ case WM_DESTROY:
+ PostQuitMessage(0);
+ break;
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ return 0;
+}
+
+// Обработчик сообщений для окна "О программе".
+INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ UNREFERENCED_PARAMETER(lParam);
+ switch (message)
+ {
+ case WM_INITDIALOG:
+ return (INT_PTR)TRUE;
+
+ case WM_COMMAND:
+ if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
+ {
+ EndDialog(hDlg, LOWORD(wParam));
+ return (INT_PTR)TRUE;
+ }
+ break;
+ }
+ return (INT_PTR)FALSE;
+}
diff --git a/7, 8 лаб/8/1.3 лаб 8/1.3 лаб 8/1.3 лаб 8.h b/7, 8 лаб/8/1.3 лаб 8/1.3 лаб 8/1.3 лаб 8.h
new file mode 100644
index 0000000..b798bf5
--- /dev/null
+++ b/7, 8 лаб/8/1.3 лаб 8/1.3 лаб 8/1.3 лаб 8.h
@@ -0,0 +1,3 @@
+#pragma once
+
+#include "resource.h"
diff --git a/7, 8 лаб/8/1.3 лаб 8/1.3 лаб 8/1.3 лаб 8.ico b/7, 8 лаб/8/1.3 лаб 8/1.3 лаб 8/1.3 лаб 8.ico
new file mode 100644
index 0000000..b3ec03b
Binary files /dev/null and b/7, 8 лаб/8/1.3 лаб 8/1.3 лаб 8/1.3 лаб 8.ico differ
diff --git a/7, 8 лаб/8/1.3 лаб 8/1.3 лаб 8/1.3 лаб 8.rc b/7, 8 лаб/8/1.3 лаб 8/1.3 лаб 8/1.3 лаб 8.rc
new file mode 100644
index 0000000..b1e7a1e
Binary files /dev/null and b/7, 8 лаб/8/1.3 лаб 8/1.3 лаб 8/1.3 лаб 8.rc differ
diff --git a/7, 8 лаб/8/1.3 лаб 8/1.3 лаб 8/1.3 лаб 8.vcxproj b/7, 8 лаб/8/1.3 лаб 8/1.3 лаб 8/1.3 лаб 8.vcxproj
new file mode 100644
index 0000000..cb3b025
--- /dev/null
+++ b/7, 8 лаб/8/1.3 лаб 8/1.3 лаб 8/1.3 лаб 8.vcxproj
@@ -0,0 +1,148 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 17.0
+ Win32Proj
+ {04b1b913-f6a7-4c94-8331-2cdbb371b3ee}
+ My13лаб8
+ 10.0
+
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Level3
+ true
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+ Level3
+ true
+ _DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/8/1.3 лаб 8/1.3 лаб 8/1.3 лаб 8.vcxproj.filters b/7, 8 лаб/8/1.3 лаб 8/1.3 лаб 8/1.3 лаб 8.vcxproj.filters
new file mode 100644
index 0000000..9be56ae
--- /dev/null
+++ b/7, 8 лаб/8/1.3 лаб 8/1.3 лаб 8/1.3 лаб 8.vcxproj.filters
@@ -0,0 +1,49 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+
+
+ Исходные файлы
+
+
+
+
+ Файлы ресурсов
+
+
+
+
+ Файлы ресурсов
+
+
+ Файлы ресурсов
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/8/1.3 лаб 8/1.3 лаб 8/Resource.h b/7, 8 лаб/8/1.3 лаб 8/1.3 лаб 8/Resource.h
new file mode 100644
index 0000000..6ca9f89
--- /dev/null
+++ b/7, 8 лаб/8/1.3 лаб 8/1.3 лаб 8/Resource.h
@@ -0,0 +1,30 @@
+//{{NO_DEPENDENCIES}}
+// Включаемый файл, созданный в Microsoft Visual C++.
+// Используется 1.3 лаб 8.rc
+
+#define IDS_APP_TITLE 103
+
+#define IDR_MAINFRAME 128
+#define IDD_MY138_DIALOG 102
+#define IDD_ABOUTBOX 103
+#define IDM_ABOUT 104
+#define IDM_EXIT 105
+#define IDI_MY138 107
+#define IDI_SMALL 108
+#define IDC_MY138 109
+#define IDC_MYICON 2
+#ifndef IDC_STATIC
+#define IDC_STATIC -1
+#endif
+// Следующие стандартные значения для новых объектов
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+
+#define _APS_NO_MFC 130
+#define _APS_NEXT_RESOURCE_VALUE 129
+#define _APS_NEXT_COMMAND_VALUE 32771
+#define _APS_NEXT_CONTROL_VALUE 1000
+#define _APS_NEXT_SYMED_VALUE 110
+#endif
+#endif
diff --git a/7, 8 лаб/8/1.3 лаб 8/1.3 лаб 8/framework.h b/7, 8 лаб/8/1.3 лаб 8/1.3 лаб 8/framework.h
new file mode 100644
index 0000000..a8f6dc8
--- /dev/null
+++ b/7, 8 лаб/8/1.3 лаб 8/1.3 лаб 8/framework.h
@@ -0,0 +1,15 @@
+// header.h: включаемый файл для стандартных системных включаемых файлов
+// или включаемые файлы для конкретного проекта
+//
+
+#pragma once
+
+#include "targetver.h"
+#define WIN32_LEAN_AND_MEAN // Исключите редко используемые компоненты из заголовков Windows
+// Файлы заголовков Windows
+#include
+// Файлы заголовков среды выполнения C
+#include
+#include
+#include
+#include
diff --git a/7, 8 лаб/8/1.3 лаб 8/1.3 лаб 8/small.ico b/7, 8 лаб/8/1.3 лаб 8/1.3 лаб 8/small.ico
new file mode 100644
index 0000000..b3ec03b
Binary files /dev/null and b/7, 8 лаб/8/1.3 лаб 8/1.3 лаб 8/small.ico differ
diff --git a/7, 8 лаб/8/1.3 лаб 8/1.3 лаб 8/targetver.h b/7, 8 лаб/8/1.3 лаб 8/1.3 лаб 8/targetver.h
new file mode 100644
index 0000000..d90003d
--- /dev/null
+++ b/7, 8 лаб/8/1.3 лаб 8/1.3 лаб 8/targetver.h
@@ -0,0 +1,6 @@
+#pragma once
+
+// // При включении SDKDDKVer.h будет задана самая новая из доступных платформ Windows.
+// Если вы планируете сборку приложения для предыдущей версии платформы Windows, включите WinSDKVer.h и
+// задайте желаемую платформу в макросе _WIN32_WINNT, прежде чем включать SDKDDKVer.h.
+#include
diff --git a/7, 8 лаб/8/1.4 лаб 8/1.4 лаб 8.sln b/7, 8 лаб/8/1.4 лаб 8/1.4 лаб 8.sln
new file mode 100644
index 0000000..98276af
--- /dev/null
+++ b/7, 8 лаб/8/1.4 лаб 8/1.4 лаб 8.sln
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.11.35222.181
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "1.4 лаб 8", "1.4 лаб 8\1.4 лаб 8.vcxproj", "{24B7A290-4CA5-455E-A388-C676F31EAB5E}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {24B7A290-4CA5-455E-A388-C676F31EAB5E}.Debug|x64.ActiveCfg = Debug|x64
+ {24B7A290-4CA5-455E-A388-C676F31EAB5E}.Debug|x64.Build.0 = Debug|x64
+ {24B7A290-4CA5-455E-A388-C676F31EAB5E}.Debug|x86.ActiveCfg = Debug|Win32
+ {24B7A290-4CA5-455E-A388-C676F31EAB5E}.Debug|x86.Build.0 = Debug|Win32
+ {24B7A290-4CA5-455E-A388-C676F31EAB5E}.Release|x64.ActiveCfg = Release|x64
+ {24B7A290-4CA5-455E-A388-C676F31EAB5E}.Release|x64.Build.0 = Release|x64
+ {24B7A290-4CA5-455E-A388-C676F31EAB5E}.Release|x86.ActiveCfg = Release|Win32
+ {24B7A290-4CA5-455E-A388-C676F31EAB5E}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {81EA6AD3-B1DB-4F0E-A09F-5CF10B0D833C}
+ EndGlobalSection
+EndGlobal
diff --git a/7, 8 лаб/8/1.4 лаб 8/1.4 лаб 8/1.4 лаб 8.cpp b/7, 8 лаб/8/1.4 лаб 8/1.4 лаб 8/1.4 лаб 8.cpp
new file mode 100644
index 0000000..c2558eb
--- /dev/null
+++ b/7, 8 лаб/8/1.4 лаб 8/1.4 лаб 8/1.4 лаб 8.cpp
@@ -0,0 +1,207 @@
+// 1.4 лаб 8.cpp : Определяет точку входа для приложения.
+//
+
+#include "framework.h"
+#include "1.4 лаб 8.h"
+
+#define MAX_LOADSTRING 100
+
+// Глобальные переменные:
+HINSTANCE hInst; // текущий экземпляр
+WCHAR szTitle[MAX_LOADSTRING]; // Текст строки заголовка
+WCHAR szWindowClass[MAX_LOADSTRING]; // имя класса главного окна
+
+// Отправить объявления функций, включенных в этот модуль кода:
+ATOM MyRegisterClass(HINSTANCE hInstance);
+BOOL InitInstance(HINSTANCE, int);
+LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
+INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM);
+
+int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
+ _In_opt_ HINSTANCE hPrevInstance,
+ _In_ LPWSTR lpCmdLine,
+ _In_ int nCmdShow)
+{
+ UNREFERENCED_PARAMETER(hPrevInstance);
+ UNREFERENCED_PARAMETER(lpCmdLine);
+
+ // TODO: Разместите код здесь.
+
+ // Инициализация глобальных строк
+ LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
+ LoadStringW(hInstance, IDC_MY148, szWindowClass, MAX_LOADSTRING);
+ MyRegisterClass(hInstance);
+
+ // Выполнить инициализацию приложения:
+ if (!InitInstance (hInstance, nCmdShow))
+ {
+ return FALSE;
+ }
+
+ HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_MY148));
+
+ MSG msg;
+
+ // Цикл основного сообщения:
+ while (GetMessage(&msg, nullptr, 0, 0))
+ {
+ if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
+ {
+ TranslateMessage(&msg);
+ DispatchMessage(&msg);
+ }
+ }
+
+ return (int) msg.wParam;
+}
+
+
+
+//
+// ФУНКЦИЯ: MyRegisterClass()
+//
+// ЦЕЛЬ: Регистрирует класс окна.
+//
+ATOM MyRegisterClass(HINSTANCE hInstance)
+{
+ WNDCLASSEXW wcex;
+
+ wcex.cbSize = sizeof(WNDCLASSEX);
+
+ wcex.style = CS_HREDRAW | CS_VREDRAW;
+ wcex.lpfnWndProc = WndProc;
+ wcex.cbClsExtra = 0;
+ wcex.cbWndExtra = 0;
+ wcex.hInstance = hInstance;
+ wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MY148));
+ wcex.hCursor = LoadCursor(nullptr, IDC_ARROW);
+ wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
+ wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_MY148);
+ wcex.lpszClassName = szWindowClass;
+ wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));
+
+ return RegisterClassExW(&wcex);
+}
+
+//
+// ФУНКЦИЯ: InitInstance(HINSTANCE, int)
+//
+// ЦЕЛЬ: Сохраняет маркер экземпляра и создает главное окно
+//
+// КОММЕНТАРИИ:
+//
+// В этой функции маркер экземпляра сохраняется в глобальной переменной, а также
+// создается и выводится главное окно программы.
+//
+BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
+{
+ hInst = hInstance; // Сохранить маркер экземпляра в глобальной переменной
+
+ HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
+ CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr);
+
+ if (!hWnd)
+ {
+ return FALSE;
+ }
+
+ ShowWindow(hWnd, nCmdShow);
+ UpdateWindow(hWnd);
+
+ return TRUE;
+}
+
+//
+// ФУНКЦИЯ: WndProc(HWND, UINT, WPARAM, LPARAM)
+//
+// ЦЕЛЬ: Обрабатывает сообщения в главном окне.
+//
+// WM_COMMAND - обработать меню приложения
+// WM_PAINT - Отрисовка главного окна
+// WM_DESTROY - отправить сообщение о выходе и вернуться
+//
+//
+void StClausAuto(HDC hdc, int x, int y) {
+ // верхний треугольник
+ MoveToEx(hdc, 20 + x, 0 + y, NULL);
+ LineTo(hdc, 30 + x, 20 + y);
+ LineTo(hdc, 10 + x, 20 + y);
+ LineTo(hdc, 20 + x, 0 + y);
+
+ // средний треугольник
+ MoveToEx(hdc, 20 + x, 10 + y, NULL);
+ LineTo(hdc, 30 + x, 40 + y);
+ LineTo(hdc, 10 + x, 40 + y);
+ LineTo(hdc, 20 + x, 10 + y);
+
+ // нижний треугольник
+ MoveToEx(hdc, 20 + x, 30 + y, NULL);
+ LineTo(hdc, 40 + x, 80 + y);
+ LineTo(hdc, 0 + x, 80 + y);
+ LineTo(hdc, 20 + x, 30 + y);
+}
+LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ switch (message)
+ {
+ case WM_COMMAND:
+ {
+ int wmId = LOWORD(wParam);
+ // Разобрать выбор в меню:
+ switch (wmId)
+ {
+ case IDM_ABOUT:
+ DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
+ break;
+ case IDM_EXIT:
+ DestroyWindow(hWnd);
+ break;
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ }
+ break;
+ case WM_PAINT:
+ {
+ PAINTSTRUCT ps;
+ HDC hdc = BeginPaint(hWnd, &ps);
+ // TODO: Добавьте сюда любой код прорисовки, использующий HDC...
+ int y = 0;
+ int x = 0;
+ do {
+ StClausAuto(hdc, x, y);
+ y += 100;
+ x += 50;
+ } while ((x < 400) && (y <400));
+
+ EndPaint(hWnd, &ps);
+ }
+ break;
+ case WM_DESTROY:
+ PostQuitMessage(0);
+ break;
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ return 0;
+}
+
+// Обработчик сообщений для окна "О программе".
+INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ UNREFERENCED_PARAMETER(lParam);
+ switch (message)
+ {
+ case WM_INITDIALOG:
+ return (INT_PTR)TRUE;
+
+ case WM_COMMAND:
+ if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
+ {
+ EndDialog(hDlg, LOWORD(wParam));
+ return (INT_PTR)TRUE;
+ }
+ break;
+ }
+ return (INT_PTR)FALSE;
+}
diff --git a/7, 8 лаб/8/1.4 лаб 8/1.4 лаб 8/1.4 лаб 8.h b/7, 8 лаб/8/1.4 лаб 8/1.4 лаб 8/1.4 лаб 8.h
new file mode 100644
index 0000000..b798bf5
--- /dev/null
+++ b/7, 8 лаб/8/1.4 лаб 8/1.4 лаб 8/1.4 лаб 8.h
@@ -0,0 +1,3 @@
+#pragma once
+
+#include "resource.h"
diff --git a/7, 8 лаб/8/1.4 лаб 8/1.4 лаб 8/1.4 лаб 8.ico b/7, 8 лаб/8/1.4 лаб 8/1.4 лаб 8/1.4 лаб 8.ico
new file mode 100644
index 0000000..b3ec03b
Binary files /dev/null and b/7, 8 лаб/8/1.4 лаб 8/1.4 лаб 8/1.4 лаб 8.ico differ
diff --git a/7, 8 лаб/8/1.4 лаб 8/1.4 лаб 8/1.4 лаб 8.rc b/7, 8 лаб/8/1.4 лаб 8/1.4 лаб 8/1.4 лаб 8.rc
new file mode 100644
index 0000000..c5f509c
Binary files /dev/null and b/7, 8 лаб/8/1.4 лаб 8/1.4 лаб 8/1.4 лаб 8.rc differ
diff --git a/7, 8 лаб/8/1.4 лаб 8/1.4 лаб 8/1.4 лаб 8.vcxproj b/7, 8 лаб/8/1.4 лаб 8/1.4 лаб 8/1.4 лаб 8.vcxproj
new file mode 100644
index 0000000..5f7243a
--- /dev/null
+++ b/7, 8 лаб/8/1.4 лаб 8/1.4 лаб 8/1.4 лаб 8.vcxproj
@@ -0,0 +1,148 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 17.0
+ Win32Proj
+ {24b7a290-4ca5-455e-a388-c676f31eab5e}
+ My14лаб8
+ 10.0
+
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Level3
+ true
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+ Level3
+ true
+ _DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/8/1.4 лаб 8/1.4 лаб 8/1.4 лаб 8.vcxproj.filters b/7, 8 лаб/8/1.4 лаб 8/1.4 лаб 8/1.4 лаб 8.vcxproj.filters
new file mode 100644
index 0000000..074ffb7
--- /dev/null
+++ b/7, 8 лаб/8/1.4 лаб 8/1.4 лаб 8/1.4 лаб 8.vcxproj.filters
@@ -0,0 +1,49 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+
+
+ Исходные файлы
+
+
+
+
+ Файлы ресурсов
+
+
+
+
+ Файлы ресурсов
+
+
+ Файлы ресурсов
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/8/1.4 лаб 8/1.4 лаб 8/Resource.h b/7, 8 лаб/8/1.4 лаб 8/1.4 лаб 8/Resource.h
new file mode 100644
index 0000000..ebbd8a9
--- /dev/null
+++ b/7, 8 лаб/8/1.4 лаб 8/1.4 лаб 8/Resource.h
@@ -0,0 +1,30 @@
+//{{NO_DEPENDENCIES}}
+// Включаемый файл, созданный в Microsoft Visual C++.
+// Используется 1.4 лаб 8.rc
+
+#define IDS_APP_TITLE 103
+
+#define IDR_MAINFRAME 128
+#define IDD_MY148_DIALOG 102
+#define IDD_ABOUTBOX 103
+#define IDM_ABOUT 104
+#define IDM_EXIT 105
+#define IDI_MY148 107
+#define IDI_SMALL 108
+#define IDC_MY148 109
+#define IDC_MYICON 2
+#ifndef IDC_STATIC
+#define IDC_STATIC -1
+#endif
+// Следующие стандартные значения для новых объектов
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+
+#define _APS_NO_MFC 130
+#define _APS_NEXT_RESOURCE_VALUE 129
+#define _APS_NEXT_COMMAND_VALUE 32771
+#define _APS_NEXT_CONTROL_VALUE 1000
+#define _APS_NEXT_SYMED_VALUE 110
+#endif
+#endif
diff --git a/7, 8 лаб/8/1.4 лаб 8/1.4 лаб 8/framework.h b/7, 8 лаб/8/1.4 лаб 8/1.4 лаб 8/framework.h
new file mode 100644
index 0000000..a8f6dc8
--- /dev/null
+++ b/7, 8 лаб/8/1.4 лаб 8/1.4 лаб 8/framework.h
@@ -0,0 +1,15 @@
+// header.h: включаемый файл для стандартных системных включаемых файлов
+// или включаемые файлы для конкретного проекта
+//
+
+#pragma once
+
+#include "targetver.h"
+#define WIN32_LEAN_AND_MEAN // Исключите редко используемые компоненты из заголовков Windows
+// Файлы заголовков Windows
+#include
+// Файлы заголовков среды выполнения C
+#include
+#include
+#include
+#include
diff --git a/7, 8 лаб/8/1.4 лаб 8/1.4 лаб 8/small.ico b/7, 8 лаб/8/1.4 лаб 8/1.4 лаб 8/small.ico
new file mode 100644
index 0000000..b3ec03b
Binary files /dev/null and b/7, 8 лаб/8/1.4 лаб 8/1.4 лаб 8/small.ico differ
diff --git a/7, 8 лаб/8/1.4 лаб 8/1.4 лаб 8/targetver.h b/7, 8 лаб/8/1.4 лаб 8/1.4 лаб 8/targetver.h
new file mode 100644
index 0000000..d90003d
--- /dev/null
+++ b/7, 8 лаб/8/1.4 лаб 8/1.4 лаб 8/targetver.h
@@ -0,0 +1,6 @@
+#pragma once
+
+// // При включении SDKDDKVer.h будет задана самая новая из доступных платформ Windows.
+// Если вы планируете сборку приложения для предыдущей версии платформы Windows, включите WinSDKVer.h и
+// задайте желаемую платформу в макросе _WIN32_WINNT, прежде чем включать SDKDDKVer.h.
+#include
diff --git a/7, 8 лаб/8/2.1 лаб 8/2.1 лаб 8.sln b/7, 8 лаб/8/2.1 лаб 8/2.1 лаб 8.sln
new file mode 100644
index 0000000..6422325
--- /dev/null
+++ b/7, 8 лаб/8/2.1 лаб 8/2.1 лаб 8.sln
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.11.35222.181
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "2.1 лаб 8", "2.1 лаб 8\2.1 лаб 8.vcxproj", "{0319BD61-0C16-458F-8504-A257ECBCDFA5}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {0319BD61-0C16-458F-8504-A257ECBCDFA5}.Debug|x64.ActiveCfg = Debug|x64
+ {0319BD61-0C16-458F-8504-A257ECBCDFA5}.Debug|x64.Build.0 = Debug|x64
+ {0319BD61-0C16-458F-8504-A257ECBCDFA5}.Debug|x86.ActiveCfg = Debug|Win32
+ {0319BD61-0C16-458F-8504-A257ECBCDFA5}.Debug|x86.Build.0 = Debug|Win32
+ {0319BD61-0C16-458F-8504-A257ECBCDFA5}.Release|x64.ActiveCfg = Release|x64
+ {0319BD61-0C16-458F-8504-A257ECBCDFA5}.Release|x64.Build.0 = Release|x64
+ {0319BD61-0C16-458F-8504-A257ECBCDFA5}.Release|x86.ActiveCfg = Release|Win32
+ {0319BD61-0C16-458F-8504-A257ECBCDFA5}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {E6A0C30D-A0A5-4898-9876-2DD5216B1A52}
+ EndGlobalSection
+EndGlobal
diff --git a/7, 8 лаб/8/2.1 лаб 8/2.1 лаб 8/2.1 лаб 8.cpp b/7, 8 лаб/8/2.1 лаб 8/2.1 лаб 8/2.1 лаб 8.cpp
new file mode 100644
index 0000000..4d03ab9
--- /dev/null
+++ b/7, 8 лаб/8/2.1 лаб 8/2.1 лаб 8/2.1 лаб 8.cpp
@@ -0,0 +1,204 @@
+// 2.1 лаб 8.cpp : Определяет точку входа для приложения.
+//
+
+#include "framework.h"
+#include "2.1 лаб 8.h"
+
+#define MAX_LOADSTRING 100
+
+// Глобальные переменные:
+HINSTANCE hInst; // текущий экземпляр
+WCHAR szTitle[MAX_LOADSTRING]; // Текст строки заголовка
+WCHAR szWindowClass[MAX_LOADSTRING]; // имя класса главного окна
+
+// Отправить объявления функций, включенных в этот модуль кода:
+ATOM MyRegisterClass(HINSTANCE hInstance);
+BOOL InitInstance(HINSTANCE, int);
+LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
+INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM);
+
+int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
+ _In_opt_ HINSTANCE hPrevInstance,
+ _In_ LPWSTR lpCmdLine,
+ _In_ int nCmdShow)
+{
+ UNREFERENCED_PARAMETER(hPrevInstance);
+ UNREFERENCED_PARAMETER(lpCmdLine);
+
+ // TODO: Разместите код здесь.
+
+ // Инициализация глобальных строк
+ LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
+ LoadStringW(hInstance, IDC_MY218, szWindowClass, MAX_LOADSTRING);
+ MyRegisterClass(hInstance);
+
+ // Выполнить инициализацию приложения:
+ if (!InitInstance (hInstance, nCmdShow))
+ {
+ return FALSE;
+ }
+
+ HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_MY218));
+
+ MSG msg;
+
+ // Цикл основного сообщения:
+ while (GetMessage(&msg, nullptr, 0, 0))
+ {
+ if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
+ {
+ TranslateMessage(&msg);
+ DispatchMessage(&msg);
+ }
+ }
+
+ return (int) msg.wParam;
+}
+
+
+
+//
+// ФУНКЦИЯ: MyRegisterClass()
+//
+// ЦЕЛЬ: Регистрирует класс окна.
+//
+ATOM MyRegisterClass(HINSTANCE hInstance)
+{
+ WNDCLASSEXW wcex;
+
+ wcex.cbSize = sizeof(WNDCLASSEX);
+
+ wcex.style = CS_HREDRAW | CS_VREDRAW;
+ wcex.lpfnWndProc = WndProc;
+ wcex.cbClsExtra = 0;
+ wcex.cbWndExtra = 0;
+ wcex.hInstance = hInstance;
+ wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MY218));
+ wcex.hCursor = LoadCursor(nullptr, IDC_ARROW);
+ wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
+ wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_MY218);
+ wcex.lpszClassName = szWindowClass;
+ wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));
+
+ return RegisterClassExW(&wcex);
+}
+
+//
+// ФУНКЦИЯ: InitInstance(HINSTANCE, int)
+//
+// ЦЕЛЬ: Сохраняет маркер экземпляра и создает главное окно
+//
+// КОММЕНТАРИИ:
+//
+// В этой функции маркер экземпляра сохраняется в глобальной переменной, а также
+// создается и выводится главное окно программы.
+//
+BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
+{
+ hInst = hInstance; // Сохранить маркер экземпляра в глобальной переменной
+
+ HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
+ CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr);
+
+ if (!hWnd)
+ {
+ return FALSE;
+ }
+
+ ShowWindow(hWnd, nCmdShow);
+ UpdateWindow(hWnd);
+
+ return TRUE;
+}
+
+//
+// ФУНКЦИЯ: WndProc(HWND, UINT, WPARAM, LPARAM)
+//
+// ЦЕЛЬ: Обрабатывает сообщения в главном окне.
+//
+// WM_COMMAND - обработать меню приложения
+// WM_PAINT - Отрисовка главного окна
+// WM_DESTROY - отправить сообщение о выходе и вернуться
+//
+//
+void drawTruck(HDC hdc, int x, int y) {
+ HPEN hPen = CreatePen(PS_SOLID, 3, RGB(0, 0, 200));
+ SelectObject(hdc, hPen);
+
+ Rectangle(hdc, 0 + x, 30 + y, 40 + x, 50 + y);
+ Rectangle(hdc, 10 + x, 10 + y, 40 + x, 30 + y);
+ Rectangle(hdc, 40 + x, 0 + y, 100 + x, 50 + y);
+
+ hPen = CreatePen(PS_SOLID, 3, RGB(100, 0, 0));
+ SelectObject(hdc, hPen);
+
+ Ellipse(hdc, 10 + x, 40 + y, 30 + x, 60 + y);
+ Ellipse(hdc, 70 + x, 40 + y, 90 + x, 60 + y);
+}
+
+LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ switch (message)
+ {
+ case WM_COMMAND:
+ {
+ int wmId = LOWORD(wParam);
+ // Разобрать выбор в меню:
+ switch (wmId)
+ {
+ case IDM_ABOUT:
+ DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
+ break;
+ case IDM_EXIT:
+ DestroyWindow(hWnd);
+ break;
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ }
+ break;
+ case WM_PAINT:
+ {
+ PAINTSTRUCT ps;
+ HDC hdc = BeginPaint(hWnd, &ps);
+ // TODO: Добавьте сюда любой код прорисовки, использующий HDC...
+
+ int y = 10;
+ int x = 50;
+ do {
+ drawTruck(hdc, x, y);
+ x += 150;
+ y += 150;
+ } while ((x < 300) && (y < 300));
+
+ EndPaint(hWnd, &ps);
+ }
+ break;
+ case WM_DESTROY:
+ PostQuitMessage(0);
+ break;
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ return 0;
+}
+
+// Обработчик сообщений для окна "О программе".
+INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ UNREFERENCED_PARAMETER(lParam);
+ switch (message)
+ {
+ case WM_INITDIALOG:
+ return (INT_PTR)TRUE;
+
+ case WM_COMMAND:
+ if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
+ {
+ EndDialog(hDlg, LOWORD(wParam));
+ return (INT_PTR)TRUE;
+ }
+ break;
+ }
+ return (INT_PTR)FALSE;
+}
diff --git a/7, 8 лаб/8/2.1 лаб 8/2.1 лаб 8/2.1 лаб 8.h b/7, 8 лаб/8/2.1 лаб 8/2.1 лаб 8/2.1 лаб 8.h
new file mode 100644
index 0000000..b798bf5
--- /dev/null
+++ b/7, 8 лаб/8/2.1 лаб 8/2.1 лаб 8/2.1 лаб 8.h
@@ -0,0 +1,3 @@
+#pragma once
+
+#include "resource.h"
diff --git a/7, 8 лаб/8/2.1 лаб 8/2.1 лаб 8/2.1 лаб 8.ico b/7, 8 лаб/8/2.1 лаб 8/2.1 лаб 8/2.1 лаб 8.ico
new file mode 100644
index 0000000..b3ec03b
Binary files /dev/null and b/7, 8 лаб/8/2.1 лаб 8/2.1 лаб 8/2.1 лаб 8.ico differ
diff --git a/7, 8 лаб/8/2.1 лаб 8/2.1 лаб 8/2.1 лаб 8.rc b/7, 8 лаб/8/2.1 лаб 8/2.1 лаб 8/2.1 лаб 8.rc
new file mode 100644
index 0000000..b2943d9
Binary files /dev/null and b/7, 8 лаб/8/2.1 лаб 8/2.1 лаб 8/2.1 лаб 8.rc differ
diff --git a/7, 8 лаб/8/2.1 лаб 8/2.1 лаб 8/2.1 лаб 8.vcxproj b/7, 8 лаб/8/2.1 лаб 8/2.1 лаб 8/2.1 лаб 8.vcxproj
new file mode 100644
index 0000000..ccdb960
--- /dev/null
+++ b/7, 8 лаб/8/2.1 лаб 8/2.1 лаб 8/2.1 лаб 8.vcxproj
@@ -0,0 +1,148 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 17.0
+ Win32Proj
+ {0319bd61-0c16-458f-8504-a257ecbcdfa5}
+ My21лаб8
+ 10.0
+
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Level3
+ true
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+ Level3
+ true
+ _DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/8/2.1 лаб 8/2.1 лаб 8/2.1 лаб 8.vcxproj.filters b/7, 8 лаб/8/2.1 лаб 8/2.1 лаб 8/2.1 лаб 8.vcxproj.filters
new file mode 100644
index 0000000..a707c9e
--- /dev/null
+++ b/7, 8 лаб/8/2.1 лаб 8/2.1 лаб 8/2.1 лаб 8.vcxproj.filters
@@ -0,0 +1,49 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+
+
+ Исходные файлы
+
+
+
+
+ Файлы ресурсов
+
+
+
+
+ Файлы ресурсов
+
+
+ Файлы ресурсов
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/8/2.1 лаб 8/2.1 лаб 8/Resource.h b/7, 8 лаб/8/2.1 лаб 8/2.1 лаб 8/Resource.h
new file mode 100644
index 0000000..e2d3757
--- /dev/null
+++ b/7, 8 лаб/8/2.1 лаб 8/2.1 лаб 8/Resource.h
@@ -0,0 +1,30 @@
+//{{NO_DEPENDENCIES}}
+// Включаемый файл, созданный в Microsoft Visual C++.
+// Используется 2.1 лаб 8.rc
+
+#define IDS_APP_TITLE 103
+
+#define IDR_MAINFRAME 128
+#define IDD_MY218_DIALOG 102
+#define IDD_ABOUTBOX 103
+#define IDM_ABOUT 104
+#define IDM_EXIT 105
+#define IDI_MY218 107
+#define IDI_SMALL 108
+#define IDC_MY218 109
+#define IDC_MYICON 2
+#ifndef IDC_STATIC
+#define IDC_STATIC -1
+#endif
+// Следующие стандартные значения для новых объектов
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+
+#define _APS_NO_MFC 130
+#define _APS_NEXT_RESOURCE_VALUE 129
+#define _APS_NEXT_COMMAND_VALUE 32771
+#define _APS_NEXT_CONTROL_VALUE 1000
+#define _APS_NEXT_SYMED_VALUE 110
+#endif
+#endif
diff --git a/7, 8 лаб/8/2.1 лаб 8/2.1 лаб 8/framework.h b/7, 8 лаб/8/2.1 лаб 8/2.1 лаб 8/framework.h
new file mode 100644
index 0000000..a8f6dc8
--- /dev/null
+++ b/7, 8 лаб/8/2.1 лаб 8/2.1 лаб 8/framework.h
@@ -0,0 +1,15 @@
+// header.h: включаемый файл для стандартных системных включаемых файлов
+// или включаемые файлы для конкретного проекта
+//
+
+#pragma once
+
+#include "targetver.h"
+#define WIN32_LEAN_AND_MEAN // Исключите редко используемые компоненты из заголовков Windows
+// Файлы заголовков Windows
+#include
+// Файлы заголовков среды выполнения C
+#include
+#include
+#include
+#include
diff --git a/7, 8 лаб/8/2.1 лаб 8/2.1 лаб 8/small.ico b/7, 8 лаб/8/2.1 лаб 8/2.1 лаб 8/small.ico
new file mode 100644
index 0000000..b3ec03b
Binary files /dev/null and b/7, 8 лаб/8/2.1 лаб 8/2.1 лаб 8/small.ico differ
diff --git a/7, 8 лаб/8/2.1 лаб 8/2.1 лаб 8/targetver.h b/7, 8 лаб/8/2.1 лаб 8/2.1 лаб 8/targetver.h
new file mode 100644
index 0000000..d90003d
--- /dev/null
+++ b/7, 8 лаб/8/2.1 лаб 8/2.1 лаб 8/targetver.h
@@ -0,0 +1,6 @@
+#pragma once
+
+// // При включении SDKDDKVer.h будет задана самая новая из доступных платформ Windows.
+// Если вы планируете сборку приложения для предыдущей версии платформы Windows, включите WinSDKVer.h и
+// задайте желаемую платформу в макросе _WIN32_WINNT, прежде чем включать SDKDDKVer.h.
+#include
diff --git a/7, 8 лаб/8/2.2 лаб 8/2.2 лаб 8.sln b/7, 8 лаб/8/2.2 лаб 8/2.2 лаб 8.sln
new file mode 100644
index 0000000..57dcb5d
--- /dev/null
+++ b/7, 8 лаб/8/2.2 лаб 8/2.2 лаб 8.sln
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.11.35222.181
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "2.2 лаб 8", "2.2 лаб 8\2.2 лаб 8.vcxproj", "{E566A803-E25E-47A6-98B9-633E7B1FB9F2}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {E566A803-E25E-47A6-98B9-633E7B1FB9F2}.Debug|x64.ActiveCfg = Debug|x64
+ {E566A803-E25E-47A6-98B9-633E7B1FB9F2}.Debug|x64.Build.0 = Debug|x64
+ {E566A803-E25E-47A6-98B9-633E7B1FB9F2}.Debug|x86.ActiveCfg = Debug|Win32
+ {E566A803-E25E-47A6-98B9-633E7B1FB9F2}.Debug|x86.Build.0 = Debug|Win32
+ {E566A803-E25E-47A6-98B9-633E7B1FB9F2}.Release|x64.ActiveCfg = Release|x64
+ {E566A803-E25E-47A6-98B9-633E7B1FB9F2}.Release|x64.Build.0 = Release|x64
+ {E566A803-E25E-47A6-98B9-633E7B1FB9F2}.Release|x86.ActiveCfg = Release|Win32
+ {E566A803-E25E-47A6-98B9-633E7B1FB9F2}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {56FECAC9-3528-4014-9ABD-39E7332C7CC2}
+ EndGlobalSection
+EndGlobal
diff --git a/7, 8 лаб/8/2.2 лаб 8/2.2 лаб 8/2.2 лаб 8.cpp b/7, 8 лаб/8/2.2 лаб 8/2.2 лаб 8/2.2 лаб 8.cpp
new file mode 100644
index 0000000..4898341
--- /dev/null
+++ b/7, 8 лаб/8/2.2 лаб 8/2.2 лаб 8/2.2 лаб 8.cpp
@@ -0,0 +1,204 @@
+// 2.2 лаб 8.cpp : Определяет точку входа для приложения.
+//
+
+#include "framework.h"
+#include "2.2 лаб 8.h"
+
+#define MAX_LOADSTRING 100
+
+// Глобальные переменные:
+HINSTANCE hInst; // текущий экземпляр
+WCHAR szTitle[MAX_LOADSTRING]; // Текст строки заголовка
+WCHAR szWindowClass[MAX_LOADSTRING]; // имя класса главного окна
+
+// Отправить объявления функций, включенных в этот модуль кода:
+ATOM MyRegisterClass(HINSTANCE hInstance);
+BOOL InitInstance(HINSTANCE, int);
+LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
+INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM);
+
+int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
+ _In_opt_ HINSTANCE hPrevInstance,
+ _In_ LPWSTR lpCmdLine,
+ _In_ int nCmdShow)
+{
+ UNREFERENCED_PARAMETER(hPrevInstance);
+ UNREFERENCED_PARAMETER(lpCmdLine);
+
+ // TODO: Разместите код здесь.
+
+ // Инициализация глобальных строк
+ LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
+ LoadStringW(hInstance, IDC_MY228, szWindowClass, MAX_LOADSTRING);
+ MyRegisterClass(hInstance);
+
+ // Выполнить инициализацию приложения:
+ if (!InitInstance (hInstance, nCmdShow))
+ {
+ return FALSE;
+ }
+
+ HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_MY228));
+
+ MSG msg;
+
+ // Цикл основного сообщения:
+ while (GetMessage(&msg, nullptr, 0, 0))
+ {
+ if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
+ {
+ TranslateMessage(&msg);
+ DispatchMessage(&msg);
+ }
+ }
+
+ return (int) msg.wParam;
+}
+
+
+
+//
+// ФУНКЦИЯ: MyRegisterClass()
+//
+// ЦЕЛЬ: Регистрирует класс окна.
+//
+ATOM MyRegisterClass(HINSTANCE hInstance)
+{
+ WNDCLASSEXW wcex;
+
+ wcex.cbSize = sizeof(WNDCLASSEX);
+
+ wcex.style = CS_HREDRAW | CS_VREDRAW;
+ wcex.lpfnWndProc = WndProc;
+ wcex.cbClsExtra = 0;
+ wcex.cbWndExtra = 0;
+ wcex.hInstance = hInstance;
+ wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MY228));
+ wcex.hCursor = LoadCursor(nullptr, IDC_ARROW);
+ wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
+ wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_MY228);
+ wcex.lpszClassName = szWindowClass;
+ wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));
+
+ return RegisterClassExW(&wcex);
+}
+
+//
+// ФУНКЦИЯ: InitInstance(HINSTANCE, int)
+//
+// ЦЕЛЬ: Сохраняет маркер экземпляра и создает главное окно
+//
+// КОММЕНТАРИИ:
+//
+// В этой функции маркер экземпляра сохраняется в глобальной переменной, а также
+// создается и выводится главное окно программы.
+//
+
+BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
+{
+ hInst = hInstance; // Сохранить маркер экземпляра в глобальной переменной
+
+ HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
+ CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr);
+
+ if (!hWnd)
+ {
+ return FALSE;
+ }
+
+ ShowWindow(hWnd, nCmdShow);
+ UpdateWindow(hWnd);
+
+ return TRUE;
+}
+
+//
+// ФУНКЦИЯ: WndProc(HWND, UINT, WPARAM, LPARAM)
+//
+// ЦЕЛЬ: Обрабатывает сообщения в главном окне.
+//
+// WM_COMMAND - обработать меню приложения
+// WM_PAINT - Отрисовка главного окна
+// WM_DESTROY - отправить сообщение о выходе и вернуться
+//
+//
+void drawTruck(HDC hdc, int x, int y) {
+ HPEN hPen = CreatePen(PS_SOLID, 3, RGB(0, 0, 200));
+ SelectObject(hdc, hPen);
+
+ Rectangle(hdc, 0 + x, 30 + y, 40 + x, 50 + y);
+ Rectangle(hdc, 10 + x, 10 + y, 40 + x, 30 + y);
+ Rectangle(hdc, 40 + x, 0 + y, 100 + x, 50 + y);
+
+ hPen = CreatePen(PS_SOLID, 3, RGB(100, 0, 0));
+ SelectObject(hdc, hPen);
+
+ Ellipse(hdc, 10 + x, 40 + y, 30 + x, 60 + y);
+ Ellipse(hdc, 70 + x, 40 + y, 90 + x, 60 + y);
+}
+void drawTrucks1(HDC hdc) {
+ drawTruck(hdc, 10, 10);
+ drawTruck(hdc, 10, 310);
+ drawTruck(hdc, 310, 10);
+ drawTruck(hdc, 310, 310);
+ drawTruck(hdc, 160, 160);
+}
+LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ switch (message)
+ {
+ case WM_COMMAND:
+ {
+ int wmId = LOWORD(wParam);
+ // Разобрать выбор в меню:
+ switch (wmId)
+ {
+ case IDM_ABOUT:
+ DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
+ break;
+ case IDM_EXIT:
+ DestroyWindow(hWnd);
+ break;
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ }
+ break;
+ case WM_PAINT:
+ {
+ PAINTSTRUCT ps;
+ HDC hdc = BeginPaint(hWnd, &ps);
+ // TODO: Добавьте сюда любой код прорисовки, использующий HDC...
+
+ drawTrucks1(hdc);
+ EndPaint(hWnd, &ps);
+ }
+ break;
+ case WM_DESTROY:
+ PostQuitMessage(0);
+ break;
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ return 0;
+}
+
+// Обработчик сообщений для окна "О программе".
+INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ UNREFERENCED_PARAMETER(lParam);
+ switch (message)
+ {
+ case WM_INITDIALOG:
+ return (INT_PTR)TRUE;
+
+ case WM_COMMAND:
+ if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
+ {
+ EndDialog(hDlg, LOWORD(wParam));
+ return (INT_PTR)TRUE;
+ }
+ break;
+ }
+ return (INT_PTR)FALSE;
+}
diff --git a/7, 8 лаб/8/2.2 лаб 8/2.2 лаб 8/2.2 лаб 8.h b/7, 8 лаб/8/2.2 лаб 8/2.2 лаб 8/2.2 лаб 8.h
new file mode 100644
index 0000000..b798bf5
--- /dev/null
+++ b/7, 8 лаб/8/2.2 лаб 8/2.2 лаб 8/2.2 лаб 8.h
@@ -0,0 +1,3 @@
+#pragma once
+
+#include "resource.h"
diff --git a/7, 8 лаб/8/2.2 лаб 8/2.2 лаб 8/2.2 лаб 8.ico b/7, 8 лаб/8/2.2 лаб 8/2.2 лаб 8/2.2 лаб 8.ico
new file mode 100644
index 0000000..b3ec03b
Binary files /dev/null and b/7, 8 лаб/8/2.2 лаб 8/2.2 лаб 8/2.2 лаб 8.ico differ
diff --git a/7, 8 лаб/8/2.2 лаб 8/2.2 лаб 8/2.2 лаб 8.rc b/7, 8 лаб/8/2.2 лаб 8/2.2 лаб 8/2.2 лаб 8.rc
new file mode 100644
index 0000000..a1cab25
Binary files /dev/null and b/7, 8 лаб/8/2.2 лаб 8/2.2 лаб 8/2.2 лаб 8.rc differ
diff --git a/7, 8 лаб/8/2.2 лаб 8/2.2 лаб 8/2.2 лаб 8.vcxproj b/7, 8 лаб/8/2.2 лаб 8/2.2 лаб 8/2.2 лаб 8.vcxproj
new file mode 100644
index 0000000..bfe3008
--- /dev/null
+++ b/7, 8 лаб/8/2.2 лаб 8/2.2 лаб 8/2.2 лаб 8.vcxproj
@@ -0,0 +1,148 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 17.0
+ Win32Proj
+ {e566a803-e25e-47a6-98b9-633e7b1fb9f2}
+ My22лаб8
+ 10.0
+
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Level3
+ true
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+ Level3
+ true
+ _DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/8/2.2 лаб 8/2.2 лаб 8/2.2 лаб 8.vcxproj.filters b/7, 8 лаб/8/2.2 лаб 8/2.2 лаб 8/2.2 лаб 8.vcxproj.filters
new file mode 100644
index 0000000..860ac11
--- /dev/null
+++ b/7, 8 лаб/8/2.2 лаб 8/2.2 лаб 8/2.2 лаб 8.vcxproj.filters
@@ -0,0 +1,49 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+
+
+ Исходные файлы
+
+
+
+
+ Файлы ресурсов
+
+
+
+
+ Файлы ресурсов
+
+
+ Файлы ресурсов
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/8/2.2 лаб 8/2.2 лаб 8/Resource.h b/7, 8 лаб/8/2.2 лаб 8/2.2 лаб 8/Resource.h
new file mode 100644
index 0000000..f5f5b49
--- /dev/null
+++ b/7, 8 лаб/8/2.2 лаб 8/2.2 лаб 8/Resource.h
@@ -0,0 +1,30 @@
+//{{NO_DEPENDENCIES}}
+// Включаемый файл, созданный в Microsoft Visual C++.
+// Используется 2.2 лаб 8.rc
+
+#define IDS_APP_TITLE 103
+
+#define IDR_MAINFRAME 128
+#define IDD_MY228_DIALOG 102
+#define IDD_ABOUTBOX 103
+#define IDM_ABOUT 104
+#define IDM_EXIT 105
+#define IDI_MY228 107
+#define IDI_SMALL 108
+#define IDC_MY228 109
+#define IDC_MYICON 2
+#ifndef IDC_STATIC
+#define IDC_STATIC -1
+#endif
+// Следующие стандартные значения для новых объектов
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+
+#define _APS_NO_MFC 130
+#define _APS_NEXT_RESOURCE_VALUE 129
+#define _APS_NEXT_COMMAND_VALUE 32771
+#define _APS_NEXT_CONTROL_VALUE 1000
+#define _APS_NEXT_SYMED_VALUE 110
+#endif
+#endif
diff --git a/7, 8 лаб/8/2.2 лаб 8/2.2 лаб 8/framework.h b/7, 8 лаб/8/2.2 лаб 8/2.2 лаб 8/framework.h
new file mode 100644
index 0000000..a8f6dc8
--- /dev/null
+++ b/7, 8 лаб/8/2.2 лаб 8/2.2 лаб 8/framework.h
@@ -0,0 +1,15 @@
+// header.h: включаемый файл для стандартных системных включаемых файлов
+// или включаемые файлы для конкретного проекта
+//
+
+#pragma once
+
+#include "targetver.h"
+#define WIN32_LEAN_AND_MEAN // Исключите редко используемые компоненты из заголовков Windows
+// Файлы заголовков Windows
+#include
+// Файлы заголовков среды выполнения C
+#include
+#include
+#include
+#include
diff --git a/7, 8 лаб/8/2.2 лаб 8/2.2 лаб 8/small.ico b/7, 8 лаб/8/2.2 лаб 8/2.2 лаб 8/small.ico
new file mode 100644
index 0000000..b3ec03b
Binary files /dev/null and b/7, 8 лаб/8/2.2 лаб 8/2.2 лаб 8/small.ico differ
diff --git a/7, 8 лаб/8/2.2 лаб 8/2.2 лаб 8/targetver.h b/7, 8 лаб/8/2.2 лаб 8/2.2 лаб 8/targetver.h
new file mode 100644
index 0000000..d90003d
--- /dev/null
+++ b/7, 8 лаб/8/2.2 лаб 8/2.2 лаб 8/targetver.h
@@ -0,0 +1,6 @@
+#pragma once
+
+// // При включении SDKDDKVer.h будет задана самая новая из доступных платформ Windows.
+// Если вы планируете сборку приложения для предыдущей версии платформы Windows, включите WinSDKVer.h и
+// задайте желаемую платформу в макросе _WIN32_WINNT, прежде чем включать SDKDDKVer.h.
+#include
diff --git a/7, 8 лаб/8/2.3.1 лаб 8/2.3 лаб 8.sln b/7, 8 лаб/8/2.3.1 лаб 8/2.3 лаб 8.sln
new file mode 100644
index 0000000..d6503f5
--- /dev/null
+++ b/7, 8 лаб/8/2.3.1 лаб 8/2.3 лаб 8.sln
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.11.35222.181
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "2.3 лаб 8", "2.3 лаб 8\2.3 лаб 8.vcxproj", "{08DEEE99-3075-49E9-9523-098CBF99D446}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {08DEEE99-3075-49E9-9523-098CBF99D446}.Debug|x64.ActiveCfg = Debug|x64
+ {08DEEE99-3075-49E9-9523-098CBF99D446}.Debug|x64.Build.0 = Debug|x64
+ {08DEEE99-3075-49E9-9523-098CBF99D446}.Debug|x86.ActiveCfg = Debug|Win32
+ {08DEEE99-3075-49E9-9523-098CBF99D446}.Debug|x86.Build.0 = Debug|Win32
+ {08DEEE99-3075-49E9-9523-098CBF99D446}.Release|x64.ActiveCfg = Release|x64
+ {08DEEE99-3075-49E9-9523-098CBF99D446}.Release|x64.Build.0 = Release|x64
+ {08DEEE99-3075-49E9-9523-098CBF99D446}.Release|x86.ActiveCfg = Release|Win32
+ {08DEEE99-3075-49E9-9523-098CBF99D446}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {651E2239-673E-40B1-BBC2-159ADEC105FC}
+ EndGlobalSection
+EndGlobal
diff --git a/7, 8 лаб/8/2.3.1 лаб 8/2.3 лаб 8/2.3 лаб 8.cpp b/7, 8 лаб/8/2.3.1 лаб 8/2.3 лаб 8/2.3 лаб 8.cpp
new file mode 100644
index 0000000..642d594
--- /dev/null
+++ b/7, 8 лаб/8/2.3.1 лаб 8/2.3 лаб 8/2.3 лаб 8.cpp
@@ -0,0 +1,203 @@
+// 2.3 лаб 8.cpp : Определяет точку входа для приложения.
+//
+
+#include "framework.h"
+#include "2.3 лаб 8.h"
+
+#define MAX_LOADSTRING 100
+
+// Глобальные переменные:
+HINSTANCE hInst; // текущий экземпляр
+WCHAR szTitle[MAX_LOADSTRING]; // Текст строки заголовка
+WCHAR szWindowClass[MAX_LOADSTRING]; // имя класса главного окна
+
+// Отправить объявления функций, включенных в этот модуль кода:
+ATOM MyRegisterClass(HINSTANCE hInstance);
+BOOL InitInstance(HINSTANCE, int);
+LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
+INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM);
+
+int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
+ _In_opt_ HINSTANCE hPrevInstance,
+ _In_ LPWSTR lpCmdLine,
+ _In_ int nCmdShow)
+{
+ UNREFERENCED_PARAMETER(hPrevInstance);
+ UNREFERENCED_PARAMETER(lpCmdLine);
+
+ // TODO: Разместите код здесь.
+
+ // Инициализация глобальных строк
+ LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
+ LoadStringW(hInstance, IDC_MY238, szWindowClass, MAX_LOADSTRING);
+ MyRegisterClass(hInstance);
+
+ // Выполнить инициализацию приложения:
+ if (!InitInstance (hInstance, nCmdShow))
+ {
+ return FALSE;
+ }
+
+ HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_MY238));
+
+ MSG msg;
+
+ // Цикл основного сообщения:
+ while (GetMessage(&msg, nullptr, 0, 0))
+ {
+ if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
+ {
+ TranslateMessage(&msg);
+ DispatchMessage(&msg);
+ }
+ }
+
+ return (int) msg.wParam;
+}
+
+
+
+//
+// ФУНКЦИЯ: MyRegisterClass()
+//
+// ЦЕЛЬ: Регистрирует класс окна.
+//
+ATOM MyRegisterClass(HINSTANCE hInstance)
+{
+ WNDCLASSEXW wcex;
+
+ wcex.cbSize = sizeof(WNDCLASSEX);
+
+ wcex.style = CS_HREDRAW | CS_VREDRAW;
+ wcex.lpfnWndProc = WndProc;
+ wcex.cbClsExtra = 0;
+ wcex.cbWndExtra = 0;
+ wcex.hInstance = hInstance;
+ wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MY238));
+ wcex.hCursor = LoadCursor(nullptr, IDC_ARROW);
+ wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
+ wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_MY238);
+ wcex.lpszClassName = szWindowClass;
+ wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));
+
+ return RegisterClassExW(&wcex);
+}
+
+//
+// ФУНКЦИЯ: InitInstance(HINSTANCE, int)
+//
+// ЦЕЛЬ: Сохраняет маркер экземпляра и создает главное окно
+//
+// КОММЕНТАРИИ:
+//
+// В этой функции маркер экземпляра сохраняется в глобальной переменной, а также
+// создается и выводится главное окно программы.
+//
+BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
+{
+ hInst = hInstance; // Сохранить маркер экземпляра в глобальной переменной
+
+ HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
+ CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr);
+
+ if (!hWnd)
+ {
+ return FALSE;
+ }
+
+ ShowWindow(hWnd, nCmdShow);
+ UpdateWindow(hWnd);
+
+ return TRUE;
+}
+
+//
+// ФУНКЦИЯ: WndProc(HWND, UINT, WPARAM, LPARAM)
+//
+// ЦЕЛЬ: Обрабатывает сообщения в главном окне.
+//
+// WM_COMMAND - обработать меню приложения
+// WM_PAINT - Отрисовка главного окна
+// WM_DESTROY - отправить сообщение о выходе и вернуться
+//
+//
+void drawTruck(HDC hdc, int x, int y) {
+ HPEN hPen = CreatePen(PS_SOLID, 3, RGB(0, 0, 200));
+ SelectObject(hdc, hPen);
+
+ Rectangle(hdc, 0 + x, 30 + y, 40 + x, 50 + y);
+ Rectangle(hdc, 10 + x, 10 + y, 40 + x, 30 + y);
+ Rectangle(hdc, 40 + x, 0 + y, 100 + x, 50 + y);
+
+ hPen = CreatePen(PS_SOLID, 3, RGB(100, 0, 0));
+ SelectObject(hdc, hPen);
+
+ Ellipse(hdc, 10 + x, 40 + y, 30 + x, 60 + y);
+ Ellipse(hdc, 70 + x, 40 + y, 90 + x, 60 + y);
+}
+void drawTrucks2(HDC hdc) {
+ drawTruck(hdc, 20, 20);
+ drawTruck(hdc, 140, 20);
+ drawTruck(hdc, 260, 20);
+ drawTruck(hdc, 380, 20);
+ drawTruck(hdc, 500, 20);
+}
+LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ switch (message)
+ {
+ case WM_COMMAND:
+ {
+ int wmId = LOWORD(wParam);
+ // Разобрать выбор в меню:
+ switch (wmId)
+ {
+ case IDM_ABOUT:
+ DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
+ break;
+ case IDM_EXIT:
+ DestroyWindow(hWnd);
+ break;
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ }
+ break;
+ case WM_PAINT:
+ {
+ PAINTSTRUCT ps;
+ HDC hdc = BeginPaint(hWnd, &ps);
+ // TODO: Добавьте сюда любой код прорисовки, использующий HDC...
+ drawTrucks2(hdc);
+
+ EndPaint(hWnd, &ps);
+ }
+ break;
+ case WM_DESTROY:
+ PostQuitMessage(0);
+ break;
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ return 0;
+}
+
+// Обработчик сообщений для окна "О программе".
+INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ UNREFERENCED_PARAMETER(lParam);
+ switch (message)
+ {
+ case WM_INITDIALOG:
+ return (INT_PTR)TRUE;
+
+ case WM_COMMAND:
+ if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
+ {
+ EndDialog(hDlg, LOWORD(wParam));
+ return (INT_PTR)TRUE;
+ }
+ break;
+ }
+ return (INT_PTR)FALSE;
+}
diff --git a/7, 8 лаб/8/2.3.1 лаб 8/2.3 лаб 8/2.3 лаб 8.h b/7, 8 лаб/8/2.3.1 лаб 8/2.3 лаб 8/2.3 лаб 8.h
new file mode 100644
index 0000000..b798bf5
--- /dev/null
+++ b/7, 8 лаб/8/2.3.1 лаб 8/2.3 лаб 8/2.3 лаб 8.h
@@ -0,0 +1,3 @@
+#pragma once
+
+#include "resource.h"
diff --git a/7, 8 лаб/8/2.3.1 лаб 8/2.3 лаб 8/2.3 лаб 8.ico b/7, 8 лаб/8/2.3.1 лаб 8/2.3 лаб 8/2.3 лаб 8.ico
new file mode 100644
index 0000000..b3ec03b
Binary files /dev/null and b/7, 8 лаб/8/2.3.1 лаб 8/2.3 лаб 8/2.3 лаб 8.ico differ
diff --git a/7, 8 лаб/8/2.3.1 лаб 8/2.3 лаб 8/2.3 лаб 8.rc b/7, 8 лаб/8/2.3.1 лаб 8/2.3 лаб 8/2.3 лаб 8.rc
new file mode 100644
index 0000000..dafdbd6
Binary files /dev/null and b/7, 8 лаб/8/2.3.1 лаб 8/2.3 лаб 8/2.3 лаб 8.rc differ
diff --git a/7, 8 лаб/8/2.3.1 лаб 8/2.3 лаб 8/2.3 лаб 8.vcxproj b/7, 8 лаб/8/2.3.1 лаб 8/2.3 лаб 8/2.3 лаб 8.vcxproj
new file mode 100644
index 0000000..0771f3a
--- /dev/null
+++ b/7, 8 лаб/8/2.3.1 лаб 8/2.3 лаб 8/2.3 лаб 8.vcxproj
@@ -0,0 +1,148 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 17.0
+ Win32Proj
+ {08deee99-3075-49e9-9523-098cbf99d446}
+ My23лаб8
+ 10.0
+
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Level3
+ true
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+ Level3
+ true
+ _DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/8/2.3.1 лаб 8/2.3 лаб 8/2.3 лаб 8.vcxproj.filters b/7, 8 лаб/8/2.3.1 лаб 8/2.3 лаб 8/2.3 лаб 8.vcxproj.filters
new file mode 100644
index 0000000..c4c8a9b
--- /dev/null
+++ b/7, 8 лаб/8/2.3.1 лаб 8/2.3 лаб 8/2.3 лаб 8.vcxproj.filters
@@ -0,0 +1,49 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+
+
+ Исходные файлы
+
+
+
+
+ Файлы ресурсов
+
+
+
+
+ Файлы ресурсов
+
+
+ Файлы ресурсов
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/8/2.3.1 лаб 8/2.3 лаб 8/Resource.h b/7, 8 лаб/8/2.3.1 лаб 8/2.3 лаб 8/Resource.h
new file mode 100644
index 0000000..1100e1d
--- /dev/null
+++ b/7, 8 лаб/8/2.3.1 лаб 8/2.3 лаб 8/Resource.h
@@ -0,0 +1,30 @@
+//{{NO_DEPENDENCIES}}
+// Включаемый файл, созданный в Microsoft Visual C++.
+// Используется 2.3 лаб 8.rc
+
+#define IDS_APP_TITLE 103
+
+#define IDR_MAINFRAME 128
+#define IDD_MY238_DIALOG 102
+#define IDD_ABOUTBOX 103
+#define IDM_ABOUT 104
+#define IDM_EXIT 105
+#define IDI_MY238 107
+#define IDI_SMALL 108
+#define IDC_MY238 109
+#define IDC_MYICON 2
+#ifndef IDC_STATIC
+#define IDC_STATIC -1
+#endif
+// Следующие стандартные значения для новых объектов
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+
+#define _APS_NO_MFC 130
+#define _APS_NEXT_RESOURCE_VALUE 129
+#define _APS_NEXT_COMMAND_VALUE 32771
+#define _APS_NEXT_CONTROL_VALUE 1000
+#define _APS_NEXT_SYMED_VALUE 110
+#endif
+#endif
diff --git a/7, 8 лаб/8/2.3.1 лаб 8/2.3 лаб 8/framework.h b/7, 8 лаб/8/2.3.1 лаб 8/2.3 лаб 8/framework.h
new file mode 100644
index 0000000..a8f6dc8
--- /dev/null
+++ b/7, 8 лаб/8/2.3.1 лаб 8/2.3 лаб 8/framework.h
@@ -0,0 +1,15 @@
+// header.h: включаемый файл для стандартных системных включаемых файлов
+// или включаемые файлы для конкретного проекта
+//
+
+#pragma once
+
+#include "targetver.h"
+#define WIN32_LEAN_AND_MEAN // Исключите редко используемые компоненты из заголовков Windows
+// Файлы заголовков Windows
+#include
+// Файлы заголовков среды выполнения C
+#include
+#include
+#include
+#include
diff --git a/7, 8 лаб/8/2.3.1 лаб 8/2.3 лаб 8/small.ico b/7, 8 лаб/8/2.3.1 лаб 8/2.3 лаб 8/small.ico
new file mode 100644
index 0000000..b3ec03b
Binary files /dev/null and b/7, 8 лаб/8/2.3.1 лаб 8/2.3 лаб 8/small.ico differ
diff --git a/7, 8 лаб/8/2.3.1 лаб 8/2.3 лаб 8/targetver.h b/7, 8 лаб/8/2.3.1 лаб 8/2.3 лаб 8/targetver.h
new file mode 100644
index 0000000..d90003d
--- /dev/null
+++ b/7, 8 лаб/8/2.3.1 лаб 8/2.3 лаб 8/targetver.h
@@ -0,0 +1,6 @@
+#pragma once
+
+// // При включении SDKDDKVer.h будет задана самая новая из доступных платформ Windows.
+// Если вы планируете сборку приложения для предыдущей версии платформы Windows, включите WinSDKVer.h и
+// задайте желаемую платформу в макросе _WIN32_WINNT, прежде чем включать SDKDDKVer.h.
+#include
diff --git a/7, 8 лаб/8/2.3.2 лаб 8/2.3.2 лаб 8.sln b/7, 8 лаб/8/2.3.2 лаб 8/2.3.2 лаб 8.sln
new file mode 100644
index 0000000..201d1ad
--- /dev/null
+++ b/7, 8 лаб/8/2.3.2 лаб 8/2.3.2 лаб 8.sln
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.11.35222.181
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "2.3.2 лаб 8", "2.3.2 лаб 8\2.3.2 лаб 8.vcxproj", "{1F4BD7DA-70FE-41A4-A2A5-B57368CD088A}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {1F4BD7DA-70FE-41A4-A2A5-B57368CD088A}.Debug|x64.ActiveCfg = Debug|x64
+ {1F4BD7DA-70FE-41A4-A2A5-B57368CD088A}.Debug|x64.Build.0 = Debug|x64
+ {1F4BD7DA-70FE-41A4-A2A5-B57368CD088A}.Debug|x86.ActiveCfg = Debug|Win32
+ {1F4BD7DA-70FE-41A4-A2A5-B57368CD088A}.Debug|x86.Build.0 = Debug|Win32
+ {1F4BD7DA-70FE-41A4-A2A5-B57368CD088A}.Release|x64.ActiveCfg = Release|x64
+ {1F4BD7DA-70FE-41A4-A2A5-B57368CD088A}.Release|x64.Build.0 = Release|x64
+ {1F4BD7DA-70FE-41A4-A2A5-B57368CD088A}.Release|x86.ActiveCfg = Release|Win32
+ {1F4BD7DA-70FE-41A4-A2A5-B57368CD088A}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {291A4D3D-D4E5-42E0-8EA1-2768DE4FD063}
+ EndGlobalSection
+EndGlobal
diff --git a/7, 8 лаб/8/2.3.2 лаб 8/2.3.2 лаб 8/2.3.2 лаб 8.cpp b/7, 8 лаб/8/2.3.2 лаб 8/2.3.2 лаб 8/2.3.2 лаб 8.cpp
new file mode 100644
index 0000000..68963a1
--- /dev/null
+++ b/7, 8 лаб/8/2.3.2 лаб 8/2.3.2 лаб 8/2.3.2 лаб 8.cpp
@@ -0,0 +1,203 @@
+// 2.3.2 лаб 8.cpp : Определяет точку входа для приложения.
+//
+
+#include "framework.h"
+#include "2.3.2 лаб 8.h"
+
+#define MAX_LOADSTRING 100
+
+// Глобальные переменные:
+HINSTANCE hInst; // текущий экземпляр
+WCHAR szTitle[MAX_LOADSTRING]; // Текст строки заголовка
+WCHAR szWindowClass[MAX_LOADSTRING]; // имя класса главного окна
+
+// Отправить объявления функций, включенных в этот модуль кода:
+ATOM MyRegisterClass(HINSTANCE hInstance);
+BOOL InitInstance(HINSTANCE, int);
+LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
+INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM);
+
+int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
+ _In_opt_ HINSTANCE hPrevInstance,
+ _In_ LPWSTR lpCmdLine,
+ _In_ int nCmdShow)
+{
+ UNREFERENCED_PARAMETER(hPrevInstance);
+ UNREFERENCED_PARAMETER(lpCmdLine);
+
+ // TODO: Разместите код здесь.
+
+ // Инициализация глобальных строк
+ LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
+ LoadStringW(hInstance, IDC_MY2328, szWindowClass, MAX_LOADSTRING);
+ MyRegisterClass(hInstance);
+
+ // Выполнить инициализацию приложения:
+ if (!InitInstance (hInstance, nCmdShow))
+ {
+ return FALSE;
+ }
+
+ HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_MY2328));
+
+ MSG msg;
+
+ // Цикл основного сообщения:
+ while (GetMessage(&msg, nullptr, 0, 0))
+ {
+ if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
+ {
+ TranslateMessage(&msg);
+ DispatchMessage(&msg);
+ }
+ }
+
+ return (int) msg.wParam;
+}
+
+
+
+//
+// ФУНКЦИЯ: MyRegisterClass()
+//
+// ЦЕЛЬ: Регистрирует класс окна.
+//
+ATOM MyRegisterClass(HINSTANCE hInstance)
+{
+ WNDCLASSEXW wcex;
+
+ wcex.cbSize = sizeof(WNDCLASSEX);
+
+ wcex.style = CS_HREDRAW | CS_VREDRAW;
+ wcex.lpfnWndProc = WndProc;
+ wcex.cbClsExtra = 0;
+ wcex.cbWndExtra = 0;
+ wcex.hInstance = hInstance;
+ wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MY2328));
+ wcex.hCursor = LoadCursor(nullptr, IDC_ARROW);
+ wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
+ wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_MY2328);
+ wcex.lpszClassName = szWindowClass;
+ wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));
+
+ return RegisterClassExW(&wcex);
+}
+
+//
+// ФУНКЦИЯ: InitInstance(HINSTANCE, int)
+//
+// ЦЕЛЬ: Сохраняет маркер экземпляра и создает главное окно
+//
+// КОММЕНТАРИИ:
+//
+// В этой функции маркер экземпляра сохраняется в глобальной переменной, а также
+// создается и выводится главное окно программы.
+//
+BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
+{
+ hInst = hInstance; // Сохранить маркер экземпляра в глобальной переменной
+
+ HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
+ CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr);
+
+ if (!hWnd)
+ {
+ return FALSE;
+ }
+
+ ShowWindow(hWnd, nCmdShow);
+ UpdateWindow(hWnd);
+
+ return TRUE;
+}
+
+//
+// ФУНКЦИЯ: WndProc(HWND, UINT, WPARAM, LPARAM)
+//
+// ЦЕЛЬ: Обрабатывает сообщения в главном окне.
+//
+// WM_COMMAND - обработать меню приложения
+// WM_PAINT - Отрисовка главного окна
+// WM_DESTROY - отправить сообщение о выходе и вернуться
+//
+//
+void drawTruck(HDC hdc, int x, int y) {
+ HPEN hPen = CreatePen(PS_SOLID, 3, RGB(0, 0, 200));
+ SelectObject(hdc, hPen);
+
+ Rectangle(hdc, 0 + x, 30 + y, 40 + x, 50 + y);
+ Rectangle(hdc, 10 + x, 10 + y, 40 + x, 30 + y);
+ Rectangle(hdc, 40 + x, 0 + y, 100 + x, 50 + y);
+
+ hPen = CreatePen(PS_SOLID, 3, RGB(100, 0, 0));
+ SelectObject(hdc, hPen);
+
+ Ellipse(hdc, 10 + x, 40 + y, 30 + x, 60 + y);
+ Ellipse(hdc, 70 + x, 40 + y, 90 + x, 60 + y);
+}
+void drawTrucks3(HDC hdc) {
+ drawTruck(hdc, 20, 20);
+ drawTruck(hdc, 20, 100);
+ drawTruck(hdc, 20, 180);
+ drawTruck(hdc, 20, 260);
+ drawTruck(hdc, 20, 340);
+}
+LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ switch (message)
+ {
+ case WM_COMMAND:
+ {
+ int wmId = LOWORD(wParam);
+ // Разобрать выбор в меню:
+ switch (wmId)
+ {
+ case IDM_ABOUT:
+ DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
+ break;
+ case IDM_EXIT:
+ DestroyWindow(hWnd);
+ break;
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ }
+ break;
+ case WM_PAINT:
+ {
+ PAINTSTRUCT ps;
+ HDC hdc = BeginPaint(hWnd, &ps);
+ // TODO: Добавьте сюда любой код прорисовки, использующий HDC...
+ drawTrucks3(hdc);
+
+ EndPaint(hWnd, &ps);
+ }
+ break;
+ case WM_DESTROY:
+ PostQuitMessage(0);
+ break;
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ return 0;
+}
+
+// Обработчик сообщений для окна "О программе".
+INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ UNREFERENCED_PARAMETER(lParam);
+ switch (message)
+ {
+ case WM_INITDIALOG:
+ return (INT_PTR)TRUE;
+
+ case WM_COMMAND:
+ if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
+ {
+ EndDialog(hDlg, LOWORD(wParam));
+ return (INT_PTR)TRUE;
+ }
+ break;
+ }
+ return (INT_PTR)FALSE;
+}
diff --git a/7, 8 лаб/8/2.3.2 лаб 8/2.3.2 лаб 8/2.3.2 лаб 8.h b/7, 8 лаб/8/2.3.2 лаб 8/2.3.2 лаб 8/2.3.2 лаб 8.h
new file mode 100644
index 0000000..b798bf5
--- /dev/null
+++ b/7, 8 лаб/8/2.3.2 лаб 8/2.3.2 лаб 8/2.3.2 лаб 8.h
@@ -0,0 +1,3 @@
+#pragma once
+
+#include "resource.h"
diff --git a/7, 8 лаб/8/2.3.2 лаб 8/2.3.2 лаб 8/2.3.2 лаб 8.ico b/7, 8 лаб/8/2.3.2 лаб 8/2.3.2 лаб 8/2.3.2 лаб 8.ico
new file mode 100644
index 0000000..b3ec03b
Binary files /dev/null and b/7, 8 лаб/8/2.3.2 лаб 8/2.3.2 лаб 8/2.3.2 лаб 8.ico differ
diff --git a/7, 8 лаб/8/2.3.2 лаб 8/2.3.2 лаб 8/2.3.2 лаб 8.rc b/7, 8 лаб/8/2.3.2 лаб 8/2.3.2 лаб 8/2.3.2 лаб 8.rc
new file mode 100644
index 0000000..3408160
Binary files /dev/null and b/7, 8 лаб/8/2.3.2 лаб 8/2.3.2 лаб 8/2.3.2 лаб 8.rc differ
diff --git a/7, 8 лаб/8/2.3.2 лаб 8/2.3.2 лаб 8/2.3.2 лаб 8.vcxproj b/7, 8 лаб/8/2.3.2 лаб 8/2.3.2 лаб 8/2.3.2 лаб 8.vcxproj
new file mode 100644
index 0000000..f16d500
--- /dev/null
+++ b/7, 8 лаб/8/2.3.2 лаб 8/2.3.2 лаб 8/2.3.2 лаб 8.vcxproj
@@ -0,0 +1,148 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 17.0
+ Win32Proj
+ {1f4bd7da-70fe-41a4-a2a5-b57368cd088a}
+ My232лаб8
+ 10.0
+
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Level3
+ true
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+ Level3
+ true
+ _DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/8/2.3.2 лаб 8/2.3.2 лаб 8/2.3.2 лаб 8.vcxproj.filters b/7, 8 лаб/8/2.3.2 лаб 8/2.3.2 лаб 8/2.3.2 лаб 8.vcxproj.filters
new file mode 100644
index 0000000..01cfa5a
--- /dev/null
+++ b/7, 8 лаб/8/2.3.2 лаб 8/2.3.2 лаб 8/2.3.2 лаб 8.vcxproj.filters
@@ -0,0 +1,49 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+
+
+ Исходные файлы
+
+
+
+
+ Файлы ресурсов
+
+
+
+
+ Файлы ресурсов
+
+
+ Файлы ресурсов
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/8/2.3.2 лаб 8/2.3.2 лаб 8/Resource.h b/7, 8 лаб/8/2.3.2 лаб 8/2.3.2 лаб 8/Resource.h
new file mode 100644
index 0000000..5acd38c
--- /dev/null
+++ b/7, 8 лаб/8/2.3.2 лаб 8/2.3.2 лаб 8/Resource.h
@@ -0,0 +1,30 @@
+//{{NO_DEPENDENCIES}}
+// Включаемый файл, созданный в Microsoft Visual C++.
+// Используется 2.3.2 лаб 8.rc
+
+#define IDS_APP_TITLE 103
+
+#define IDR_MAINFRAME 128
+#define IDD_MY2328_DIALOG 102
+#define IDD_ABOUTBOX 103
+#define IDM_ABOUT 104
+#define IDM_EXIT 105
+#define IDI_MY2328 107
+#define IDI_SMALL 108
+#define IDC_MY2328 109
+#define IDC_MYICON 2
+#ifndef IDC_STATIC
+#define IDC_STATIC -1
+#endif
+// Следующие стандартные значения для новых объектов
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+
+#define _APS_NO_MFC 130
+#define _APS_NEXT_RESOURCE_VALUE 129
+#define _APS_NEXT_COMMAND_VALUE 32771
+#define _APS_NEXT_CONTROL_VALUE 1000
+#define _APS_NEXT_SYMED_VALUE 110
+#endif
+#endif
diff --git a/7, 8 лаб/8/2.3.2 лаб 8/2.3.2 лаб 8/framework.h b/7, 8 лаб/8/2.3.2 лаб 8/2.3.2 лаб 8/framework.h
new file mode 100644
index 0000000..a8f6dc8
--- /dev/null
+++ b/7, 8 лаб/8/2.3.2 лаб 8/2.3.2 лаб 8/framework.h
@@ -0,0 +1,15 @@
+// header.h: включаемый файл для стандартных системных включаемых файлов
+// или включаемые файлы для конкретного проекта
+//
+
+#pragma once
+
+#include "targetver.h"
+#define WIN32_LEAN_AND_MEAN // Исключите редко используемые компоненты из заголовков Windows
+// Файлы заголовков Windows
+#include
+// Файлы заголовков среды выполнения C
+#include
+#include
+#include
+#include
diff --git a/7, 8 лаб/8/2.3.2 лаб 8/2.3.2 лаб 8/small.ico b/7, 8 лаб/8/2.3.2 лаб 8/2.3.2 лаб 8/small.ico
new file mode 100644
index 0000000..b3ec03b
Binary files /dev/null and b/7, 8 лаб/8/2.3.2 лаб 8/2.3.2 лаб 8/small.ico differ
diff --git a/7, 8 лаб/8/2.3.2 лаб 8/2.3.2 лаб 8/targetver.h b/7, 8 лаб/8/2.3.2 лаб 8/2.3.2 лаб 8/targetver.h
new file mode 100644
index 0000000..d90003d
--- /dev/null
+++ b/7, 8 лаб/8/2.3.2 лаб 8/2.3.2 лаб 8/targetver.h
@@ -0,0 +1,6 @@
+#pragma once
+
+// // При включении SDKDDKVer.h будет задана самая новая из доступных платформ Windows.
+// Если вы планируете сборку приложения для предыдущей версии платформы Windows, включите WinSDKVer.h и
+// задайте желаемую платформу в макросе _WIN32_WINNT, прежде чем включать SDKDDKVer.h.
+#include
diff --git a/7, 8 лаб/8/2.3.3 лаб 8/2.3.3 лаб 8.sln b/7, 8 лаб/8/2.3.3 лаб 8/2.3.3 лаб 8.sln
new file mode 100644
index 0000000..79326a5
--- /dev/null
+++ b/7, 8 лаб/8/2.3.3 лаб 8/2.3.3 лаб 8.sln
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.11.35222.181
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "2.3.3 лаб 8", "2.3.3 лаб 8\2.3.3 лаб 8.vcxproj", "{F993CF93-F7A4-4C80-A838-CB00F0C6C406}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {F993CF93-F7A4-4C80-A838-CB00F0C6C406}.Debug|x64.ActiveCfg = Debug|x64
+ {F993CF93-F7A4-4C80-A838-CB00F0C6C406}.Debug|x64.Build.0 = Debug|x64
+ {F993CF93-F7A4-4C80-A838-CB00F0C6C406}.Debug|x86.ActiveCfg = Debug|Win32
+ {F993CF93-F7A4-4C80-A838-CB00F0C6C406}.Debug|x86.Build.0 = Debug|Win32
+ {F993CF93-F7A4-4C80-A838-CB00F0C6C406}.Release|x64.ActiveCfg = Release|x64
+ {F993CF93-F7A4-4C80-A838-CB00F0C6C406}.Release|x64.Build.0 = Release|x64
+ {F993CF93-F7A4-4C80-A838-CB00F0C6C406}.Release|x86.ActiveCfg = Release|Win32
+ {F993CF93-F7A4-4C80-A838-CB00F0C6C406}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {B26470D5-6C1F-4342-A42A-AFF5BBE7C471}
+ EndGlobalSection
+EndGlobal
diff --git a/7, 8 лаб/8/2.3.3 лаб 8/2.3.3 лаб 8/2.3.3 лаб 8.cpp b/7, 8 лаб/8/2.3.3 лаб 8/2.3.3 лаб 8/2.3.3 лаб 8.cpp
new file mode 100644
index 0000000..288dd07
--- /dev/null
+++ b/7, 8 лаб/8/2.3.3 лаб 8/2.3.3 лаб 8/2.3.3 лаб 8.cpp
@@ -0,0 +1,203 @@
+// 2.3.3 лаб 8.cpp : Определяет точку входа для приложения.
+//
+
+#include "framework.h"
+#include "2.3.3 лаб 8.h"
+
+#define MAX_LOADSTRING 100
+
+// Глобальные переменные:
+HINSTANCE hInst; // текущий экземпляр
+WCHAR szTitle[MAX_LOADSTRING]; // Текст строки заголовка
+WCHAR szWindowClass[MAX_LOADSTRING]; // имя класса главного окна
+
+// Отправить объявления функций, включенных в этот модуль кода:
+ATOM MyRegisterClass(HINSTANCE hInstance);
+BOOL InitInstance(HINSTANCE, int);
+LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
+INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM);
+
+int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
+ _In_opt_ HINSTANCE hPrevInstance,
+ _In_ LPWSTR lpCmdLine,
+ _In_ int nCmdShow)
+{
+ UNREFERENCED_PARAMETER(hPrevInstance);
+ UNREFERENCED_PARAMETER(lpCmdLine);
+
+ // TODO: Разместите код здесь.
+
+ // Инициализация глобальных строк
+ LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
+ LoadStringW(hInstance, IDC_MY2338, szWindowClass, MAX_LOADSTRING);
+ MyRegisterClass(hInstance);
+
+ // Выполнить инициализацию приложения:
+ if (!InitInstance (hInstance, nCmdShow))
+ {
+ return FALSE;
+ }
+
+ HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_MY2338));
+
+ MSG msg;
+
+ // Цикл основного сообщения:
+ while (GetMessage(&msg, nullptr, 0, 0))
+ {
+ if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
+ {
+ TranslateMessage(&msg);
+ DispatchMessage(&msg);
+ }
+ }
+
+ return (int) msg.wParam;
+}
+
+
+
+//
+// ФУНКЦИЯ: MyRegisterClass()
+//
+// ЦЕЛЬ: Регистрирует класс окна.
+//
+ATOM MyRegisterClass(HINSTANCE hInstance)
+{
+ WNDCLASSEXW wcex;
+
+ wcex.cbSize = sizeof(WNDCLASSEX);
+
+ wcex.style = CS_HREDRAW | CS_VREDRAW;
+ wcex.lpfnWndProc = WndProc;
+ wcex.cbClsExtra = 0;
+ wcex.cbWndExtra = 0;
+ wcex.hInstance = hInstance;
+ wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MY2338));
+ wcex.hCursor = LoadCursor(nullptr, IDC_ARROW);
+ wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
+ wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_MY2338);
+ wcex.lpszClassName = szWindowClass;
+ wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));
+
+ return RegisterClassExW(&wcex);
+}
+
+//
+// ФУНКЦИЯ: InitInstance(HINSTANCE, int)
+//
+// ЦЕЛЬ: Сохраняет маркер экземпляра и создает главное окно
+//
+// КОММЕНТАРИИ:
+//
+// В этой функции маркер экземпляра сохраняется в глобальной переменной, а также
+// создается и выводится главное окно программы.
+//
+BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
+{
+ hInst = hInstance; // Сохранить маркер экземпляра в глобальной переменной
+
+ HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
+ CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr);
+
+ if (!hWnd)
+ {
+ return FALSE;
+ }
+
+ ShowWindow(hWnd, nCmdShow);
+ UpdateWindow(hWnd);
+
+ return TRUE;
+}
+
+//
+// ФУНКЦИЯ: WndProc(HWND, UINT, WPARAM, LPARAM)
+//
+// ЦЕЛЬ: Обрабатывает сообщения в главном окне.
+//
+// WM_COMMAND - обработать меню приложения
+// WM_PAINT - Отрисовка главного окна
+// WM_DESTROY - отправить сообщение о выходе и вернуться
+//
+//
+void drawTruck(HDC hdc, int x, int y) {
+ HPEN hPen = CreatePen(PS_SOLID, 3, RGB(0, 0, 200));
+ SelectObject(hdc, hPen);
+
+ Rectangle(hdc, 0 + x, 30 + y, 40 + x, 50 + y);
+ Rectangle(hdc, 10 + x, 10 + y, 40 + x, 30 + y);
+ Rectangle(hdc, 40 + x, 0 + y, 100 + x, 50 + y);
+
+ hPen = CreatePen(PS_SOLID, 3, RGB(100, 0, 0));
+ SelectObject(hdc, hPen);
+
+ Ellipse(hdc, 10 + x, 40 + y, 30 + x, 60 + y);
+ Ellipse(hdc, 70 + x, 40 + y, 90 + x, 60 + y);
+}
+void drawTrucks4(HDC hdc) {
+ drawTruck(hdc, 20, 20);
+ drawTruck(hdc, 150, 100);
+ drawTruck(hdc, 270, 185);
+ drawTruck(hdc, 390, 270);
+ drawTruck(hdc, 510, 350);
+}
+LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ switch (message)
+ {
+ case WM_COMMAND:
+ {
+ int wmId = LOWORD(wParam);
+ // Разобрать выбор в меню:
+ switch (wmId)
+ {
+ case IDM_ABOUT:
+ DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
+ break;
+ case IDM_EXIT:
+ DestroyWindow(hWnd);
+ break;
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ }
+ break;
+ case WM_PAINT:
+ {
+ PAINTSTRUCT ps;
+ HDC hdc = BeginPaint(hWnd, &ps);
+ // TODO: Добавьте сюда любой код прорисовки, использующий HDC...
+ drawTrucks4(hdc);
+
+ EndPaint(hWnd, &ps);
+ }
+ break;
+ case WM_DESTROY:
+ PostQuitMessage(0);
+ break;
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ return 0;
+}
+
+// Обработчик сообщений для окна "О программе".
+INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ UNREFERENCED_PARAMETER(lParam);
+ switch (message)
+ {
+ case WM_INITDIALOG:
+ return (INT_PTR)TRUE;
+
+ case WM_COMMAND:
+ if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
+ {
+ EndDialog(hDlg, LOWORD(wParam));
+ return (INT_PTR)TRUE;
+ }
+ break;
+ }
+ return (INT_PTR)FALSE;
+}
diff --git a/7, 8 лаб/8/2.3.3 лаб 8/2.3.3 лаб 8/2.3.3 лаб 8.h b/7, 8 лаб/8/2.3.3 лаб 8/2.3.3 лаб 8/2.3.3 лаб 8.h
new file mode 100644
index 0000000..b798bf5
--- /dev/null
+++ b/7, 8 лаб/8/2.3.3 лаб 8/2.3.3 лаб 8/2.3.3 лаб 8.h
@@ -0,0 +1,3 @@
+#pragma once
+
+#include "resource.h"
diff --git a/7, 8 лаб/8/2.3.3 лаб 8/2.3.3 лаб 8/2.3.3 лаб 8.ico b/7, 8 лаб/8/2.3.3 лаб 8/2.3.3 лаб 8/2.3.3 лаб 8.ico
new file mode 100644
index 0000000..b3ec03b
Binary files /dev/null and b/7, 8 лаб/8/2.3.3 лаб 8/2.3.3 лаб 8/2.3.3 лаб 8.ico differ
diff --git a/7, 8 лаб/8/2.3.3 лаб 8/2.3.3 лаб 8/2.3.3 лаб 8.rc b/7, 8 лаб/8/2.3.3 лаб 8/2.3.3 лаб 8/2.3.3 лаб 8.rc
new file mode 100644
index 0000000..47926c3
Binary files /dev/null and b/7, 8 лаб/8/2.3.3 лаб 8/2.3.3 лаб 8/2.3.3 лаб 8.rc differ
diff --git a/7, 8 лаб/8/2.3.3 лаб 8/2.3.3 лаб 8/2.3.3 лаб 8.vcxproj b/7, 8 лаб/8/2.3.3 лаб 8/2.3.3 лаб 8/2.3.3 лаб 8.vcxproj
new file mode 100644
index 0000000..636c483
--- /dev/null
+++ b/7, 8 лаб/8/2.3.3 лаб 8/2.3.3 лаб 8/2.3.3 лаб 8.vcxproj
@@ -0,0 +1,148 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 17.0
+ Win32Proj
+ {f993cf93-f7a4-4c80-a838-cb00f0c6c406}
+ My233лаб8
+ 10.0
+
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Level3
+ true
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+ Level3
+ true
+ _DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/8/2.3.3 лаб 8/2.3.3 лаб 8/2.3.3 лаб 8.vcxproj.filters b/7, 8 лаб/8/2.3.3 лаб 8/2.3.3 лаб 8/2.3.3 лаб 8.vcxproj.filters
new file mode 100644
index 0000000..11088a2
--- /dev/null
+++ b/7, 8 лаб/8/2.3.3 лаб 8/2.3.3 лаб 8/2.3.3 лаб 8.vcxproj.filters
@@ -0,0 +1,49 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+
+
+ Исходные файлы
+
+
+
+
+ Файлы ресурсов
+
+
+
+
+ Файлы ресурсов
+
+
+ Файлы ресурсов
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/8/2.3.3 лаб 8/2.3.3 лаб 8/Resource.h b/7, 8 лаб/8/2.3.3 лаб 8/2.3.3 лаб 8/Resource.h
new file mode 100644
index 0000000..eaa5a33
--- /dev/null
+++ b/7, 8 лаб/8/2.3.3 лаб 8/2.3.3 лаб 8/Resource.h
@@ -0,0 +1,30 @@
+//{{NO_DEPENDENCIES}}
+// Включаемый файл, созданный в Microsoft Visual C++.
+// Используется 2.3.3 лаб 8.rc
+
+#define IDS_APP_TITLE 103
+
+#define IDR_MAINFRAME 128
+#define IDD_MY2338_DIALOG 102
+#define IDD_ABOUTBOX 103
+#define IDM_ABOUT 104
+#define IDM_EXIT 105
+#define IDI_MY2338 107
+#define IDI_SMALL 108
+#define IDC_MY2338 109
+#define IDC_MYICON 2
+#ifndef IDC_STATIC
+#define IDC_STATIC -1
+#endif
+// Следующие стандартные значения для новых объектов
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+
+#define _APS_NO_MFC 130
+#define _APS_NEXT_RESOURCE_VALUE 129
+#define _APS_NEXT_COMMAND_VALUE 32771
+#define _APS_NEXT_CONTROL_VALUE 1000
+#define _APS_NEXT_SYMED_VALUE 110
+#endif
+#endif
diff --git a/7, 8 лаб/8/2.3.3 лаб 8/2.3.3 лаб 8/framework.h b/7, 8 лаб/8/2.3.3 лаб 8/2.3.3 лаб 8/framework.h
new file mode 100644
index 0000000..a8f6dc8
--- /dev/null
+++ b/7, 8 лаб/8/2.3.3 лаб 8/2.3.3 лаб 8/framework.h
@@ -0,0 +1,15 @@
+// header.h: включаемый файл для стандартных системных включаемых файлов
+// или включаемые файлы для конкретного проекта
+//
+
+#pragma once
+
+#include "targetver.h"
+#define WIN32_LEAN_AND_MEAN // Исключите редко используемые компоненты из заголовков Windows
+// Файлы заголовков Windows
+#include
+// Файлы заголовков среды выполнения C
+#include
+#include
+#include
+#include
diff --git a/7, 8 лаб/8/2.3.3 лаб 8/2.3.3 лаб 8/small.ico b/7, 8 лаб/8/2.3.3 лаб 8/2.3.3 лаб 8/small.ico
new file mode 100644
index 0000000..b3ec03b
Binary files /dev/null and b/7, 8 лаб/8/2.3.3 лаб 8/2.3.3 лаб 8/small.ico differ
diff --git a/7, 8 лаб/8/2.3.3 лаб 8/2.3.3 лаб 8/targetver.h b/7, 8 лаб/8/2.3.3 лаб 8/2.3.3 лаб 8/targetver.h
new file mode 100644
index 0000000..d90003d
--- /dev/null
+++ b/7, 8 лаб/8/2.3.3 лаб 8/2.3.3 лаб 8/targetver.h
@@ -0,0 +1,6 @@
+#pragma once
+
+// // При включении SDKDDKVer.h будет задана самая новая из доступных платформ Windows.
+// Если вы планируете сборку приложения для предыдущей версии платформы Windows, включите WinSDKVer.h и
+// задайте желаемую платформу в макросе _WIN32_WINNT, прежде чем включать SDKDDKVer.h.
+#include
diff --git a/7, 8 лаб/8/4 лаб 8/4 лаб 8.sln b/7, 8 лаб/8/4 лаб 8/4 лаб 8.sln
new file mode 100644
index 0000000..d7118c7
--- /dev/null
+++ b/7, 8 лаб/8/4 лаб 8/4 лаб 8.sln
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.11.35222.181
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "4 лаб 8", "4 лаб 8\4 лаб 8.vcxproj", "{61F93194-03CB-4A4C-B868-B1AF899E239E}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {61F93194-03CB-4A4C-B868-B1AF899E239E}.Debug|x64.ActiveCfg = Debug|x64
+ {61F93194-03CB-4A4C-B868-B1AF899E239E}.Debug|x64.Build.0 = Debug|x64
+ {61F93194-03CB-4A4C-B868-B1AF899E239E}.Debug|x86.ActiveCfg = Debug|Win32
+ {61F93194-03CB-4A4C-B868-B1AF899E239E}.Debug|x86.Build.0 = Debug|Win32
+ {61F93194-03CB-4A4C-B868-B1AF899E239E}.Release|x64.ActiveCfg = Release|x64
+ {61F93194-03CB-4A4C-B868-B1AF899E239E}.Release|x64.Build.0 = Release|x64
+ {61F93194-03CB-4A4C-B868-B1AF899E239E}.Release|x86.ActiveCfg = Release|Win32
+ {61F93194-03CB-4A4C-B868-B1AF899E239E}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {9F3821D8-3BE7-4093-8ED0-7CE025C424A1}
+ EndGlobalSection
+EndGlobal
diff --git a/7, 8 лаб/8/4 лаб 8/4 лаб 8/4 лаб 8.cpp b/7, 8 лаб/8/4 лаб 8/4 лаб 8/4 лаб 8.cpp
new file mode 100644
index 0000000..1377ac2
--- /dev/null
+++ b/7, 8 лаб/8/4 лаб 8/4 лаб 8/4 лаб 8.cpp
@@ -0,0 +1,200 @@
+// 4 лаб 8.cpp : Определяет точку входа для приложения.
+//
+
+#include "framework.h"
+#include "4 лаб 8.h"
+
+#define MAX_LOADSTRING 100
+
+// Глобальные переменные:
+HINSTANCE hInst; // текущий экземпляр
+WCHAR szTitle[MAX_LOADSTRING]; // Текст строки заголовка
+WCHAR szWindowClass[MAX_LOADSTRING]; // имя класса главного окна
+
+// Отправить объявления функций, включенных в этот модуль кода:
+ATOM MyRegisterClass(HINSTANCE hInstance);
+BOOL InitInstance(HINSTANCE, int);
+LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
+INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM);
+
+int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
+ _In_opt_ HINSTANCE hPrevInstance,
+ _In_ LPWSTR lpCmdLine,
+ _In_ int nCmdShow)
+{
+ UNREFERENCED_PARAMETER(hPrevInstance);
+ UNREFERENCED_PARAMETER(lpCmdLine);
+
+ // TODO: Разместите код здесь.
+
+ // Инициализация глобальных строк
+ LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
+ LoadStringW(hInstance, IDC_MY48, szWindowClass, MAX_LOADSTRING);
+ MyRegisterClass(hInstance);
+
+ // Выполнить инициализацию приложения:
+ if (!InitInstance (hInstance, nCmdShow))
+ {
+ return FALSE;
+ }
+
+ HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_MY48));
+
+ MSG msg;
+
+ // Цикл основного сообщения:
+ while (GetMessage(&msg, nullptr, 0, 0))
+ {
+ if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
+ {
+ TranslateMessage(&msg);
+ DispatchMessage(&msg);
+ }
+ }
+
+ return (int) msg.wParam;
+}
+
+
+
+//
+// ФУНКЦИЯ: MyRegisterClass()
+//
+// ЦЕЛЬ: Регистрирует класс окна.
+//
+ATOM MyRegisterClass(HINSTANCE hInstance)
+{
+ WNDCLASSEXW wcex;
+
+ wcex.cbSize = sizeof(WNDCLASSEX);
+
+ wcex.style = CS_HREDRAW | CS_VREDRAW;
+ wcex.lpfnWndProc = WndProc;
+ wcex.cbClsExtra = 0;
+ wcex.cbWndExtra = 0;
+ wcex.hInstance = hInstance;
+ wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MY48));
+ wcex.hCursor = LoadCursor(nullptr, IDC_ARROW);
+ wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
+ wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_MY48);
+ wcex.lpszClassName = szWindowClass;
+ wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));
+
+ return RegisterClassExW(&wcex);
+}
+
+//
+// ФУНКЦИЯ: InitInstance(HINSTANCE, int)
+//
+// ЦЕЛЬ: Сохраняет маркер экземпляра и создает главное окно
+//
+// КОММЕНТАРИИ:
+//
+// В этой функции маркер экземпляра сохраняется в глобальной переменной, а также
+// создается и выводится главное окно программы.
+//
+
+
+BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
+{
+ hInst = hInstance; // Сохранить маркер экземпляра в глобальной переменной
+
+ HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
+ CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr);
+
+ if (!hWnd)
+ {
+ return FALSE;
+ }
+
+ ShowWindow(hWnd, nCmdShow);
+ UpdateWindow(hWnd);
+
+ return TRUE;
+}
+
+//
+// ФУНКЦИЯ: WndProc(HWND, UINT, WPARAM, LPARAM)
+//
+// ЦЕЛЬ: Обрабатывает сообщения в главном окне.
+//
+// WM_COMMAND - обработать меню приложения
+// WM_PAINT - Отрисовка главного окна
+// WM_DESTROY - отправить сообщение о выходе и вернуться
+//
+//
+void Logo(HDC hdc, int x, int y) {
+
+ HPEN hPen = CreatePen(PS_SOLID, 3, RGB(0, 0, 0));
+ SelectObject(hdc, hPen);
+
+ Ellipse(hdc, 60 + x, 60 + y, 110 + x, 110 + y);
+
+ MoveToEx(hdc, 75 + x, 85 + y, NULL);
+ LineTo(hdc, 10 + x, 60 + y);
+ LineTo(hdc, 89 + x, 83 + y);
+
+ MoveToEx(hdc, 70 + x, 90 + y, NULL);
+ LineTo(hdc, 90 + x, 90 + y);
+ LineTo(hdc, 160 + x, 60 + y);
+ LineTo(hdc, 70 + x, 90 + y);
+
+}
+LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ switch (message)
+ {
+ case WM_COMMAND:
+ {
+ int wmId = LOWORD(wParam);
+ // Разобрать выбор в меню:
+ switch (wmId)
+ {
+ case IDM_ABOUT:
+ DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
+ break;
+ case IDM_EXIT:
+ DestroyWindow(hWnd);
+ break;
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ }
+ break;
+ case WM_PAINT:
+ {
+ PAINTSTRUCT ps;
+ HDC hdc = BeginPaint(hWnd, &ps);
+ // TODO: Добавьте сюда любой код прорисовки, использующий HDC...
+ Logo(hdc, 0, 0);
+ EndPaint(hWnd, &ps);
+ }
+ break;
+ case WM_DESTROY:
+ PostQuitMessage(0);
+ break;
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ return 0;
+}
+
+// Обработчик сообщений для окна "О программе".
+INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ UNREFERENCED_PARAMETER(lParam);
+ switch (message)
+ {
+ case WM_INITDIALOG:
+ return (INT_PTR)TRUE;
+
+ case WM_COMMAND:
+ if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
+ {
+ EndDialog(hDlg, LOWORD(wParam));
+ return (INT_PTR)TRUE;
+ }
+ break;
+ }
+ return (INT_PTR)FALSE;
+}
diff --git a/7, 8 лаб/8/4 лаб 8/4 лаб 8/4 лаб 8.h b/7, 8 лаб/8/4 лаб 8/4 лаб 8/4 лаб 8.h
new file mode 100644
index 0000000..b798bf5
--- /dev/null
+++ b/7, 8 лаб/8/4 лаб 8/4 лаб 8/4 лаб 8.h
@@ -0,0 +1,3 @@
+#pragma once
+
+#include "resource.h"
diff --git a/7, 8 лаб/8/4 лаб 8/4 лаб 8/4 лаб 8.ico b/7, 8 лаб/8/4 лаб 8/4 лаб 8/4 лаб 8.ico
new file mode 100644
index 0000000..b3ec03b
Binary files /dev/null and b/7, 8 лаб/8/4 лаб 8/4 лаб 8/4 лаб 8.ico differ
diff --git a/7, 8 лаб/8/4 лаб 8/4 лаб 8/4 лаб 8.rc b/7, 8 лаб/8/4 лаб 8/4 лаб 8/4 лаб 8.rc
new file mode 100644
index 0000000..aa1b872
Binary files /dev/null and b/7, 8 лаб/8/4 лаб 8/4 лаб 8/4 лаб 8.rc differ
diff --git a/7, 8 лаб/8/4 лаб 8/4 лаб 8/4 лаб 8.vcxproj b/7, 8 лаб/8/4 лаб 8/4 лаб 8/4 лаб 8.vcxproj
new file mode 100644
index 0000000..2b047e9
--- /dev/null
+++ b/7, 8 лаб/8/4 лаб 8/4 лаб 8/4 лаб 8.vcxproj
@@ -0,0 +1,148 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 17.0
+ Win32Proj
+ {61f93194-03cb-4a4c-b868-b1af899e239e}
+ My4лаб8
+ 10.0
+
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Level3
+ true
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+ Level3
+ true
+ _DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/8/4 лаб 8/4 лаб 8/4 лаб 8.vcxproj.filters b/7, 8 лаб/8/4 лаб 8/4 лаб 8/4 лаб 8.vcxproj.filters
new file mode 100644
index 0000000..ac98565
--- /dev/null
+++ b/7, 8 лаб/8/4 лаб 8/4 лаб 8/4 лаб 8.vcxproj.filters
@@ -0,0 +1,49 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+
+
+ Исходные файлы
+
+
+
+
+ Файлы ресурсов
+
+
+
+
+ Файлы ресурсов
+
+
+ Файлы ресурсов
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/8/4 лаб 8/4 лаб 8/Resource.h b/7, 8 лаб/8/4 лаб 8/4 лаб 8/Resource.h
new file mode 100644
index 0000000..00d9a74
--- /dev/null
+++ b/7, 8 лаб/8/4 лаб 8/4 лаб 8/Resource.h
@@ -0,0 +1,30 @@
+//{{NO_DEPENDENCIES}}
+// Включаемый файл, созданный в Microsoft Visual C++.
+// Используется 4 лаб 8.rc
+
+#define IDS_APP_TITLE 103
+
+#define IDR_MAINFRAME 128
+#define IDD_MY48_DIALOG 102
+#define IDD_ABOUTBOX 103
+#define IDM_ABOUT 104
+#define IDM_EXIT 105
+#define IDI_MY48 107
+#define IDI_SMALL 108
+#define IDC_MY48 109
+#define IDC_MYICON 2
+#ifndef IDC_STATIC
+#define IDC_STATIC -1
+#endif
+// Следующие стандартные значения для новых объектов
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+
+#define _APS_NO_MFC 130
+#define _APS_NEXT_RESOURCE_VALUE 129
+#define _APS_NEXT_COMMAND_VALUE 32771
+#define _APS_NEXT_CONTROL_VALUE 1000
+#define _APS_NEXT_SYMED_VALUE 110
+#endif
+#endif
diff --git a/7, 8 лаб/8/4 лаб 8/4 лаб 8/framework.h b/7, 8 лаб/8/4 лаб 8/4 лаб 8/framework.h
new file mode 100644
index 0000000..a8f6dc8
--- /dev/null
+++ b/7, 8 лаб/8/4 лаб 8/4 лаб 8/framework.h
@@ -0,0 +1,15 @@
+// header.h: включаемый файл для стандартных системных включаемых файлов
+// или включаемые файлы для конкретного проекта
+//
+
+#pragma once
+
+#include "targetver.h"
+#define WIN32_LEAN_AND_MEAN // Исключите редко используемые компоненты из заголовков Windows
+// Файлы заголовков Windows
+#include
+// Файлы заголовков среды выполнения C
+#include
+#include
+#include
+#include
diff --git a/7, 8 лаб/8/4 лаб 8/4 лаб 8/small.ico b/7, 8 лаб/8/4 лаб 8/4 лаб 8/small.ico
new file mode 100644
index 0000000..b3ec03b
Binary files /dev/null and b/7, 8 лаб/8/4 лаб 8/4 лаб 8/small.ico differ
diff --git a/7, 8 лаб/8/4 лаб 8/4 лаб 8/targetver.h b/7, 8 лаб/8/4 лаб 8/4 лаб 8/targetver.h
new file mode 100644
index 0000000..d90003d
--- /dev/null
+++ b/7, 8 лаб/8/4 лаб 8/4 лаб 8/targetver.h
@@ -0,0 +1,6 @@
+#pragma once
+
+// // При включении SDKDDKVer.h будет задана самая новая из доступных платформ Windows.
+// Если вы планируете сборку приложения для предыдущей версии платформы Windows, включите WinSDKVer.h и
+// задайте желаемую платформу в макросе _WIN32_WINNT, прежде чем включать SDKDDKVer.h.
+#include
diff --git a/7, 8 лаб/8/5 лаб 8/5 лаб 8.sln b/7, 8 лаб/8/5 лаб 8/5 лаб 8.sln
new file mode 100644
index 0000000..63f3e18
--- /dev/null
+++ b/7, 8 лаб/8/5 лаб 8/5 лаб 8.sln
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.11.35222.181
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "5 лаб 8", "5 лаб 8\5 лаб 8.vcxproj", "{64D08E30-0792-47BD-AA31-D4A1E3DFB84A}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {64D08E30-0792-47BD-AA31-D4A1E3DFB84A}.Debug|x64.ActiveCfg = Debug|x64
+ {64D08E30-0792-47BD-AA31-D4A1E3DFB84A}.Debug|x64.Build.0 = Debug|x64
+ {64D08E30-0792-47BD-AA31-D4A1E3DFB84A}.Debug|x86.ActiveCfg = Debug|Win32
+ {64D08E30-0792-47BD-AA31-D4A1E3DFB84A}.Debug|x86.Build.0 = Debug|Win32
+ {64D08E30-0792-47BD-AA31-D4A1E3DFB84A}.Release|x64.ActiveCfg = Release|x64
+ {64D08E30-0792-47BD-AA31-D4A1E3DFB84A}.Release|x64.Build.0 = Release|x64
+ {64D08E30-0792-47BD-AA31-D4A1E3DFB84A}.Release|x86.ActiveCfg = Release|Win32
+ {64D08E30-0792-47BD-AA31-D4A1E3DFB84A}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {F4DA27F2-2936-4B63-8046-82E976F4D3A1}
+ EndGlobalSection
+EndGlobal
diff --git a/7, 8 лаб/8/5 лаб 8/5 лаб 8/5 лаб 8.cpp b/7, 8 лаб/8/5 лаб 8/5 лаб 8/5 лаб 8.cpp
new file mode 100644
index 0000000..93db7e0
--- /dev/null
+++ b/7, 8 лаб/8/5 лаб 8/5 лаб 8/5 лаб 8.cpp
@@ -0,0 +1,206 @@
+// 5 лаб 8.cpp : Определяет точку входа для приложения.
+//
+
+#include "framework.h"
+#include "5 лаб 8.h"
+
+#define MAX_LOADSTRING 100
+
+// Глобальные переменные:
+HINSTANCE hInst; // текущий экземпляр
+WCHAR szTitle[MAX_LOADSTRING]; // Текст строки заголовка
+WCHAR szWindowClass[MAX_LOADSTRING]; // имя класса главного окна
+
+// Отправить объявления функций, включенных в этот модуль кода:
+ATOM MyRegisterClass(HINSTANCE hInstance);
+BOOL InitInstance(HINSTANCE, int);
+LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
+INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM);
+
+int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
+ _In_opt_ HINSTANCE hPrevInstance,
+ _In_ LPWSTR lpCmdLine,
+ _In_ int nCmdShow)
+{
+ UNREFERENCED_PARAMETER(hPrevInstance);
+ UNREFERENCED_PARAMETER(lpCmdLine);
+
+ // TODO: Разместите код здесь.
+
+ // Инициализация глобальных строк
+ LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
+ LoadStringW(hInstance, IDC_MY58, szWindowClass, MAX_LOADSTRING);
+ MyRegisterClass(hInstance);
+
+ // Выполнить инициализацию приложения:
+ if (!InitInstance (hInstance, nCmdShow))
+ {
+ return FALSE;
+ }
+
+ HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_MY58));
+
+ MSG msg;
+
+ // Цикл основного сообщения:
+ while (GetMessage(&msg, nullptr, 0, 0))
+ {
+ if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
+ {
+ TranslateMessage(&msg);
+ DispatchMessage(&msg);
+ }
+ }
+
+ return (int) msg.wParam;
+}
+
+
+
+//
+// ФУНКЦИЯ: MyRegisterClass()
+//
+// ЦЕЛЬ: Регистрирует класс окна.
+//
+ATOM MyRegisterClass(HINSTANCE hInstance)
+{
+ WNDCLASSEXW wcex;
+
+ wcex.cbSize = sizeof(WNDCLASSEX);
+
+ wcex.style = CS_HREDRAW | CS_VREDRAW;
+ wcex.lpfnWndProc = WndProc;
+ wcex.cbClsExtra = 0;
+ wcex.cbWndExtra = 0;
+ wcex.hInstance = hInstance;
+ wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MY58));
+ wcex.hCursor = LoadCursor(nullptr, IDC_ARROW);
+ wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
+ wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_MY58);
+ wcex.lpszClassName = szWindowClass;
+ wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));
+
+ return RegisterClassExW(&wcex);
+}
+
+//
+// ФУНКЦИЯ: InitInstance(HINSTANCE, int)
+//
+// ЦЕЛЬ: Сохраняет маркер экземпляра и создает главное окно
+//
+// КОММЕНТАРИИ:
+//
+// В этой функции маркер экземпляра сохраняется в глобальной переменной, а также
+// создается и выводится главное окно программы.
+//
+BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
+{
+ hInst = hInstance; // Сохранить маркер экземпляра в глобальной переменной
+
+ HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
+ CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr);
+
+ if (!hWnd)
+ {
+ return FALSE;
+ }
+
+ ShowWindow(hWnd, nCmdShow);
+ UpdateWindow(hWnd);
+
+ return TRUE;
+}
+
+//
+// ФУНКЦИЯ: WndProc(HWND, UINT, WPARAM, LPARAM)
+//
+// ЦЕЛЬ: Обрабатывает сообщения в главном окне.
+//
+// WM_COMMAND - обработать меню приложения
+// WM_PAINT - Отрисовка главного окна
+// WM_DESTROY - отправить сообщение о выходе и вернуться
+//
+//
+void Logo(HDC hdc, int x, int y) {
+
+ HPEN hPen = CreatePen(PS_SOLID, 3, RGB(0, 0, 0));
+ SelectObject(hdc, hPen);
+
+ Ellipse(hdc, 60 + x, 60 + y, 110 + x, 110 + y);
+
+ MoveToEx(hdc, 75 + x, 85 + y, NULL);
+ LineTo(hdc, 10 + x, 60 + y);
+ LineTo(hdc, 89 + x, 83 + y);
+
+ MoveToEx(hdc, 70 + x, 90 + y, NULL);
+ LineTo(hdc, 90 + x, 90 + y);
+ LineTo(hdc, 160 + x, 60 + y);
+ LineTo(hdc, 70 + x, 90 + y);
+
+}
+void Logo1(HDC hdc) {
+ Logo(hdc, 10, 40);
+ Logo(hdc, 180, 40);
+ Logo(hdc, 350, 40);
+ Logo(hdc, 520, 40);
+
+}
+LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ switch (message)
+ {
+ case WM_COMMAND:
+ {
+ int wmId = LOWORD(wParam);
+ // Разобрать выбор в меню:
+ switch (wmId)
+ {
+ case IDM_ABOUT:
+ DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
+ break;
+ case IDM_EXIT:
+ DestroyWindow(hWnd);
+ break;
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ }
+ break;
+ case WM_PAINT:
+ {
+ PAINTSTRUCT ps;
+ HDC hdc = BeginPaint(hWnd, &ps);
+ // TODO: Добавьте сюда любой код прорисовки, использующий HDC...
+ Logo1(hdc);
+
+ EndPaint(hWnd, &ps);
+ }
+ break;
+ case WM_DESTROY:
+ PostQuitMessage(0);
+ break;
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ return 0;
+}
+
+// Обработчик сообщений для окна "О программе".
+INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ UNREFERENCED_PARAMETER(lParam);
+ switch (message)
+ {
+ case WM_INITDIALOG:
+ return (INT_PTR)TRUE;
+
+ case WM_COMMAND:
+ if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
+ {
+ EndDialog(hDlg, LOWORD(wParam));
+ return (INT_PTR)TRUE;
+ }
+ break;
+ }
+ return (INT_PTR)FALSE;
+}
diff --git a/7, 8 лаб/8/5 лаб 8/5 лаб 8/5 лаб 8.h b/7, 8 лаб/8/5 лаб 8/5 лаб 8/5 лаб 8.h
new file mode 100644
index 0000000..b798bf5
--- /dev/null
+++ b/7, 8 лаб/8/5 лаб 8/5 лаб 8/5 лаб 8.h
@@ -0,0 +1,3 @@
+#pragma once
+
+#include "resource.h"
diff --git a/7, 8 лаб/8/5 лаб 8/5 лаб 8/5 лаб 8.ico b/7, 8 лаб/8/5 лаб 8/5 лаб 8/5 лаб 8.ico
new file mode 100644
index 0000000..b3ec03b
Binary files /dev/null and b/7, 8 лаб/8/5 лаб 8/5 лаб 8/5 лаб 8.ico differ
diff --git a/7, 8 лаб/8/5 лаб 8/5 лаб 8/5 лаб 8.rc b/7, 8 лаб/8/5 лаб 8/5 лаб 8/5 лаб 8.rc
new file mode 100644
index 0000000..b94801b
Binary files /dev/null and b/7, 8 лаб/8/5 лаб 8/5 лаб 8/5 лаб 8.rc differ
diff --git a/7, 8 лаб/8/5 лаб 8/5 лаб 8/5 лаб 8.vcxproj b/7, 8 лаб/8/5 лаб 8/5 лаб 8/5 лаб 8.vcxproj
new file mode 100644
index 0000000..3d9977e
--- /dev/null
+++ b/7, 8 лаб/8/5 лаб 8/5 лаб 8/5 лаб 8.vcxproj
@@ -0,0 +1,148 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 17.0
+ Win32Proj
+ {64d08e30-0792-47bd-aa31-d4a1e3dfb84a}
+ My5лаб8
+ 10.0
+
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Level3
+ true
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+ Level3
+ true
+ _DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/8/5 лаб 8/5 лаб 8/5 лаб 8.vcxproj.filters b/7, 8 лаб/8/5 лаб 8/5 лаб 8/5 лаб 8.vcxproj.filters
new file mode 100644
index 0000000..cc0391c
--- /dev/null
+++ b/7, 8 лаб/8/5 лаб 8/5 лаб 8/5 лаб 8.vcxproj.filters
@@ -0,0 +1,49 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+
+
+ Исходные файлы
+
+
+
+
+ Файлы ресурсов
+
+
+
+
+ Файлы ресурсов
+
+
+ Файлы ресурсов
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/8/5 лаб 8/5 лаб 8/Resource.h b/7, 8 лаб/8/5 лаб 8/5 лаб 8/Resource.h
new file mode 100644
index 0000000..a1671d2
--- /dev/null
+++ b/7, 8 лаб/8/5 лаб 8/5 лаб 8/Resource.h
@@ -0,0 +1,30 @@
+//{{NO_DEPENDENCIES}}
+// Включаемый файл, созданный в Microsoft Visual C++.
+// Используется 5 лаб 8.rc
+
+#define IDS_APP_TITLE 103
+
+#define IDR_MAINFRAME 128
+#define IDD_MY58_DIALOG 102
+#define IDD_ABOUTBOX 103
+#define IDM_ABOUT 104
+#define IDM_EXIT 105
+#define IDI_MY58 107
+#define IDI_SMALL 108
+#define IDC_MY58 109
+#define IDC_MYICON 2
+#ifndef IDC_STATIC
+#define IDC_STATIC -1
+#endif
+// Следующие стандартные значения для новых объектов
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+
+#define _APS_NO_MFC 130
+#define _APS_NEXT_RESOURCE_VALUE 129
+#define _APS_NEXT_COMMAND_VALUE 32771
+#define _APS_NEXT_CONTROL_VALUE 1000
+#define _APS_NEXT_SYMED_VALUE 110
+#endif
+#endif
diff --git a/7, 8 лаб/8/5 лаб 8/5 лаб 8/framework.h b/7, 8 лаб/8/5 лаб 8/5 лаб 8/framework.h
new file mode 100644
index 0000000..a8f6dc8
--- /dev/null
+++ b/7, 8 лаб/8/5 лаб 8/5 лаб 8/framework.h
@@ -0,0 +1,15 @@
+// header.h: включаемый файл для стандартных системных включаемых файлов
+// или включаемые файлы для конкретного проекта
+//
+
+#pragma once
+
+#include "targetver.h"
+#define WIN32_LEAN_AND_MEAN // Исключите редко используемые компоненты из заголовков Windows
+// Файлы заголовков Windows
+#include
+// Файлы заголовков среды выполнения C
+#include
+#include
+#include
+#include
diff --git a/7, 8 лаб/8/5 лаб 8/5 лаб 8/small.ico b/7, 8 лаб/8/5 лаб 8/5 лаб 8/small.ico
new file mode 100644
index 0000000..b3ec03b
Binary files /dev/null and b/7, 8 лаб/8/5 лаб 8/5 лаб 8/small.ico differ
diff --git a/7, 8 лаб/8/5 лаб 8/5 лаб 8/targetver.h b/7, 8 лаб/8/5 лаб 8/5 лаб 8/targetver.h
new file mode 100644
index 0000000..d90003d
--- /dev/null
+++ b/7, 8 лаб/8/5 лаб 8/5 лаб 8/targetver.h
@@ -0,0 +1,6 @@
+#pragma once
+
+// // При включении SDKDDKVer.h будет задана самая новая из доступных платформ Windows.
+// Если вы планируете сборку приложения для предыдущей версии платформы Windows, включите WinSDKVer.h и
+// задайте желаемую платформу в макросе _WIN32_WINNT, прежде чем включать SDKDDKVer.h.
+#include
diff --git a/7, 8 лаб/8/5.2 лаб 8/5.2 лаб 8.sln b/7, 8 лаб/8/5.2 лаб 8/5.2 лаб 8.sln
new file mode 100644
index 0000000..d12cd85
--- /dev/null
+++ b/7, 8 лаб/8/5.2 лаб 8/5.2 лаб 8.sln
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.11.35222.181
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "5.2 лаб 8", "5.2 лаб 8\5.2 лаб 8.vcxproj", "{8050BD84-9889-418E-9376-E66F35B38263}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {8050BD84-9889-418E-9376-E66F35B38263}.Debug|x64.ActiveCfg = Debug|x64
+ {8050BD84-9889-418E-9376-E66F35B38263}.Debug|x64.Build.0 = Debug|x64
+ {8050BD84-9889-418E-9376-E66F35B38263}.Debug|x86.ActiveCfg = Debug|Win32
+ {8050BD84-9889-418E-9376-E66F35B38263}.Debug|x86.Build.0 = Debug|Win32
+ {8050BD84-9889-418E-9376-E66F35B38263}.Release|x64.ActiveCfg = Release|x64
+ {8050BD84-9889-418E-9376-E66F35B38263}.Release|x64.Build.0 = Release|x64
+ {8050BD84-9889-418E-9376-E66F35B38263}.Release|x86.ActiveCfg = Release|Win32
+ {8050BD84-9889-418E-9376-E66F35B38263}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {A7B1D420-94F9-4E4A-9326-301766A71D80}
+ EndGlobalSection
+EndGlobal
diff --git a/7, 8 лаб/8/5.2 лаб 8/5.2 лаб 8/5.2 лаб 8.cpp b/7, 8 лаб/8/5.2 лаб 8/5.2 лаб 8/5.2 лаб 8.cpp
new file mode 100644
index 0000000..0dc6eea
--- /dev/null
+++ b/7, 8 лаб/8/5.2 лаб 8/5.2 лаб 8/5.2 лаб 8.cpp
@@ -0,0 +1,207 @@
+// 5.2 лаб 8.cpp : Определяет точку входа для приложения.
+//
+
+#include "framework.h"
+#include "5.2 лаб 8.h"
+
+#define MAX_LOADSTRING 100
+
+// Глобальные переменные:
+HINSTANCE hInst; // текущий экземпляр
+WCHAR szTitle[MAX_LOADSTRING]; // Текст строки заголовка
+WCHAR szWindowClass[MAX_LOADSTRING]; // имя класса главного окна
+
+// Отправить объявления функций, включенных в этот модуль кода:
+ATOM MyRegisterClass(HINSTANCE hInstance);
+BOOL InitInstance(HINSTANCE, int);
+LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
+INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM);
+
+int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
+ _In_opt_ HINSTANCE hPrevInstance,
+ _In_ LPWSTR lpCmdLine,
+ _In_ int nCmdShow)
+{
+ UNREFERENCED_PARAMETER(hPrevInstance);
+ UNREFERENCED_PARAMETER(lpCmdLine);
+
+ // TODO: Разместите код здесь.
+
+ // Инициализация глобальных строк
+ LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
+ LoadStringW(hInstance, IDC_MY528, szWindowClass, MAX_LOADSTRING);
+ MyRegisterClass(hInstance);
+
+ // Выполнить инициализацию приложения:
+ if (!InitInstance (hInstance, nCmdShow))
+ {
+ return FALSE;
+ }
+
+ HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_MY528));
+
+ MSG msg;
+
+ // Цикл основного сообщения:
+ while (GetMessage(&msg, nullptr, 0, 0))
+ {
+ if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
+ {
+ TranslateMessage(&msg);
+ DispatchMessage(&msg);
+ }
+ }
+
+ return (int) msg.wParam;
+}
+
+
+
+//
+// ФУНКЦИЯ: MyRegisterClass()
+//
+// ЦЕЛЬ: Регистрирует класс окна.
+//
+ATOM MyRegisterClass(HINSTANCE hInstance)
+{
+ WNDCLASSEXW wcex;
+
+ wcex.cbSize = sizeof(WNDCLASSEX);
+
+ wcex.style = CS_HREDRAW | CS_VREDRAW;
+ wcex.lpfnWndProc = WndProc;
+ wcex.cbClsExtra = 0;
+ wcex.cbWndExtra = 0;
+ wcex.hInstance = hInstance;
+ wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MY528));
+ wcex.hCursor = LoadCursor(nullptr, IDC_ARROW);
+ wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
+ wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_MY528);
+ wcex.lpszClassName = szWindowClass;
+ wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));
+
+ return RegisterClassExW(&wcex);
+}
+
+//
+// ФУНКЦИЯ: InitInstance(HINSTANCE, int)
+//
+// ЦЕЛЬ: Сохраняет маркер экземпляра и создает главное окно
+//
+// КОММЕНТАРИИ:
+//
+// В этой функции маркер экземпляра сохраняется в глобальной переменной, а также
+// создается и выводится главное окно программы.
+//
+BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
+{
+ hInst = hInstance; // Сохранить маркер экземпляра в глобальной переменной
+
+ HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
+ CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr);
+
+ if (!hWnd)
+ {
+ return FALSE;
+ }
+
+ ShowWindow(hWnd, nCmdShow);
+ UpdateWindow(hWnd);
+
+ return TRUE;
+}
+
+//
+// ФУНКЦИЯ: WndProc(HWND, UINT, WPARAM, LPARAM)
+//
+// ЦЕЛЬ: Обрабатывает сообщения в главном окне.
+//
+// WM_COMMAND - обработать меню приложения
+// WM_PAINT - Отрисовка главного окна
+// WM_DESTROY - отправить сообщение о выходе и вернуться
+//
+//
+void Logo(HDC hdc, int x, int y) {
+
+ HPEN hPen = CreatePen(PS_SOLID, 3, RGB(0, 0, 0));
+ SelectObject(hdc, hPen);
+
+ Ellipse(hdc, 60 + x, 60 + y, 110 + x, 110 + y);
+
+ MoveToEx(hdc, 75 + x, 85 + y, NULL);
+ LineTo(hdc, 10 + x, 60 + y);
+ LineTo(hdc, 89 + x, 83 + y);
+
+ MoveToEx(hdc, 70 + x, 90 + y, NULL);
+ LineTo(hdc, 90 + x, 90 + y);
+ LineTo(hdc, 160 + x, 60 + y);
+ LineTo(hdc, 70 + x, 90 + y);
+
+}
+void Logo2(HDC hdc) {
+ Logo(hdc, 10, 60);
+ Logo(hdc, 10, 130);
+ Logo(hdc, 10, 200);
+ Logo(hdc, 10, 270);
+ Logo(hdc, 10, 340);
+ Logo(hdc, 10, 410);
+}
+LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ switch (message)
+ {
+ case WM_COMMAND:
+ {
+ int wmId = LOWORD(wParam);
+ // Разобрать выбор в меню:
+ switch (wmId)
+ {
+ case IDM_ABOUT:
+ DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
+ break;
+ case IDM_EXIT:
+ DestroyWindow(hWnd);
+ break;
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ }
+ break;
+ case WM_PAINT:
+ {
+ PAINTSTRUCT ps;
+ HDC hdc = BeginPaint(hWnd, &ps);
+ // TODO: Добавьте сюда любой код прорисовки, использующий HDC...
+
+ Logo2(hdc);
+ EndPaint(hWnd, &ps);
+ }
+ break;
+ case WM_DESTROY:
+ PostQuitMessage(0);
+ break;
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ return 0;
+}
+
+// Обработчик сообщений для окна "О программе".
+INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ UNREFERENCED_PARAMETER(lParam);
+ switch (message)
+ {
+ case WM_INITDIALOG:
+ return (INT_PTR)TRUE;
+
+ case WM_COMMAND:
+ if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
+ {
+ EndDialog(hDlg, LOWORD(wParam));
+ return (INT_PTR)TRUE;
+ }
+ break;
+ }
+ return (INT_PTR)FALSE;
+}
diff --git a/7, 8 лаб/8/5.2 лаб 8/5.2 лаб 8/5.2 лаб 8.h b/7, 8 лаб/8/5.2 лаб 8/5.2 лаб 8/5.2 лаб 8.h
new file mode 100644
index 0000000..b798bf5
--- /dev/null
+++ b/7, 8 лаб/8/5.2 лаб 8/5.2 лаб 8/5.2 лаб 8.h
@@ -0,0 +1,3 @@
+#pragma once
+
+#include "resource.h"
diff --git a/7, 8 лаб/8/5.2 лаб 8/5.2 лаб 8/5.2 лаб 8.ico b/7, 8 лаб/8/5.2 лаб 8/5.2 лаб 8/5.2 лаб 8.ico
new file mode 100644
index 0000000..b3ec03b
Binary files /dev/null and b/7, 8 лаб/8/5.2 лаб 8/5.2 лаб 8/5.2 лаб 8.ico differ
diff --git a/7, 8 лаб/8/5.2 лаб 8/5.2 лаб 8/5.2 лаб 8.rc b/7, 8 лаб/8/5.2 лаб 8/5.2 лаб 8/5.2 лаб 8.rc
new file mode 100644
index 0000000..4e376bb
Binary files /dev/null and b/7, 8 лаб/8/5.2 лаб 8/5.2 лаб 8/5.2 лаб 8.rc differ
diff --git a/7, 8 лаб/8/5.2 лаб 8/5.2 лаб 8/5.2 лаб 8.vcxproj b/7, 8 лаб/8/5.2 лаб 8/5.2 лаб 8/5.2 лаб 8.vcxproj
new file mode 100644
index 0000000..5a7d6f9
--- /dev/null
+++ b/7, 8 лаб/8/5.2 лаб 8/5.2 лаб 8/5.2 лаб 8.vcxproj
@@ -0,0 +1,148 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 17.0
+ Win32Proj
+ {8050bd84-9889-418e-9376-e66f35b38263}
+ My52лаб8
+ 10.0
+
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Level3
+ true
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+ Level3
+ true
+ _DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/8/5.2 лаб 8/5.2 лаб 8/5.2 лаб 8.vcxproj.filters b/7, 8 лаб/8/5.2 лаб 8/5.2 лаб 8/5.2 лаб 8.vcxproj.filters
new file mode 100644
index 0000000..205c087
--- /dev/null
+++ b/7, 8 лаб/8/5.2 лаб 8/5.2 лаб 8/5.2 лаб 8.vcxproj.filters
@@ -0,0 +1,49 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+
+
+ Исходные файлы
+
+
+
+
+ Файлы ресурсов
+
+
+
+
+ Файлы ресурсов
+
+
+ Файлы ресурсов
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/8/5.2 лаб 8/5.2 лаб 8/Resource.h b/7, 8 лаб/8/5.2 лаб 8/5.2 лаб 8/Resource.h
new file mode 100644
index 0000000..703a1fe
--- /dev/null
+++ b/7, 8 лаб/8/5.2 лаб 8/5.2 лаб 8/Resource.h
@@ -0,0 +1,30 @@
+//{{NO_DEPENDENCIES}}
+// Включаемый файл, созданный в Microsoft Visual C++.
+// Используется 5.2 лаб 8.rc
+
+#define IDS_APP_TITLE 103
+
+#define IDR_MAINFRAME 128
+#define IDD_MY528_DIALOG 102
+#define IDD_ABOUTBOX 103
+#define IDM_ABOUT 104
+#define IDM_EXIT 105
+#define IDI_MY528 107
+#define IDI_SMALL 108
+#define IDC_MY528 109
+#define IDC_MYICON 2
+#ifndef IDC_STATIC
+#define IDC_STATIC -1
+#endif
+// Следующие стандартные значения для новых объектов
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+
+#define _APS_NO_MFC 130
+#define _APS_NEXT_RESOURCE_VALUE 129
+#define _APS_NEXT_COMMAND_VALUE 32771
+#define _APS_NEXT_CONTROL_VALUE 1000
+#define _APS_NEXT_SYMED_VALUE 110
+#endif
+#endif
diff --git a/7, 8 лаб/8/5.2 лаб 8/5.2 лаб 8/framework.h b/7, 8 лаб/8/5.2 лаб 8/5.2 лаб 8/framework.h
new file mode 100644
index 0000000..a8f6dc8
--- /dev/null
+++ b/7, 8 лаб/8/5.2 лаб 8/5.2 лаб 8/framework.h
@@ -0,0 +1,15 @@
+// header.h: включаемый файл для стандартных системных включаемых файлов
+// или включаемые файлы для конкретного проекта
+//
+
+#pragma once
+
+#include "targetver.h"
+#define WIN32_LEAN_AND_MEAN // Исключите редко используемые компоненты из заголовков Windows
+// Файлы заголовков Windows
+#include
+// Файлы заголовков среды выполнения C
+#include
+#include
+#include
+#include
diff --git a/7, 8 лаб/8/5.2 лаб 8/5.2 лаб 8/small.ico b/7, 8 лаб/8/5.2 лаб 8/5.2 лаб 8/small.ico
new file mode 100644
index 0000000..b3ec03b
Binary files /dev/null and b/7, 8 лаб/8/5.2 лаб 8/5.2 лаб 8/small.ico differ
diff --git a/7, 8 лаб/8/5.2 лаб 8/5.2 лаб 8/targetver.h b/7, 8 лаб/8/5.2 лаб 8/5.2 лаб 8/targetver.h
new file mode 100644
index 0000000..d90003d
--- /dev/null
+++ b/7, 8 лаб/8/5.2 лаб 8/5.2 лаб 8/targetver.h
@@ -0,0 +1,6 @@
+#pragma once
+
+// // При включении SDKDDKVer.h будет задана самая новая из доступных платформ Windows.
+// Если вы планируете сборку приложения для предыдущей версии платформы Windows, включите WinSDKVer.h и
+// задайте желаемую платформу в макросе _WIN32_WINNT, прежде чем включать SDKDDKVer.h.
+#include
diff --git a/7, 8 лаб/8/5.3 лаб 8/5.3 лаб 8.sln b/7, 8 лаб/8/5.3 лаб 8/5.3 лаб 8.sln
new file mode 100644
index 0000000..eec8a83
--- /dev/null
+++ b/7, 8 лаб/8/5.3 лаб 8/5.3 лаб 8.sln
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.11.35222.181
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "5.3 лаб 8", "5.3 лаб 8\5.3 лаб 8.vcxproj", "{E0A12C10-FE08-4C37-B1E8-98BCC2B78E60}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {E0A12C10-FE08-4C37-B1E8-98BCC2B78E60}.Debug|x64.ActiveCfg = Debug|x64
+ {E0A12C10-FE08-4C37-B1E8-98BCC2B78E60}.Debug|x64.Build.0 = Debug|x64
+ {E0A12C10-FE08-4C37-B1E8-98BCC2B78E60}.Debug|x86.ActiveCfg = Debug|Win32
+ {E0A12C10-FE08-4C37-B1E8-98BCC2B78E60}.Debug|x86.Build.0 = Debug|Win32
+ {E0A12C10-FE08-4C37-B1E8-98BCC2B78E60}.Release|x64.ActiveCfg = Release|x64
+ {E0A12C10-FE08-4C37-B1E8-98BCC2B78E60}.Release|x64.Build.0 = Release|x64
+ {E0A12C10-FE08-4C37-B1E8-98BCC2B78E60}.Release|x86.ActiveCfg = Release|Win32
+ {E0A12C10-FE08-4C37-B1E8-98BCC2B78E60}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {FD86D9F3-AF88-4DC0-897D-6E3446F9A565}
+ EndGlobalSection
+EndGlobal
diff --git a/7, 8 лаб/8/5.3 лаб 8/5.3 лаб 8/5.3 лаб 8.cpp b/7, 8 лаб/8/5.3 лаб 8/5.3 лаб 8/5.3 лаб 8.cpp
new file mode 100644
index 0000000..b8be6c2
--- /dev/null
+++ b/7, 8 лаб/8/5.3 лаб 8/5.3 лаб 8/5.3 лаб 8.cpp
@@ -0,0 +1,204 @@
+// 5.3 лаб 8.cpp : Определяет точку входа для приложения.
+//
+
+#include "framework.h"
+#include "5.3 лаб 8.h"
+
+#define MAX_LOADSTRING 100
+
+// Глобальные переменные:
+HINSTANCE hInst; // текущий экземпляр
+WCHAR szTitle[MAX_LOADSTRING]; // Текст строки заголовка
+WCHAR szWindowClass[MAX_LOADSTRING]; // имя класса главного окна
+
+// Отправить объявления функций, включенных в этот модуль кода:
+ATOM MyRegisterClass(HINSTANCE hInstance);
+BOOL InitInstance(HINSTANCE, int);
+LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
+INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM);
+
+int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
+ _In_opt_ HINSTANCE hPrevInstance,
+ _In_ LPWSTR lpCmdLine,
+ _In_ int nCmdShow)
+{
+ UNREFERENCED_PARAMETER(hPrevInstance);
+ UNREFERENCED_PARAMETER(lpCmdLine);
+
+ // TODO: Разместите код здесь.
+
+ // Инициализация глобальных строк
+ LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
+ LoadStringW(hInstance, IDC_MY538, szWindowClass, MAX_LOADSTRING);
+ MyRegisterClass(hInstance);
+
+ // Выполнить инициализацию приложения:
+ if (!InitInstance (hInstance, nCmdShow))
+ {
+ return FALSE;
+ }
+
+ HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_MY538));
+
+ MSG msg;
+
+ // Цикл основного сообщения:
+ while (GetMessage(&msg, nullptr, 0, 0))
+ {
+ if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
+ {
+ TranslateMessage(&msg);
+ DispatchMessage(&msg);
+ }
+ }
+
+ return (int) msg.wParam;
+}
+
+
+
+//
+// ФУНКЦИЯ: MyRegisterClass()
+//
+// ЦЕЛЬ: Регистрирует класс окна.
+//
+ATOM MyRegisterClass(HINSTANCE hInstance)
+{
+ WNDCLASSEXW wcex;
+
+ wcex.cbSize = sizeof(WNDCLASSEX);
+
+ wcex.style = CS_HREDRAW | CS_VREDRAW;
+ wcex.lpfnWndProc = WndProc;
+ wcex.cbClsExtra = 0;
+ wcex.cbWndExtra = 0;
+ wcex.hInstance = hInstance;
+ wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MY538));
+ wcex.hCursor = LoadCursor(nullptr, IDC_ARROW);
+ wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
+ wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_MY538);
+ wcex.lpszClassName = szWindowClass;
+ wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));
+
+ return RegisterClassExW(&wcex);
+}
+
+//
+// ФУНКЦИЯ: InitInstance(HINSTANCE, int)
+//
+// ЦЕЛЬ: Сохраняет маркер экземпляра и создает главное окно
+//
+// КОММЕНТАРИИ:
+//
+// В этой функции маркер экземпляра сохраняется в глобальной переменной, а также
+// создается и выводится главное окно программы.
+//
+BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
+{
+ hInst = hInstance; // Сохранить маркер экземпляра в глобальной переменной
+
+ HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
+ CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr);
+
+ if (!hWnd)
+ {
+ return FALSE;
+ }
+
+ ShowWindow(hWnd, nCmdShow);
+ UpdateWindow(hWnd);
+
+ return TRUE;
+}
+
+//
+// ФУНКЦИЯ: WndProc(HWND, UINT, WPARAM, LPARAM)
+//
+// ЦЕЛЬ: Обрабатывает сообщения в главном окне.
+//
+// WM_COMMAND - обработать меню приложения
+// WM_PAINT - Отрисовка главного окна
+// WM_DESTROY - отправить сообщение о выходе и вернуться
+//
+//
+void Logo(HDC hdc, int x, int y) {
+
+ HPEN hPen = CreatePen(PS_SOLID, 3, RGB(0, 0, 0));
+ SelectObject(hdc, hPen);
+
+ Ellipse(hdc, 60 + x, 60 + y, 110 + x, 110 + y);
+
+ MoveToEx(hdc, 75 + x, 85 + y, NULL);
+ LineTo(hdc, 10 + x, 60 + y);
+ LineTo(hdc, 89 + x, 83 + y);
+
+ MoveToEx(hdc, 70 + x, 90 + y, NULL);
+ LineTo(hdc, 90 + x, 90 + y);
+ LineTo(hdc, 160 + x, 60 + y);
+ LineTo(hdc, 70 + x, 90 + y);
+
+}
+void Logo3(HDC hdc) {
+ Logo(hdc, 10, 60);
+ Logo(hdc, 180, 130);
+ Logo(hdc, 350, 200);
+ Logo(hdc, 520, 270);
+}
+LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ switch (message)
+ {
+ case WM_COMMAND:
+ {
+ int wmId = LOWORD(wParam);
+ // Разобрать выбор в меню:
+ switch (wmId)
+ {
+ case IDM_ABOUT:
+ DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
+ break;
+ case IDM_EXIT:
+ DestroyWindow(hWnd);
+ break;
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ }
+ break;
+ case WM_PAINT:
+ {
+ PAINTSTRUCT ps;
+ HDC hdc = BeginPaint(hWnd, &ps);
+ // TODO: Добавьте сюда любой код прорисовки, использующий HDC...
+ Logo3(hdc);
+ EndPaint(hWnd, &ps);
+ }
+ break;
+ case WM_DESTROY:
+ PostQuitMessage(0);
+ break;
+ default:
+ return DefWindowProc(hWnd, message, wParam, lParam);
+ }
+ return 0;
+}
+
+// Обработчик сообщений для окна "О программе".
+INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ UNREFERENCED_PARAMETER(lParam);
+ switch (message)
+ {
+ case WM_INITDIALOG:
+ return (INT_PTR)TRUE;
+
+ case WM_COMMAND:
+ if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
+ {
+ EndDialog(hDlg, LOWORD(wParam));
+ return (INT_PTR)TRUE;
+ }
+ break;
+ }
+ return (INT_PTR)FALSE;
+}
diff --git a/7, 8 лаб/8/5.3 лаб 8/5.3 лаб 8/5.3 лаб 8.h b/7, 8 лаб/8/5.3 лаб 8/5.3 лаб 8/5.3 лаб 8.h
new file mode 100644
index 0000000..b798bf5
--- /dev/null
+++ b/7, 8 лаб/8/5.3 лаб 8/5.3 лаб 8/5.3 лаб 8.h
@@ -0,0 +1,3 @@
+#pragma once
+
+#include "resource.h"
diff --git a/7, 8 лаб/8/5.3 лаб 8/5.3 лаб 8/5.3 лаб 8.ico b/7, 8 лаб/8/5.3 лаб 8/5.3 лаб 8/5.3 лаб 8.ico
new file mode 100644
index 0000000..b3ec03b
Binary files /dev/null and b/7, 8 лаб/8/5.3 лаб 8/5.3 лаб 8/5.3 лаб 8.ico differ
diff --git a/7, 8 лаб/8/5.3 лаб 8/5.3 лаб 8/5.3 лаб 8.rc b/7, 8 лаб/8/5.3 лаб 8/5.3 лаб 8/5.3 лаб 8.rc
new file mode 100644
index 0000000..9524778
Binary files /dev/null and b/7, 8 лаб/8/5.3 лаб 8/5.3 лаб 8/5.3 лаб 8.rc differ
diff --git a/7, 8 лаб/8/5.3 лаб 8/5.3 лаб 8/5.3 лаб 8.vcxproj b/7, 8 лаб/8/5.3 лаб 8/5.3 лаб 8/5.3 лаб 8.vcxproj
new file mode 100644
index 0000000..aa8fbd7
--- /dev/null
+++ b/7, 8 лаб/8/5.3 лаб 8/5.3 лаб 8/5.3 лаб 8.vcxproj
@@ -0,0 +1,148 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 17.0
+ Win32Proj
+ {e0a12c10-fe08-4c37-b1e8-98bcc2b78e60}
+ My53лаб8
+ 10.0
+
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Level3
+ true
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+ Level3
+ true
+ _DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/8/5.3 лаб 8/5.3 лаб 8/5.3 лаб 8.vcxproj.filters b/7, 8 лаб/8/5.3 лаб 8/5.3 лаб 8/5.3 лаб 8.vcxproj.filters
new file mode 100644
index 0000000..83cee1f
--- /dev/null
+++ b/7, 8 лаб/8/5.3 лаб 8/5.3 лаб 8/5.3 лаб 8.vcxproj.filters
@@ -0,0 +1,49 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
+
+
+
+ Исходные файлы
+
+
+
+
+ Файлы ресурсов
+
+
+
+
+ Файлы ресурсов
+
+
+ Файлы ресурсов
+
+
+
\ No newline at end of file
diff --git a/7, 8 лаб/8/5.3 лаб 8/5.3 лаб 8/Resource.h b/7, 8 лаб/8/5.3 лаб 8/5.3 лаб 8/Resource.h
new file mode 100644
index 0000000..2349b20
--- /dev/null
+++ b/7, 8 лаб/8/5.3 лаб 8/5.3 лаб 8/Resource.h
@@ -0,0 +1,30 @@
+//{{NO_DEPENDENCIES}}
+// Включаемый файл, созданный в Microsoft Visual C++.
+// Используется 5.3 лаб 8.rc
+
+#define IDS_APP_TITLE 103
+
+#define IDR_MAINFRAME 128
+#define IDD_MY538_DIALOG 102
+#define IDD_ABOUTBOX 103
+#define IDM_ABOUT 104
+#define IDM_EXIT 105
+#define IDI_MY538 107
+#define IDI_SMALL 108
+#define IDC_MY538 109
+#define IDC_MYICON 2
+#ifndef IDC_STATIC
+#define IDC_STATIC -1
+#endif
+// Следующие стандартные значения для новых объектов
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+
+#define _APS_NO_MFC 130
+#define _APS_NEXT_RESOURCE_VALUE 129
+#define _APS_NEXT_COMMAND_VALUE 32771
+#define _APS_NEXT_CONTROL_VALUE 1000
+#define _APS_NEXT_SYMED_VALUE 110
+#endif
+#endif
diff --git a/7, 8 лаб/8/5.3 лаб 8/5.3 лаб 8/framework.h b/7, 8 лаб/8/5.3 лаб 8/5.3 лаб 8/framework.h
new file mode 100644
index 0000000..a8f6dc8
--- /dev/null
+++ b/7, 8 лаб/8/5.3 лаб 8/5.3 лаб 8/framework.h
@@ -0,0 +1,15 @@
+// header.h: включаемый файл для стандартных системных включаемых файлов
+// или включаемые файлы для конкретного проекта
+//
+
+#pragma once
+
+#include "targetver.h"
+#define WIN32_LEAN_AND_MEAN // Исключите редко используемые компоненты из заголовков Windows
+// Файлы заголовков Windows
+#include
+// Файлы заголовков среды выполнения C
+#include
+#include
+#include
+#include
diff --git a/7, 8 лаб/8/5.3 лаб 8/5.3 лаб 8/small.ico b/7, 8 лаб/8/5.3 лаб 8/5.3 лаб 8/small.ico
new file mode 100644
index 0000000..b3ec03b
Binary files /dev/null and b/7, 8 лаб/8/5.3 лаб 8/5.3 лаб 8/small.ico differ
diff --git a/7, 8 лаб/8/5.3 лаб 8/5.3 лаб 8/targetver.h b/7, 8 лаб/8/5.3 лаб 8/5.3 лаб 8/targetver.h
new file mode 100644
index 0000000..d90003d
--- /dev/null
+++ b/7, 8 лаб/8/5.3 лаб 8/5.3 лаб 8/targetver.h
@@ -0,0 +1,6 @@
+#pragma once
+
+// // При включении SDKDDKVer.h будет задана самая новая из доступных платформ Windows.
+// Если вы планируете сборку приложения для предыдущей версии платформы Windows, включите WinSDKVer.h и
+// задайте желаемую платформу в макросе _WIN32_WINNT, прежде чем включать SDKDDKVer.h.
+#include
diff --git a/7, 8 лаб/№ 1 лаб 8.png b/7, 8 лаб/№ 1 лаб 8.png
new file mode 100644
index 0000000..bf49008
Binary files /dev/null and b/7, 8 лаб/№ 1 лаб 8.png differ
diff --git a/7, 8 лаб/№ 2 лаб 8.png b/7, 8 лаб/№ 2 лаб 8.png
new file mode 100644
index 0000000..bde8fe2
Binary files /dev/null and b/7, 8 лаб/№ 2 лаб 8.png differ
diff --git a/7, 8 лаб/№ 3 лаб 8.png b/7, 8 лаб/№ 3 лаб 8.png
new file mode 100644
index 0000000..568002a
Binary files /dev/null and b/7, 8 лаб/№ 3 лаб 8.png differ
diff --git a/7, 8 лаб/№ 4 лаб 8.png b/7, 8 лаб/№ 4 лаб 8.png
new file mode 100644
index 0000000..565f373
Binary files /dev/null and b/7, 8 лаб/№ 4 лаб 8.png differ
diff --git a/9, 10 лаб/1, 2 лаб 10/1 лаб 10.sln b/9, 10 лаб/1, 2 лаб 10/1 лаб 10.sln
new file mode 100644
index 0000000..c9629b4
--- /dev/null
+++ b/9, 10 лаб/1, 2 лаб 10/1 лаб 10.sln
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.11.35222.181
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "1 лаб 10", "1 лаб 10\1 лаб 10.vcxproj", "{180731D8-DD1D-4345-B1DB-ABE639EEDEB0}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {180731D8-DD1D-4345-B1DB-ABE639EEDEB0}.Debug|x64.ActiveCfg = Debug|x64
+ {180731D8-DD1D-4345-B1DB-ABE639EEDEB0}.Debug|x64.Build.0 = Debug|x64
+ {180731D8-DD1D-4345-B1DB-ABE639EEDEB0}.Debug|x86.ActiveCfg = Debug|Win32
+ {180731D8-DD1D-4345-B1DB-ABE639EEDEB0}.Debug|x86.Build.0 = Debug|Win32
+ {180731D8-DD1D-4345-B1DB-ABE639EEDEB0}.Release|x64.ActiveCfg = Release|x64
+ {180731D8-DD1D-4345-B1DB-ABE639EEDEB0}.Release|x64.Build.0 = Release|x64
+ {180731D8-DD1D-4345-B1DB-ABE639EEDEB0}.Release|x86.ActiveCfg = Release|Win32
+ {180731D8-DD1D-4345-B1DB-ABE639EEDEB0}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {FCF90060-29BF-4992-A986-63ECD2564E38}
+ EndGlobalSection
+EndGlobal
diff --git a/9, 10 лаб/1, 2 лаб 10/1 лаб 10/1 лаб 10.vcxproj b/9, 10 лаб/1, 2 лаб 10/1 лаб 10/1 лаб 10.vcxproj
new file mode 100644
index 0000000..889391a
--- /dev/null
+++ b/9, 10 лаб/1, 2 лаб 10/1 лаб 10/1 лаб 10.vcxproj
@@ -0,0 +1,135 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 17.0
+ Win32Proj
+ {180731d8-dd1d-4345-b1db-abe639eedeb0}
+ My1лаб10
+ 10.0
+
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Level3
+ true
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+ true
+ true
+
+
+
+
+ Level3
+ true
+ _DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/9, 10 лаб/1, 2 лаб 10/1 лаб 10/1 лаб 10.vcxproj.filters b/9, 10 лаб/1, 2 лаб 10/1 лаб 10/1 лаб 10.vcxproj.filters
new file mode 100644
index 0000000..3f0db78
--- /dev/null
+++ b/9, 10 лаб/1, 2 лаб 10/1 лаб 10/1 лаб 10.vcxproj.filters
@@ -0,0 +1,22 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Исходные файлы
+
+
+
\ No newline at end of file
diff --git a/9, 10 лаб/1, 2 лаб 10/1 лаб 10/FileName.cpp b/9, 10 лаб/1, 2 лаб 10/1 лаб 10/FileName.cpp
new file mode 100644
index 0000000..8116195
--- /dev/null
+++ b/9, 10 лаб/1, 2 лаб 10/1 лаб 10/FileName.cpp
@@ -0,0 +1,66 @@
+#include
+#include
+
+void Task1() {
+ printf("Task1() START\n");
+ int n;
+ int m;
+
+ printf("n = ");
+ scanf_s("%d", &n);
+ printf("m = ");
+ scanf_s("%d", &m);
+
+ int i = 1;
+ do {
+ int j = 1;
+ do {
+ printf("%d ", i * 10 + j);
+ j += 1;
+ } while (j <= m);
+ printf("\n");
+ i += 1;
+ } while (i <= n);
+ printf("Task1() FINISH()\n");
+}
+
+void Task2() {
+ printf("Task2() START\n");
+ int i = 1;//llll
+ do {
+ int j = 1;
+ do {
+ printf("%5d ", i * j);
+ j += 1;
+ } while (j <= 10);
+ printf("\n");
+ i += 1;
+ } while (i <= 10);
+ printf("Task2() FINISH()\n");
+}
+
+void main() {
+ SetConsoleCP(1251);
+ SetConsoleOutputCP(1251);
+ int n = 1;
+
+ do {
+ printf("\n");
+ printf("\n");
+ printf(" \n");
+ printf("1: 1 (i * 10 + j)\n");
+ printf("2: 2 ( )\n");
+ printf("\n");
+ printf("0: \n");
+
+ scanf_s("%d", &n);
+ switch (n) {
+ case 1:
+ Task1();
+ break;
+ case 2:
+ Task2();
+ break;
+ }
+ } while (n != 0);
+}
\ No newline at end of file
diff --git a/9, 10 лаб/1, 2, 3, 5 лаб 9/5 лаб 9.sln b/9, 10 лаб/1, 2, 3, 5 лаб 9/5 лаб 9.sln
new file mode 100644
index 0000000..b523521
--- /dev/null
+++ b/9, 10 лаб/1, 2, 3, 5 лаб 9/5 лаб 9.sln
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.11.35222.181
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "5 лаб 9", "5 лаб 9\5 лаб 9.vcxproj", "{12150A36-9D7F-4F8E-A3A9-745FF77BA796}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {12150A36-9D7F-4F8E-A3A9-745FF77BA796}.Debug|x64.ActiveCfg = Debug|x64
+ {12150A36-9D7F-4F8E-A3A9-745FF77BA796}.Debug|x64.Build.0 = Debug|x64
+ {12150A36-9D7F-4F8E-A3A9-745FF77BA796}.Debug|x86.ActiveCfg = Debug|Win32
+ {12150A36-9D7F-4F8E-A3A9-745FF77BA796}.Debug|x86.Build.0 = Debug|Win32
+ {12150A36-9D7F-4F8E-A3A9-745FF77BA796}.Release|x64.ActiveCfg = Release|x64
+ {12150A36-9D7F-4F8E-A3A9-745FF77BA796}.Release|x64.Build.0 = Release|x64
+ {12150A36-9D7F-4F8E-A3A9-745FF77BA796}.Release|x86.ActiveCfg = Release|Win32
+ {12150A36-9D7F-4F8E-A3A9-745FF77BA796}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {115C7EB3-B988-40B7-ADEE-82FBA1102BC5}
+ EndGlobalSection
+EndGlobal
diff --git a/9, 10 лаб/1, 2, 3, 5 лаб 9/5 лаб 9/5 лаб 9.vcxproj b/9, 10 лаб/1, 2, 3, 5 лаб 9/5 лаб 9/5 лаб 9.vcxproj
new file mode 100644
index 0000000..53a064b
--- /dev/null
+++ b/9, 10 лаб/1, 2, 3, 5 лаб 9/5 лаб 9/5 лаб 9.vcxproj
@@ -0,0 +1,135 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 17.0
+ Win32Proj
+ {12150a36-9d7f-4f8e-a3a9-745ff77ba796}
+ My5лаб9
+ 10.0
+
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+ Application
+ true
+ v143
+ Unicode
+
+
+ Application
+ false
+ v143
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Level3
+ true
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+ true
+ true
+
+
+
+
+ Level3
+ true
+ _DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+
+
+
+
+ Level3
+ true
+ true
+ true
+ NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/9, 10 лаб/1, 2, 3, 5 лаб 9/5 лаб 9/5 лаб 9.vcxproj.filters b/9, 10 лаб/1, 2, 3, 5 лаб 9/5 лаб 9/5 лаб 9.vcxproj.filters
new file mode 100644
index 0000000..3f0db78
--- /dev/null
+++ b/9, 10 лаб/1, 2, 3, 5 лаб 9/5 лаб 9/5 лаб 9.vcxproj.filters
@@ -0,0 +1,22 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Исходные файлы
+
+
+
\ No newline at end of file
diff --git a/9, 10 лаб/1, 2, 3, 5 лаб 9/5 лаб 9/FileName.cpp b/9, 10 лаб/1, 2, 3, 5 лаб 9/5 лаб 9/FileName.cpp
new file mode 100644
index 0000000..7815bed
--- /dev/null
+++ b/9, 10 лаб/1, 2, 3, 5 лаб 9/5 лаб 9/FileName.cpp
@@ -0,0 +1,89 @@
+#include
+#include
+
+void print1_10() {
+ int a = 1;
+ do {
+ printf("%d ", a);
+ a += 1;
+ } while (a <= 10);
+}
+
+void print10_1() {
+ int a = 10;
+ do {
+ printf("%d ", a);
+ a -= 1;
+ } while (a >= 1);
+}
+
+void print5() {
+ int a = 1;
+ int i = 1;
+ do {
+ printf("%d ", a);
+ a += 2;
+ i += 1;
+ } while (i <= 5);
+}
+void print100_10while() {
+ int a = 100;
+ while (a >= 10) {
+ printf("%d ", a);
+ a -= 10;
+ }
+}
+void print1000_100while() {
+ int a = 1000;
+ while (a >= 100) {
+ printf("%d ", a);
+ a -= 100;
+ }
+}
+void print1000_0while() {
+ int a = 1000;
+ while (a >= 0) {
+ printf("%d ", a);
+ a -= 6;
+ }
+}
+void main() {
+ SetConsoleCP(1251);
+ SetConsoleOutputCP(1251);
+ int n;
+
+ do {
+ printf("\n");
+ printf("\n");
+ printf(" :\n");
+ printf("1: 1 10\n");
+ printf("2: 10 1\n");
+ printf("3: 5 1\n");
+ printf("11: 100 90 80 ... 10( WHILE)\n");
+ printf("12: 1000 900 800 ... 100( WHILE)\n");
+ printf("20: 1000 994 988 ( WHILE)\n");
+ printf("\n");
+ printf("0: \n");
+ scanf_s("%d", &n);
+ switch (n) {
+ case 1:
+ print1_10();
+ break;
+ case 2:
+ print10_1();
+ break;
+ case 3:
+ print5();
+ break;
+ case 11:
+ print100_10while();
+ break;
+ case 12:
+ print1000_100while();
+ break;
+ case 20:
+ print1000_0while();
+ break;
+ }
+ } while (n != 0);
+}