Calculadora com valores definidos

Korwax

Membro
Olá,
Estava desenvolvendo uma calculadora diferente,
do tipo,
Se: valor1="100":
total = 5500 - valor2;
este tipo de calculadoras é muito usado em MMORPGS hoje em dia.
queria um código base disso em c++.
tipo o que precisa pra a calculadora gerar isso.
tenho a calculadora toda configurada, so falta esta parte, me prendi nela.
grato

Edited:
Muito tempo depois, alguém poderia me ajudar?
grato novamente
 
Última edição:
Por isso é que achei estranho, mas foi o que ele pediu, o código para aquela fórmula. ele podia estar a beira dum desgaste e não conseguir pensar mais... as razões para o pedido dele são-me desconhecidas, mas tal como tu, foi isso que percebi que ele pediu (e re-li 5 vezes)

Abraço
 
é isso sim baderous muito obrigado.
eu estava fazendo assim:

sou iniciante em c++ e namorado de minha irmã me passou um código de uma calculadora normal.
então eu a adaptei para outro tipo.
e estou atrás de um curso de c++.

Olhe
/* Progam maded by Kowax Softwares
contact me [email protected]
This program can't be sold or
traded.
*/

#include <windows.h>
#include <stdlib.h>
EditNum1 = CreateWindowEx (
WS_EX_CLIENTEDGE,
"STATIC",
"Seu Level ->",
WS_VISIBLE|WS_CHILD|WS_BORDER|ES_RIGHT ,
10, 30, 70, 20,
hwnd,
NULL,
g_inst,
NULL
);

EditNum3 = CreateWindowEx (
WS_EX_CLIENTEDGE,
"STATIC",
"Tabela de Levels",
WS_VISIBLE|WS_CHILD|WS_BORDER|ES_RIGHT ,
10, 110, 50, 52,
hwnd,
NULL,
g_inst,
NULL
);

EditNum4 = CreateWindowEx (
WS_EX_CLIENTEDGE,
"STATIC",
"Program by Kowax",
WS_VISIBLE|WS_CHILD|WS_BORDER|ES_RIGHT ,
200, 110, 60, 52,
hwnd,
NULL,
g_inst,
NULL
);

EditNum2 = CreateWindowEx (
WS_EX_CLIENTEDGE,"EDIT", "Sua Exp",
WS_VISIBLE|WS_CHILD|WS_BORDER,
180, 30, 70, 20,
hwnd, NULL, g_inst, NULL );

EditTotal = CreateWindowEx (
WS_EX_CLIENTEDGE,"EDIT", "Exp Para Lvl",
WS_VISIBLE|WS_CHILD|WS_BORDER,
260, 30, 70, 20,
hwnd, NULL, g_inst, NULL );

ButtonMais = CreateWindowEx (
0,
"BUTTON",
"2",
WS_VISIBLE|WS_CHILD,
80, 30, 20, 20,
hwnd,
(HMENU)ID_BUTTONmais,
g_inst,
NULL
);

ButtonMenos = CreateWindowEx (
0, "BUTTON", "3",
WS_VISIBLE|WS_CHILD,
100, 30, 20, 20,
hwnd, (HMENU)ID_BUTTONmenos, g_inst, NULL);

ButtonVezes = CreateWindowEx (
0, "BUTTON", "4",
WS_VISIBLE|WS_CHILD,
120, 30, 20, 20,
hwnd, (HMENU)ID_BUTTONvezes, g_inst, NULL);

ButtonDividir = CreateWindowEx (
0, "BUTTON", "5",
WS_VISIBLE|WS_CHILD,
140, 30, 20, 20,
hwnd, (HMENU)ID_BUTTONdividir, g_inst, NULL);

ButtonLevel = CreateWindowEx (
0, "BUTTON", "6",
WS_VISIBLE|WS_CHILD,
160, 30, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel, g_inst, NULL);

ButtonLevel2 = CreateWindowEx (
0, "BUTTON", "7",
WS_VISIBLE|WS_CHILD,
80, 50, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel2, g_inst, NULL);

ButtonLevel3 = CreateWindowEx (
0, "BUTTON", "8",
WS_VISIBLE|WS_CHILD,
100, 50, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel3, g_inst, NULL);

ButtonLevel4 = CreateWindowEx (
0, "BUTTON", "9",
WS_VISIBLE|WS_CHILD,
120, 50, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel4, g_inst, NULL);

ButtonLevel5 = CreateWindowEx (
0, "BUTTON", "10",
WS_VISIBLE|WS_CHILD,
140, 50, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel5, g_inst, NULL);

ButtonLevel6 = CreateWindowEx (
0, "BUTTON", "11",
WS_VISIBLE|WS_CHILD,
160, 50, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel6, g_inst, NULL);

ButtonLevel7 = CreateWindowEx (
0, "BUTTON", "12",
WS_VISIBLE|WS_CHILD,
80, 70, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel7, g_inst, NULL);

ButtonLevel8 = CreateWindowEx (
0, "BUTTON", "13",
WS_VISIBLE|WS_CHILD,
100, 70, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel8, g_inst, NULL);

ButtonLevel9 = CreateWindowEx (
0, "BUTTON", "14",
WS_VISIBLE|WS_CHILD,
120, 70, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel9, g_inst, NULL);

ButtonLevel10 = CreateWindowEx (
0, "BUTTON", "15",
WS_VISIBLE|WS_CHILD,
140, 70, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel10, g_inst, NULL);

ButtonLevel11 = CreateWindowEx (
0, "BUTTON", "16",
WS_VISIBLE|WS_CHILD,
160, 70, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel11, g_inst, NULL);

ButtonLevel12 = CreateWindowEx (
0, "BUTTON", "17",
WS_VISIBLE|WS_CHILD,
80, 90, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel12, g_inst, NULL);

ButtonLevel13 = CreateWindowEx (
0, "BUTTON", "18",
WS_VISIBLE|WS_CHILD,
100, 90, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel13, g_inst, NULL);

ButtonLevel14 = CreateWindowEx (
0, "BUTTON", "19",
WS_VISIBLE|WS_CHILD,
120, 90, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel14, g_inst, NULL);

ButtonLevel15 = CreateWindowEx (
0, "BUTTON", "20",
WS_VISIBLE|WS_CHILD,
140, 90, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel15, g_inst, NULL);

ButtonLevel16 = CreateWindowEx (
0, "BUTTON", "21",
WS_VISIBLE|WS_CHILD,
160, 90, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel16, g_inst, NULL);

ButtonLevel17 = CreateWindowEx (
0, "BUTTON", "22",
WS_VISIBLE|WS_CHILD,
80, 110, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel17, g_inst, NULL);

ButtonLevel18 = CreateWindowEx (
0, "BUTTON", "23",
WS_VISIBLE|WS_CHILD,
100, 110, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel18, g_inst, NULL);

ButtonLevel19 = CreateWindowEx (
0, "BUTTON", "24",
WS_VISIBLE|WS_CHILD,
120, 110, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel19, g_inst, NULL);

ButtonLevel20 = CreateWindowEx (
0, "BUTTON", "25",
WS_VISIBLE|WS_CHILD,
140, 110, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel20, g_inst, NULL);

ButtonLevel21 = CreateWindowEx (
0, "BUTTON", "26",
WS_VISIBLE|WS_CHILD,
160, 110, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel21, g_inst, NULL);

ButtonLevel22 = CreateWindowEx (
0, "BUTTON", "27",
WS_VISIBLE|WS_CHILD,
80, 130, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel22, g_inst, NULL);

ButtonLevel23 = CreateWindowEx (
0, "BUTTON", "28",
WS_VISIBLE|WS_CHILD,
100, 130, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel23, g_inst, NULL);

ButtonLevel24 = CreateWindowEx (
0, "BUTTON", "29",
WS_VISIBLE|WS_CHILD,
120, 130, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel24, g_inst, NULL);

ButtonLevel25 = CreateWindowEx (
0, "BUTTON", "30",
WS_VISIBLE|WS_CHILD,
140, 130, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel25, g_inst, NULL);

ButtonLevel26 = CreateWindowEx (
0, "BUTTON", "31",
WS_VISIBLE|WS_CHILD,
160, 130, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel26, g_inst, NULL);

ButtonLevel27 = CreateWindowEx (
0, "BUTTON", "32",
WS_VISIBLE|WS_CHILD,
80, 150, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel27, g_inst, NULL);

ButtonLevel28 = CreateWindowEx (
0, "BUTTON", "33",
WS_VISIBLE|WS_CHILD,
100, 150, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel28, g_inst, NULL);

ButtonLevel29 = CreateWindowEx (
0, "BUTTON", "34",
WS_VISIBLE|WS_CHILD,
120, 150, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel29, g_inst, NULL);

ButtonLevel30 = CreateWindowEx (
0, "BUTTON", "35",
WS_VISIBLE|WS_CHILD,
140, 150, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel30, g_inst, NULL);

ButtonLevel31 = CreateWindowEx (
0, "BUTTON", "36",
WS_VISIBLE|WS_CHILD,
160, 150, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel31, g_inst, NULL);

ButtonLevel32 = CreateWindowEx (
0, "BUTTON", "37",
WS_VISIBLE|WS_CHILD,
80, 170, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel32, g_inst, NULL);

ButtonLevel33 = CreateWindowEx (
0, "BUTTON", "38",
WS_VISIBLE|WS_CHILD,
100, 170, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel33, g_inst, NULL);

ButtonLevel34 = CreateWindowEx (
0, "BUTTON", "39",
WS_VISIBLE|WS_CHILD,
120, 170, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel34, g_inst, NULL);

ButtonLevel35 = CreateWindowEx (
0, "BUTTON", "40",
WS_VISIBLE|WS_CHILD,
140, 170, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel35, g_inst, NULL);

ButtonLevel36 = CreateWindowEx (
0, "BUTTON", "41",
WS_VISIBLE|WS_CHILD,
160, 170, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel36, g_inst, NULL);

ButtonLevel37 = CreateWindowEx (
0, "BUTTON", "42",
WS_VISIBLE|WS_CHILD,
80, 190, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel37, g_inst, NULL);

ButtonLevel38 = CreateWindowEx (
0, "BUTTON", "43",
WS_VISIBLE|WS_CHILD,
100, 190, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel38, g_inst, NULL);

ButtonLevel39 = CreateWindowEx (
0, "BUTTON", "44",
WS_VISIBLE|WS_CHILD,
120, 190, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel39, g_inst, NULL);

ButtonLevel40 = CreateWindowEx (
0, "BUTTON", "45",
WS_VISIBLE|WS_CHILD,
140, 190, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel40, g_inst, NULL);

ButtonLevel41 = CreateWindowEx (
0, "BUTTON", "46",
WS_VISIBLE|WS_CHILD,
160, 190, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel41, g_inst, NULL);

ButtonLevel42 = CreateWindowEx (
0, "BUTTON", "47",
WS_VISIBLE|WS_CHILD,
80, 210, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel42, g_inst, NULL);

ButtonLevel43 = CreateWindowEx (
0, "BUTTON", "48",
WS_VISIBLE|WS_CHILD,
100, 210, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel43, g_inst, NULL);

ButtonLevel44 = CreateWindowEx (
0, "BUTTON", "49",
WS_VISIBLE|WS_CHILD,
120, 210, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel44, g_inst, NULL);

ButtonLevel45 = CreateWindowEx (
0, "BUTTON", "50",
WS_VISIBLE|WS_CHILD,
140, 210, 20, 20,
hwnd, (HMENU)ID_BUTTONlevel45, g_inst, NULL);

CreateWindowEx (
0,
"STATIC",
"=",
WS_VISIBLE|WS_CHILD,
252, 31, 5, 20,
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) EditTotal,(UINT) WM_SETFONT, (WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam);

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

SendMessage((HWND) ButtonMenos,(UINT) WM_SETFONT, (WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam);
SendMessage((HWND) ButtonVezes,(UINT) WM_SETFONT, (WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam);
SendMessage((HWND) ButtonDividir,(UINT) WM_SETFONT, (WPARAM) GetStockObject(DEFAULT_GUI_FONT),(LPARAM) lParam);
}

char s_valor1[20] = "0", s_valor2[20] = "0", s_total[20] = "0";
int valor1, valor2, total, level1, level2, level3, level4, level5, level6, level7, level8, level9, level10;

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);

valor1 = atoi(s_valor1);
valor2 = atoi(s_valor2);

switch (LOWORD(wParam))
{
case ID_BUTTONmais:
total = 100-valor2;
break;
case ID_BUTTONmenos:
total = 200-valor2;
break;
case ID_BUTTONvezes:
total = 400-valor2;
break;
case ID_BUTTONdividir:
total = 800- valor2;
break;
case ID_BUTTONlevel:
total = 1500- valor2;
break;
case ID_BUTTONlevel2:
total = 2600- valor2;
break;
case ID_BUTTONlevel3:
total = 4200- valor2;
break;
case ID_BUTTONlevel4:
total = 6400- valor2;
break;
case ID_BUTTONlevel5:
total = 9300- valor2;
break;
case ID_BUTTONlevel6:
total = 13000- valor2;
break;
case ID_BUTTONlevel7:
total = 17600- valor2;
break;
case ID_BUTTONlevel8:
total = 23200- valor2;
break;
case ID_BUTTONlevel9:
total = 29900- valor2;
break;
case ID_BUTTONlevel10:
total = 37800- valor2;
break;
case ID_BUTTONlevel11:
total = 47000- valor2;
break;
case ID_BUTTONlevel12:
total = 57600- valor2;
break;
case ID_BUTTONlevel13:
total = 69700- valor2;
break;
case ID_BUTTONlevel14:
total = 83400- valor2;
break;
case ID_BUTTONlevel15:
total = 98800- valor2;
break;
case ID_BUTTONlevel16:
total = 116000- valor2;
break;
case ID_BUTTONlevel17:
total = 135100- valor2;
break;
case ID_BUTTONlevel18:
total = 156200- valor2;
break;
case ID_BUTTONlevel19:
total = 179400- valor2;
break;
case ID_BUTTONlevel20:
total = 204800- valor2;
break;
case ID_BUTTONlevel21:
total = 232500- valor2;
break;
case ID_BUTTONlevel22:
total = 262600- valor2;
break;
case ID_BUTTONlevel23:
total = 295200- valor2;
break;
case ID_BUTTONlevel24:
total = 330400- valor2;
break;
case ID_BUTTONlevel25:
total = 368300- valor2;
break;
case ID_BUTTONlevel26:
total = 409000- valor2;
break;
case ID_BUTTONlevel27:
total = 452600- valor2;
break;
case ID_BUTTONlevel28:
total = 499200- valor2;
break;
case ID_BUTTONlevel29:
total = 548900- valor2;
break;
case ID_BUTTONlevel30:
total = 601800- valor2;
break;
case ID_BUTTONlevel31:
total = 658000- valor2;
break;
case ID_BUTTONlevel32:
total = 717600- valor2;
break;
case ID_BUTTONlevel33:
total = 780700- valor2;
break;
case ID_BUTTONlevel34:
total = 847400- valor2;
break;
case ID_BUTTONlevel35:
total = 917800- valor2;
break;
case ID_BUTTONlevel36:
total = 992000- valor2;
break;
case ID_BUTTONlevel37:
total = 1070100- valor2;
break;
case ID_BUTTONlevel38:
total = 1152200- valor2;
break;
case ID_BUTTONlevel39:
total = 1238400- valor2;
break;
case ID_BUTTONlevel40:
total = 1328800- valor2;
break;
case ID_BUTTONlevel41:
total = 1423500- valor2;
break;
case ID_BUTTONlevel42:
total = 1522600- valor2;
break;
case ID_BUTTONlevel43:
total = 1626200- valor2;
break;
case ID_BUTTONlevel44:
total = 1734400- valor2;
break;
case ID_BUTTONlevel45:
total = 1847300- valor2;
break;
}

itoa (total,s_total,10);

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;
}

já que não consegui por um if fiz isto!
 
Agora que vi melhor, realmente não tinha muita lógica fazer um mega-if para essas opções todas. Um switch é bem melhor.
 
Última edição:
Back
Topo