Загрузка...

Нужна помощь с заданием.

Тема в разделе C/C++ создана пользователем fimi 29 ноя 2022. 134 просмотра

  1. fimi
    fimi Автор темы 29 ноя 2022 https://zelenka.guru/threads/5427778/ 48 7 янв 2019
    Кто сможет сделать - напишите в тг.
    Оплата +
    (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;
    }
    Задача.
     
    29 ноя 2022 Изменено
  2. Joker9019
    Joker9019 5 дек 2022 Заблокирован(а) 3 27 ноя 2022
    fimi,
    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;
    }

    //
     
Top
Загрузка...