Ir ao conteúdo

Posts recomendados

Postado

Estou cursando gestão em ti, 2º semestre, neste semestre inicio a area de programção, meu professor me passou um desafio com o enunciado descrito no codigo abaixo.

 

Gostaria de deixar estre simples programa com uma interface mais bonita, depois de compilado deixar ele com uma janela do windows, como um programda mais profissional digamos kk

Mais como sou novo nesta area nao conheco codigos e tudo mais.

Gostaria de ajuda para pegar este codigo e colocar ele em uma janela.

Segue o codigo abaixo:

 

/*Um pedreiro necessita preencher uma parede com azulejos, desenvolva 
um programa que fale quantos azulejos serão necessários para preencher a parede.*/


#include <stdio.h>
#include <stdlib.h>

 

int main(){
    float azulejo,azulejol,azulejoa,paredel,paredea,parede,total;
    
    printf("Informe a largura do azulejo: ");
    scanf("%f", &azulejol);
    printf("Informe a altura do azulejo: ");
    scanf("%f", &azulejoa);
    printf("Informe a largura da parede: ");
    scanf("%f", &paredel);
    printf("Informe a altura da parede: ");
    scanf("%f", &paredea);
    
    azulejo=azulejol*azulejoa;
    parede=paredel*paredea;
    total=parede/azulejo;
    
    printf("Sera necessario %.0f azulejos para completar a parede de %.0f metros.", total,parede);
    printf("\n\n");
    system ("pause");
    
    }

    

Obrigado desde ja.
    

 

 

  • Obrigado 1
  • 2 anos depois...
Postado

@Guilherme R. Anzollin      seu código está bom , só ficou faltando  mostrar o resultado ,  então fiz uma modificação e seu código poderia ser assim  :

#include <windows.h>
#include <stdlib.h>

LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);

int WINAPI WinMain (HINSTANCE hThisInstance,
                    HINSTANCE hPrevInstance,
                    LPSTR lpszArgument,
                    int nFunsterStil)
{
    HWND hwnd;
    MSG messages;
    WNDCLASSEX wincl;

    wincl.hInstance     = hThisInstance;
    wincl.lpszClassName = "WindowsApp";
    wincl.lpfnWndProc   = WindowProcedure;
    wincl.style         = CS_DBLCLKS;
    wincl.cbSize        = sizeof (WNDCLASSEX);

    wincl.hIcon         = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hIconSm       = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hCursor       = LoadCursor (NULL, IDC_ARROW);
    wincl.lpszMenuName  = NULL;
    wincl.cbClsExtra    = 0;
    wincl.cbWndExtra    = 0;
    wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;

    if (! RegisterClassEx ( &wincl ))
        return 0;

    hwnd = CreateWindowEx (
        0,
        "WindowsApp",
        "Calculadora",
        WS_OVERLAPPEDWINDOW,
        350,/*pos x da tela de 0 ate 1280 tamanho da tela*/
        50, /*pos y da tela de 0 ate 720 tamanho da tela */
        800,/*largura da janela criada largura da tela   */
        600,/*altura da janela criada  altura da tela    */
        HWND_DESKTOP,
        NULL,
        hThisInstance,
        NULL
        );

    ShowWindow (hwnd, nFunsterStil);

    while (GetMessage (&messages, NULL, 0, 0))
    {
        TranslateMessage(&messages);
        DispatchMessage(&messages);
    }

    return messages.wParam;
}

#define ID_BUTTON_resultado 1001

HINSTANCE g_inst;
HWND EditNum1,EditNum2,EditNum3,EditNum4,EditTotal,ButtonMais,ButtonMenos,ButtonVezes,ButtonDividir;

void DesenharObjectos(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    EditNum1 = CreateWindowEx (
        WS_EX_CLIENTEDGE,
        "EDIT",
        " ",
        WS_VISIBLE|WS_CHILD|WS_BORDER ,
        220, 10, 50, 20,
        hwnd,
        NULL,
        g_inst,
        NULL
        );

    CreateWindowEx (
        0,
        "STATIC",
        "Altura    Do Azuleijo em CM",
        WS_VISIBLE|WS_CHILD,
        20,10,190, 20,
        hwnd,
        NULL,
        g_inst,
        NULL
        );

    EditNum2 = CreateWindowEx (
        WS_EX_CLIENTEDGE,"EDIT", " ",
        WS_VISIBLE|WS_CHILD|WS_BORDER,
        220, 40, 50, 20,
        hwnd, NULL, g_inst, NULL );

        CreateWindowEx (
        0,
        "STATIC",
        "Largura Do Azuleijo em CM",
        WS_VISIBLE|WS_CHILD,
        20, 40, 190, 20,
        hwnd,
        NULL,
        g_inst,
        NULL
        );

    EditNum3 = CreateWindowEx (
        WS_EX_CLIENTEDGE,"EDIT", " ",
        WS_VISIBLE|WS_CHILD|WS_BORDER,
        220, 70, 50, 20,
        hwnd, NULL, g_inst, NULL );

    CreateWindowEx (
        0,
        "STATIC",
        "Altura    Da Parede   em CM",
        WS_VISIBLE|WS_CHILD,
        20, 70, 190, 20,
        hwnd,
        NULL,
        g_inst,
        NULL
        );

    EditNum4 = CreateWindowEx (
        WS_EX_CLIENTEDGE,"EDIT", " ",
        WS_VISIBLE|WS_CHILD|WS_BORDER,
        220, 100, 50, 20,
        hwnd, NULL, g_inst, NULL );

    CreateWindowEx (
        0,
        "STATIC",
        "Largura Da Parede   em CM",
        WS_VISIBLE|WS_CHILD,
        20, 100, 190, 20,
        hwnd,
        NULL,
        g_inst,
        NULL
        );

    ButtonMais = CreateWindowEx (
        0,
        "BUTTON",
        "Resultado",
        WS_VISIBLE|WS_CHILD,
        20,200, 200, 30,
        hwnd,
        (HMENU)ID_BUTTON_resultado,
        g_inst,
        NULL
        );

        CreateWindowEx (
        0,
        "STATIC",
        "Total De Azuleijos =",
        WS_VISIBLE|WS_CHILD,
        20, 250, 150, 30,
        hwnd,
        NULL,
        g_inst,
        NULL
        );

     EditTotal = CreateWindowEx (
        WS_EX_CLIENTEDGE,"EDIT", "",
        WS_VISIBLE|WS_CHILD|WS_BORDER,
        180, 250, 80, 30,
        hwnd, NULL, g_inst, NULL );

      SendMessage((HWND) EditNum1,
        (UINT) WM_SETFONT,
        (WPARAM) GetStockObject(DEFAULT_GUI_FONT),
        (LPARAM) lParam
        );

    SendMessage((HWND) EditNum2, (UINT) WM_SETFONT, (WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam);
    SendMessage((HWND) EditNum3, (UINT) WM_SETFONT, (WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam);
    SendMessage((HWND) EditNum4, (UINT) WM_SETFONT, (WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam);
    SendMessage((HWND) EditTotal,(UINT) WM_SETFONT, (WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam);

    SendMessage(
        (HWND) ButtonMais,
        (UINT) WM_SETFONT,
        (WPARAM) GetStockObject(DEFAULT_GUI_FONT),
        (LPARAM) lParam
        );

}

char s_valor1[20] = "0", s_valor2[20] = "0",s_valor3[20] = "0", s_valor4[20] = "0", s_total[20] = "0";
int valor1, valor2,valor3, valor4, total;

LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)
    {
        case WM_CREATE:
            DesenharObjectos(hwnd,message,wParam,lParam);
        break;
        case WM_COMMAND:

            if ((HIWORD(wParam) == BN_CLICKED))
            {

                SendMessage(
                    (HWND) EditNum1,
	                (UINT) EM_GETLINE,
	                (WPARAM) 1,
	                (LPARAM) &s_valor1
                    );

                SendMessage((HWND)EditNum2,(UINT)EM_GETLINE,(WPARAM)1,(LPARAM) &s_valor2);
                SendMessage((HWND)EditNum3,(UINT)EM_GETLINE,(WPARAM)1,(LPARAM) &s_valor3);
                SendMessage((HWND)EditNum4,(UINT)EM_GETLINE,(WPARAM)1,(LPARAM) &s_valor4);

               	valor1 = atoi(s_valor1);
                valor2 = atoi(s_valor2);
                valor3 = atoi(s_valor3);
                valor4 = atoi(s_valor4);

                switch (LOWORD(wParam))
                {
                    case ID_BUTTON_resultado:
                        if(valor4!=0&&valor3!=0)total = valor4/valor2 * valor3/valor1;
                    break;

                }

                itoa (total,s_total,10);

                DesenharObjectos(hwnd,message,wParam,lParam);

                SendMessage(
	                (HWND) EditTotal,
	                (UINT) WM_SETTEXT,
	                (WPARAM) 0,
	                (LPARAM) &s_total
                    );

            }
            break;
        case WM_DESTROY:
            PostQuitMessage (0);
        break;
        default:
            return DefWindowProc (hwnd, message, wParam, lParam);
    }
    return 0;
}

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!