#if defined(UNICODE) && !defined(_UNICODE) #define _UNICODE #elif defined(_UNICODE) && !defined(UNICODE) #define UNICODE #endif #include #include #include #include #include #include using namespace std; /* Declare Windows procedure */ LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM); /* Make the class name into a global variable */ TCHAR szClassName[ ] = _T("CodeBlocksWindowsApp"); HWND liczba_1_box; HWND liczba_2_box; HWND liczba_1; HWND liczba_2; HWND liczba_3; HWND czysc; HWND cofnij; HWND dodawanie; HWND odejmowanie; HWND mnozenie; HWND dzielenie; HWND modulo; HWND op_porownania; HWND mniejszy; HWND wiekszy; HWND rowny; HWND rozny; HWND kolo; HWND obwod; HWND pole; int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nCmdShow) { HWND hwnd; HWND dane; HWND liczba_3_box; HWND op_arytm; MSG messages; WNDCLASSEX wincl; /* The Window structure */ wincl.hInstance = hThisInstance; wincl.lpszClassName = szClassName; wincl.lpfnWndProc = WindowProcedure; /* This function is called by windows */ wincl.style = CS_DBLCLKS; /* Catch double-clicks */ wincl.cbSize = sizeof (WNDCLASSEX); /* Use default icon and mouse-pointer */ wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION); wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION); wincl.hCursor = LoadCursor (NULL, IDC_ARROW); wincl.lpszMenuName = NULL; /* No menu */ wincl.cbClsExtra = 0; /* No extra bytes after the window class */ wincl.cbWndExtra = 0; /* structure or the window instance */ /* Use Windows's default colour as the background of the window */ wincl.hbrBackground = CreateSolidBrush(RGB(5, 102, 141)); /* Register the window class, and if it fails quit the program */ if (!RegisterClassEx (&wincl)) return 0; /* The class is registered, let's create the program*/ hwnd = CreateWindowEx ( 0, szClassName, _T("Kalkulator PG 1F "), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 700, 600, HWND_DESKTOP, NULL, hThisInstance, NULL ); dane = CreateWindowEx(0, "BUTTON", "DANE", WS_CHILD | WS_VISIBLE | BS_GROUPBOX, 40, 10, 600, 80, hwnd, NULL, hThisInstance, NULL); liczba_1_box = CreateWindowEx(0, "BUTTON", "a", WS_CHILD | WS_VISIBLE | BS_GROUPBOX, 50, 30, 100, 50, hwnd, NULL, hThisInstance, NULL); liczba_1 = CreateWindowEx(0, "EDIT", "0", WS_CHILD | WS_VISIBLE | ES_RIGHT, 60, 50, 70, 20, hwnd, NULL, hThisInstance, NULL); liczba_2 = CreateWindowEx(0, "EDIT", "0", WS_CHILD | WS_VISIBLE | ES_RIGHT, 160, 50, 70, 20, hwnd, NULL, hThisInstance, NULL); liczba_2_box = CreateWindowEx(0, "BUTTON", "b", WS_CHILD | WS_VISIBLE | BS_GROUPBOX, 150, 30, 100, 50, hwnd, NULL, hThisInstance, NULL); liczba_3 = CreateWindowEx(0, "EDIT", "0", WS_CHILD | WS_VISIBLE | ES_RIGHT, 280, 50, 140, 20, hwnd, NULL, hThisInstance, NULL); liczba_3_box = CreateWindowEx(0, "BUTTON", "WYNIK", WS_CHILD | WS_VISIBLE | BS_GROUPBOX, 260, 30, 180, 50, hwnd, NULL, hThisInstance, NULL); czysc = CreateWindowEx(0, "BUTTON", "CZYSC", WS_CHILD | WS_VISIBLE, 480, 25, 140, 60, hwnd, NULL, hThisInstance, NULL); op_arytm = CreateWindowEx(0, "BUTTON", "ARYTMETYKA", WS_CHILD | WS_VISIBLE | BS_GROUPBOX, 40, 100, 200, 430, hwnd, NULL, hThisInstance, NULL); dodawanie = CreateWindowEx(0, "BUTTON", "DODAWANIE", WS_CHILD | WS_VISIBLE, 40, 130, 200, 75, hwnd, NULL, hThisInstance, NULL); odejmowanie = CreateWindowEx(0, "BUTTON", "ODEJMOWANIE", WS_CHILD | WS_VISIBLE, 40, 205, 200, 75, hwnd, NULL, hThisInstance, NULL); mnozenie = CreateWindowEx(0, "BUTTON", "MNO¯ENIE", WS_CHILD | WS_VISIBLE, 40, 280, 200, 75, hwnd, NULL, hThisInstance, NULL); dzielenie = CreateWindowEx(0, "BUTTON", "DZIELENIE", WS_CHILD | WS_VISIBLE, 40, 355, 200, 75, hwnd, NULL, hThisInstance, NULL); modulo = CreateWindowEx(0, "BUTTON", "DZIELENIE MODULO", WS_CHILD | WS_VISIBLE, 40, 430, 200, 75, hwnd, NULL, hThisInstance, NULL); op_porownania = CreateWindowEx(0, "BUTTON", "PORÓWNANIE", WS_CHILD | WS_VISIBLE | BS_GROUPBOX, 400, 100, 200, 430, hwnd, NULL, hThisInstance, NULL); mniejszy = CreateWindowEx(0, "BUTTON", "a < b", WS_CHILD | WS_VISIBLE, 400, 120, 200, 100, hwnd, NULL, hThisInstance, NULL); wiekszy = CreateWindowEx(0, "BUTTON", " a> b", WS_CHILD | WS_VISIBLE, 400, 220, 200, 100, hwnd, NULL, hThisInstance, NULL); rowny = CreateWindowEx(0, "BUTTON", "a == b", WS_CHILD | WS_VISIBLE, 400, 320, 200, 100, hwnd, NULL, hThisInstance, NULL); rozny = CreateWindowEx(0, "BUTTON", "a != b", WS_CHILD | WS_VISIBLE, 400, 420, 200, 100, hwnd, NULL, hThisInstance, NULL); kolo = CreateWindowEx(0, "BUTTON", "KOLO (r = a)", WS_CHILD | WS_VISIBLE | BS_GROUPBOX, 245, 100, 150, 430, hwnd, NULL, hThisInstance, NULL); obwod = CreateWindowEx(0, "BUTTON", "OBWOD ", WS_CHILD | WS_VISIBLE, 245, 120, 150, 200, hwnd, NULL, hThisInstance, NULL); pole = CreateWindowEx(0, "BUTTON", " POLE", WS_CHILD | WS_VISIBLE, 245, 320, 150, 200, hwnd, NULL, hThisInstance, NULL); /* Make the window visible on the screen */ ShowWindow (hwnd, nCmdShow); /* Run the message loop. It will run until GetMessage() returns 0 */ while (GetMessage (&messages, NULL, 0, 0)) { /* Translate virtual-key messages into character messages */ TranslateMessage(&messages); /* Send message to WindowProcedure */ DispatchMessage(&messages); } /* The program return-value is 0 - The value that PostQuitMessage() gave */ return messages.wParam; } double suma(double a, double b){ return a+b; } double odejm(double a, double b){ return a-b; } double mnoz(double a, double b){ return a*b; } double dziel(double a, double b){ if(b == 0){ return 0; } else{ return a/b; } } int dziel_modulo(int a, int b){ if(b == 0){ return 0; } else{ return a%b; } } char mniej(int a, int b){ if(a < b){ return 'T'; } else{ return 'F'; } } char wiek(int a, int b){ if(a > b){ return 'T'; } else{ return 'F'; } } char rown(int a, int b){ if(a == b){ return 'T'; } else{ return 'F'; } } char rozn(int a, int b){ if(a != b){ return 'T'; } else{ return 'F'; } } double Pi = 3.14; double obw(double r){ double wynik = 2 * Pi * r; return wynik; } double pol(double r){ return Pi * (r * r); } void zapis(int a, char z, int b, char c[16]){ fstream plik; plik.open("PiotrGalka_zapis.8", ios::app); plik<',b,wynik_porownania); } else if ((HWND) lParam == wiekszy){ GetWindowText(liczba_1, txt1, sizeof(txt1)); GetWindowText(liczba_2, txt2, sizeof(txt2)); a = atoi(txt1); b = atoi(txt2); wsprintf(wynik, "%d", wiek(a,b)); wynik_porownania[0] = wiek(a,b); SetWindowText(liczba_3, wynik_porownania); zapis(a,'<',b,wynik_porownania); } else if ((HWND) lParam == rowny){ GetWindowText(liczba_1, txt1, sizeof(txt1)); GetWindowText(liczba_2, txt2, sizeof(txt2)); a = atoi(txt1); b = atoi(txt2); wsprintf(wynik, "%d", wiek(a,b)); wynik_porownania[0] = rown(a,b); SetWindowText(liczba_3, wynik_porownania); zapis(a,'=',b,wynik_porownania); } else if ((HWND) lParam == rozny){ GetWindowText(liczba_1, txt1, sizeof(txt1)); GetWindowText(liczba_2, txt2, sizeof(txt2)); a = atoi(txt1); b = atoi(txt2); wsprintf(wynik, "%d", wiek(a,b)); wynik_porownania[0] = rozn(a,b); SetWindowText(liczba_3, wynik_porownania); zapis(a,'!',b,wynik_porownania); } break; default: /* for messages that we don't deal with */ return DefWindowProc (hwnd, message, wParam, lParam); } return 0; }