Кто сможет сделать - напишите в тг. Оплата + (udp - в лс форума, тг отвязался) Сам пример: Определить, равен ли квадрат заданного трехзначного числа кубу суммы цифр этого числа. Например, если вводим число 345. Мы получим разряды трехзначного числа: 3, 4, 5. Если (345*345 == (3+4+5) * (3+4+5) * (3+4+5)), то выведите сообщение об этом. Изначальный код задачи: (обязательно с окнами) // --- Обязательный включаемый файл #include <windows.h> // --- Описание функции главного окна LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); // --- Глобальные переменные HINSTANCE hInst; // Дескриптор экземпляра приложения char ClassName[]="Window"; // Название класса окна char AppTitle[]="Application Win32"; // Заголовок главного окна // --- Функция WinMain int WINAPI WinMain( HINSTANCE hInstance, // Дескриптор экземпляра приложения HINSTANCE hPrevInstance, // В Win32 всегда равен NULL LPSTR lpCmdLine, // Указатель на командную строку. Он позволяет // приложению получать данные из командной строки. int nCmdShow // Определяет, как приложение первоначально // отображается на дисплее: пиктограммой (nCmdShow = SW_SHOWMINNOACTIVE) или в виде открытого окна (nCmdShow = SW_SHOWNORMAL). ) { WNDCLASS wc; // Структура для информации о класса окна HWND hWnd; // Дескриптор главного окна приложения MSG msg; // Структура для хранения сообщения // Сохраняем дескриптор экземпляра приложения в глобальной переменной, // чтобы при необходимости воспользоваться им в функции окна. hInst=hInstance; // --- Работающая копия не найдена - функция WinMain приступает к инициализации. // Заполнение структуры WNDCLASS для регистрации класса окна. memset(&wc, 0, sizeof(wc)); wc.lpszClassName=ClassName; // Имя класса окон wc.lpfnWndProc=(WNDPROC)WndProc; // Адрес оконной функции wc.style=CS_HREDRAW|CS_VREDRAW; // Стиль класса окон wc.hInstance=hInstance; // Экземпляр приложения wc.hIcon=LoadIcon(NULL,IDI_APPLICATION); // Пиктограмма для окон wc.hCursor=LoadCursor(NULL,IDC_ARROW); // Курсор мыши для окон wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH); // Кисть для окон wc.lpszMenuName=NULL; // Ресурс меню окон wc.cbClsExtra=0; // Дополнительная память wc.cbWndExtra=0; // Дополнительная память // Pегистрация класса окна. RegisterClass(&wc); // Создаем главное окно приложения. hWnd=CreateWindow( ClassName, // Имя класса окон AppTitle, // Заголовок окна WS_OVERLAPPEDWINDOW, // Стиль окна CW_USEDEFAULT, // X-координаты CW_USEDEFAULT, // Y-координаты CW_USEDEFAULT, // Ширина окна CW_USEDEFAULT, // Высота окна NULL, // Дескриптор окна-родителя NULL, // Дескриптор меню окна hInst, // Дескриптор экземпляра приложения NULL); // Дополнительная информация if(!hWnd) { // Окно не создано, выдаем предупреждение. MessageBox(NULL,"Create: error",AppTitle,MB_OK|MB_ICONSTOP); return FALSE; } // Отображаем окно. ShowWindow(hWnd, nCmdShow); // Обновляем содержимое клиентской области окна. UpdateWindow(hWnd); // Запускаем цикл обработки очереди сообщений. Функция GetMessage получает // сообщение из очереди, выдает false при выборке из очереди сообщения WM_QUIT while(GetMessage(&msg, NULL, 0, 0)) { // Преобразование некоторых сообщений, полученных с помощью клавиатуры TranslateMessage(&msg); // Отправляем сообщение оконной процедуре DispatchMessage(&msg); } return msg.wParam; } // --- Функция окна LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch(msg) { // Пользователь удалил окно. case WM_DESTROY: { // Если данная функция является оконной функцией главного окна, то // следует в очередь сообщений приложения послать сообщение WM_QUIT PostQuitMessage(0); }; break; // Необработанные сообщения передаем в стандартную // функцию обработки сообщений по умолчанию. default: return DefWindowProc(hWnd, msg, wParam, lParam); } return 01; } Код Сам пример: Определить, равен ли квадрат заданного трехзначного числа кубу суммы цифр этого числа. Например, если вводим число 345. Мы получим разряды трехзначного числа: 3, 4, 5. Если (345*345 == (3+4+5) * (3+4+5) * (3+4+5)), то выведите сообщение об этом. Изначальный код задачи: (обязательно с окнами) // --- Обязательный включаемый файл #include <windows.h> // --- Описание функции главного окна LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); // --- Глобальные переменные HINSTANCE hInst; // Дескриптор экземпляра приложения char ClassName[]="Window"; // Название класса окна char AppTitle[]="Application Win32"; // Заголовок главного окна // --- Функция WinMain int WINAPI WinMain( HINSTANCE hInstance, // Дескриптор экземпляра приложения HINSTANCE hPrevInstance, // В Win32 всегда равен NULL LPSTR lpCmdLine, // Указатель на командную строку. Он позволяет // приложению получать данные из командной строки. int nCmdShow // Определяет, как приложение первоначально // отображается на дисплее: пиктограммой (nCmdShow = SW_SHOWMINNOACTIVE) или в виде открытого окна (nCmdShow = SW_SHOWNORMAL). ) { WNDCLASS wc; // Структура для информации о класса окна HWND hWnd; // Дескриптор главного окна приложения MSG msg; // Структура для хранения сообщения // Сохраняем дескриптор экземпляра приложения в глобальной переменной, // чтобы при необходимости воспользоваться им в функции окна. hInst=hInstance; // --- Работающая копия не найдена - функция WinMain приступает к инициализации. // Заполнение структуры WNDCLASS для регистрации класса окна. memset(&wc, 0, sizeof(wc)); wc.lpszClassName=ClassName; // Имя класса окон wc.lpfnWndProc=(WNDPROC)WndProc; // Адрес оконной функции wc.style=CS_HREDRAW|CS_VREDRAW; // Стиль класса окон wc.hInstance=hInstance; // Экземпляр приложения wc.hIcon=LoadIcon(NULL,IDI_APPLICATION); // Пиктограмма для окон wc.hCursor=LoadCursor(NULL,IDC_ARROW); // Курсор мыши для окон wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH); // Кисть для окон wc.lpszMenuName=NULL; // Ресурс меню окон wc.cbClsExtra=0; // Дополнительная память wc.cbWndExtra=0; // Дополнительная память // Pегистрация класса окна. RegisterClass(&wc); // Создаем главное окно приложения. hWnd=CreateWindow( ClassName, // Имя класса окон AppTitle, // Заголовок окна WS_OVERLAPPEDWINDOW, // Стиль окна CW_USEDEFAULT, // X-координаты CW_USEDEFAULT, // Y-координаты CW_USEDEFAULT, // Ширина окна CW_USEDEFAULT, // Высота окна NULL, // Дескриптор окна-родителя NULL, // Дескриптор меню окна hInst, // Дескриптор экземпляра приложения NULL); // Дополнительная информация if(!hWnd) { // Окно не создано, выдаем предупреждение. MessageBox(NULL,"Create: error",AppTitle,MB_OK|MB_ICONSTOP); return FALSE; } // Отображаем окно. ShowWindow(hWnd, nCmdShow); // Обновляем содержимое клиентской области окна. UpdateWindow(hWnd); // Запускаем цикл обработки очереди сообщений. Функция GetMessage получает // сообщение из очереди, выдает false при выборке из очереди сообщения WM_QUIT while(GetMessage(&msg, NULL, 0, 0)) { // Преобразование некоторых сообщений, полученных с помощью клавиатуры TranslateMessage(&msg); // Отправляем сообщение оконной процедуре DispatchMessage(&msg); } return msg.wParam; } // --- Функция окна LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch(msg) { // Пользователь удалил окно. case WM_DESTROY: { // Если данная функция является оконной функцией главного окна, то // следует в очередь сообщений приложения послать сообщение WM_QUIT PostQuitMessage(0); }; break; // Необработанные сообщения передаем в стандартную // функцию обработки сообщений по умолчанию. default: return DefWindowProc(hWnd, msg, wParam, lParam); } return 01; } Задача.
fimi, // --- Функция приложения int App(HWND hWnd) { int num, num1, num2, num3, sum; bool flag = false; char buf[10]; // Запрашиваем у пользователя трехзначное число MessageBox(hWnd, "Введите трехзначное число", "", MB_OK); num = GetDlgItemInt(hWnd, IDC_EDIT1, NULL, FALSE); // Разбиваем трехзначное число на разряды num1 = num / 100; num2 = (num - num1 * 100) / 10; num3 = (num - num1 * 100 - num2 * 10); // Считаем сумму цифр sum = num1 + num2 + num3; // Сравниваем квадрат трехзначного числа и куб суммы цифр if(num*num == sum*sum*sum) { flag = true; } // C // --- Функция приложения int App(HWND hWnd) { int num, num1, num2, num3, sum; bool flag = false; char buf[10]; // Запрашиваем у пользователя трехзначное число MessageBox(hWnd, "Введите трехзначное число", "", MB_OK); num = GetDlgItemInt(hWnd, IDC_EDIT1, NULL, FALSE); // Разбиваем трехзначное число на разряды num1 = num / 100; num2 = (num - num1 * 100) / 10; num3 = (num - num1 * 100 - num2 * 10); // Считаем сумму цифр sum = num1 + num2 + num3; // Сравниваем квадрат трехзначного числа и куб суммы цифр if(num*num == sum*sum*sum) { flag = true; } //