IFiZR Laboratorium 5 Info

Wielkość: px
Rozpocząć pokaz od strony:

Download "IFiZR Laboratorium 5 Info"

Transkrypt

1 IFiZR Laboratorium 5 Info File->New->Project->Windows Application (DevC++) Kurs WinAPI: #include <windows.h> #include <iostream> #include <stdlib.h> #include <math.h> Przykład 2 LPSTR NazwaKlasy = "Klasa Okienka"; MSG Komunikat; // definicja nazw kontrolek HWND hprzycisk1, hedit1, hedit2, hedit3, hedit4, hedit5, htekst1, htekst2; // definicja funkcji double CharToDouble(HWND okno); LRESULT CALLBACK Panel( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam ); // WinMain zamiast main int WINAPI WinMain( HINSTANCE hinstance, HINSTANCE hprevinstance, LPSTR lpcmdline, int ncmdshow ) { WNDCLASSEX wc; wc.cbsize = sizeof( WNDCLASSEX ); wc.style = 0; wc.lpfnwndproc = Panel; wc.cbclsextra = 0; wc.cbwndextra = 0; wc.hinstance = hinstance; wc.hicon = LoadIcon( NULL, IDI_APPLICATION ); wc.hcursor = LoadCursor( NULL, IDC_ARROW ); wc.hbrbackground =( HBRUSH )( COLOR_WINDOW+8); // kolor formatki poprzez zmiane liczby wc.lpszmenuname = NULL; wc.lpszclassname = NazwaKlasy; wc.hiconsm = LoadIcon( NULL, IDI_APPLICATION ); // rejestrowanie okna if(!registerclassex( & wc ) ) { MessageBox( NULL, "Blad rejestracji okna!", "Error.", MB_ICONEXCLAMATION MB_OK ); return 1;

2 //tworzenie panelu (okna) HWND hwnd=createwindowex( WS_EX_CLIENTEDGE, NazwaKlasy, "Panel obliczen", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 400, 400, NULL, NULL, hinstance, NULL ); if( hwnd == NULL ) { MessageBox( NULL, "Nie udalo sie utworzyc okna", "Error", MB_ICONEXCLAMATION ); return 1; ShowWindow( hwnd, ncmdshow ); UpdateWindow( hwnd ); // tworzenie kontrolek tj editow, buttonów itp htekst1=createwindowex( 0, "STATIC", "Podaj dane punktów P1(x1,y1) oraz P2 (x2,y2)", WS_CHILD WS_VISIBLE SS_CENTER, 90, 30, 200, 40, hwnd, NULL, hinstance, NULL ); htekst2=createwindowex( 0, "STATIC", "Wynik obliczen", WS_CHILD WS_VISIBLE, 110, 200, 120, 20, hwnd, NULL, hinstance, NULL ); hedit1 = CreateWindowEx( WS_EX_CLIENTEDGE, "EDIT", NULL, WS_CHILD WS_VISIBLE WS_BORDER, 50, 80, 60, 30, hwnd, NULL, hinstance, NULL ); hedit2 = CreateWindowEx( WS_EX_CLIENTEDGE, "EDIT", NULL, WS_CHILD WS_VISIBLE WS_BORDER, 110, 80, 60, 30, hwnd, NULL, hinstance, NULL ); hedit3 = CreateWindowEx( WS_EX_CLIENTEDGE, "EDIT", NULL, WS_CHILD WS_VISIBLE WS_VISIBLE, 200, 80, 60, 30, hwnd, NULL, hinstance, NULL ); hedit4 = CreateWindowEx( WS_EX_CLIENTEDGE, "EDIT", NULL, WS_CHILD WS_VISIBLE WS_VISIBLE, 260, 80, 60, 30, hwnd, NULL, hinstance, NULL ); hedit5 = CreateWindowEx( WS_EX_CLIENTEDGE, "EDIT", NULL, WS_CHILD WS_DISABLED WS_VISIBLE, 100, 250, 150, 30, hwnd, NULL, hinstance, NULL ); hprzycisk1 = CreateWindowEx( 0, "BUTTON", " Licz dlugosc odcinka ", WS_CHILD WS_VISIBLE, 90, 150, 180, 30, hwnd, NULL, hinstance, NULL ); // UWAGA! Pętla komunikatów - przechwytyje wszelkie komunikaty while( GetMessage( & Komunikat, NULL, 0, 0 ) ) { TranslateMessage( & Komunikat ); DispatchMessage( & Komunikat ); return Komunikat.wParam; // obsluga zdarzen - czyli co ma wydarzyc sie po uzyciu danej kontrolki - nacisnieciu, wpisaniu, wybraniu itp LRESULT CALLBACK Panel( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { switch( msg ) { // obsługa zdarzenia zamykania okna case WM_CLOSE: DestroyWindow( hwnd ); case WM_DESTROY: PostQuitMessage( 0 );

3 // obsluga zdarzen "nacisniecia" jednego z przycieskow case WM_COMMAND: double liczba1, liczba2, liczba3, liczba4, wynik; char wynikchar[20]; // kontrolki rozroznia sie po nazwie - uchwycie // kiedy zostanie nacisniety jeden z przyciskow if( (HWND)lParam == hprzycisk1 ) { int textlength1 = GetWindowTextLength(hEdit1) + 1; int textlength2 = GetWindowTextLength(hEdit2) + 1; int textlength3 = GetWindowTextLength(hEdit3) + 1; int textlength4 = GetWindowTextLength(hEdit4) + 1; if(textlength1==1 textlength2==1 textlength3==1 textlength4==1) { int odp=messagebox( NULL, "Wpisz dane", "Brak wszystkich danych", MB_OK MB_ICONWARNING); return 0; liczba1=chartodouble(hedit1); liczba2=chartodouble(hedit2); liczba3=chartodouble(hedit3); liczba4=chartodouble(hedit4); wynik=sqrt(pow(liczba3-liczba1, 2) + pow(liczba4-liczba2, 2)); sprintf(wynikchar,"%0.8f",wynik); SetWindowText( hedit5, wynikchar); default: return DefWindowProc( hwnd, msg, wparam, lparam ); return 0; // przykladowa funkcja - konwersja double CharToDouble(HWND okno) { int textlength= GetWindowTextLength(okno) + 1; char *textbuffer = new char[textlength]; GetWindowText(okno, textbuffer, textlength); double liczba=atof(textbuffer); delete []textbuffer; return liczba;

4 #include <windows.h> #include <iostream> #include <stdlib.h> #include "interval.h" Przykład 1 #define ID_RB1 101 #define ID_RB2 102 #define ID_CB1 103 #define ID_P6 104 #define ID_T3 105 LPSTR NazwaKlasy = "Klasa Okienka"; MSG Komunikat; // definicja nazw kontrolek HWND hprzycisk1, hprzycisk2, hprzycisk3, hprzycisk4, hprzycisk5, hprzycisk6, hedit1, hedit2, hedit3, hedit4, hedit5, htekst1, htekst2, htekst3, hrb1, hrb2, hcb1; // deklaracja własnej funkcji double CharToDouble(HWND okno); LRESULT CALLBACK Panel( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam ); // WinMain zamiast main int WINAPI WinMain( HINSTANCE hinstance, HINSTANCE hprevinstance, LPSTR lpcmdline, int ncmdshow ) { WNDCLASSEX wc; wc.cbsize = sizeof( WNDCLASSEX ); wc.style = 0; wc.lpfnwndproc = Panel; wc.cbclsextra = 0; wc.cbwndextra = 0; wc.hinstance = hinstance; wc.hicon = LoadIcon( NULL, IDI_APPLICATION ); wc.hcursor = LoadCursor( NULL, IDC_ARROW ); wc.hbrbackground =( HBRUSH )( COLOR_WINDOW+23); // kolor formatki poprzez zmiane liczby wc.lpszmenuname = NULL; wc.lpszclassname = NazwaKlasy; wc.hiconsm = LoadIcon( NULL, IDI_APPLICATION ); // rejestrowanie okna if(!registerclassex( & wc ) ) { MessageBox( NULL, "Blad rejestracji okna!", "Error.", MB_ICONEXCLAMATION MB_OK ); return 1; //tworzenie panelu (okna) HWND hwnd=createwindowex( WS_EX_CLIENTEDGE, NazwaKlasy, "Panel obliczen", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 800, 450, NULL, NULL, hinstance, NULL ); if( hwnd == NULL ) { MessageBox( NULL, "Nie udalo sie utworzyc okna", "Error", MB_ICONEXCLAMATION ); return 1;

5 ShowWindow( hwnd, ncmdshow ); UpdateWindow( hwnd ); // tworzenie kontrolek tj editow, buttonów itp htekst1=createwindowex( 0, "STATIC", "Podaj dane", WS_CHILD WS_VISIBLE SS_CENTER, 100, 50, 120, 20, hwnd, NULL, hinstance, NULL ); htekst2=createwindowex( 0, "STATIC", "Wynik obliczen", WS_CHILD WS_VISIBLE, 100, 200, 120, 20, hwnd, NULL, hinstance, NULL ); htekst3=createwindowex( 0, "STATIC", "", WS_CHILD WS_VISIBLE, 570, 100, 130, 20, hwnd, (HMENU) ID_T3, hinstance, NULL ); hedit1 = CreateWindowEx( WS_EX_CLIENTEDGE, "EDIT", NULL, WS_CHILD WS_VISIBLE WS_BORDER, 100, 100, 80, 30, hwnd, NULL, hinstance, NULL ); hedit2 = CreateWindowEx( WS_EX_CLIENTEDGE, "EDIT", NULL, WS_CHILD WS_VISIBLE WS_BORDER, 200, 100, 80, 30, hwnd, NULL, hinstance, NULL ); hedit3 = CreateWindowEx( WS_EX_CLIENTEDGE, "EDIT", NULL, WS_CHILD WS_DISABLED WS_VISIBLE, 100, 250, 150, 30, hwnd, NULL, hinstance, NULL ); hedit4 = CreateWindowEx( WS_EX_CLIENTEDGE, "EDIT", NULL, WS_CHILD WS_DISABLED WS_BORDER, 100, 280, 60, 30, hwnd, NULL, hinstance, NULL ); hedit5 = CreateWindowEx( WS_EX_CLIENTEDGE, "EDIT", NULL, WS_CHILD WS_DISABLED WS_BORDER, 170, 280, 60, 30, hwnd, NULL, hinstance, NULL ); hprzycisk1 = CreateWindowEx( 0, "BUTTON", "+", WS_CHILD WS_VISIBLE, 100, 150, 30, 30, hwnd, NULL, hinstance, NULL ); hprzycisk2 = CreateWindowEx( 0, "BUTTON", "-", WS_CHILD WS_VISIBLE, 140, 150, 30, 30, hwnd, NULL, hinstance, NULL ); hprzycisk3 = CreateWindowEx( 0, "BUTTON", "*", WS_CHILD WS_VISIBLE, 180, 150, 30, 30, hwnd, NULL, hinstance, NULL ); hprzycisk4 = CreateWindowEx( 0, "BUTTON", "/", WS_CHILD WS_VISIBLE, 220, 150, 30, 30, hwnd, NULL, hinstance, NULL ); hprzycisk5 = CreateWindowEx( 0, "BUTTON", "p^2", WS_CHILD WS_VISIBLE, 260, 150, 40, 30, hwnd, NULL, hinstance, NULL ); hprzycisk6 = CreateWindowEx( 0, "BUTTON", "Analizuj", WS_CHILD WS_VISIBLE, 420, 220, 120, 30, hwnd, (HMENU) ID_P6, hinstance, NULL ); hrb1 = CreateWindowEx(WS_EX_CLIENTEDGE, "BUTTON", "Opcja 1", WS_CHILD WS_VISIBLE BS_AUTORADIOBUTTON, 400, 100, 150, 20, hwnd, (HMENU) ID_RB1, hinstance, NULL ); hrb2 = CreateWindowEx(WS_EX_CLIENTEDGE, "BUTTON", "Opcja 2", WS_CHILD WS_VISIBLE BS_AUTORADIOBUTTON, 400, 135, 150, 20, hwnd, (HMENU) ID_RB2, hinstance, NULL ); hcb1 = CreateWindowEx(WS_EX_CLIENTEDGE, "BUTTON", "Checkbox", WS_CHILD WS_VISIBLE BS_AUTOCHECKBOX, 400, 180, 150, 20, hwnd, (HMENU) ID_CB1, hinstance, NULL ); // UWAGA! Pętla komunikatów - przechwytyje wszelkie komunikaty while( GetMessage( & Komunikat, NULL, 0, 0 ) ) { TranslateMessage( & Komunikat ); DispatchMessage( & Komunikat ); return Komunikat.wParam; // obsluga zdarzen - czyli co ma wydarzyc sie po uzyciu danej kontrolki - nacisnieciu, wpisaniu, wybraniu itp LRESULT CALLBACK Panel( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { switch( msg ) { // obsługa zdarzenia zamykania okna case WM_CLOSE: DestroyWindow( hwnd ); case WM_DESTROY: PostQuitMessage( 0 ); // obsluga zdarzen "nacisniecia" jednego z przycieskow case WM_COMMAND: double liczba1, liczba2, wynik; char *wynikchar;

6 // kontrolki rozroznia sie po nazwie - uchwycie // kiedy zostanie nacisniety jeden z przyciskow if( (HWND)lParam == hprzycisk1 (HWND)lParam == hprzycisk2 (HWND)lParam == hprzycisk3 (HWND)lParam == hprzycisk4 (HWND)lParam == hprzycisk5) { int textlength1 = GetWindowTextLength(hEdit1) + 1; int textlength2 = GetWindowTextLength(hEdit2) + 1; if(textlength1==1 textlength2==1) { int odp=messagebox( NULL, "Wpisz dane", "Brak wszystkich danych", MB_YESNOCANCEL MB_ICONWARNING); if(odp==6) // 1-OK 2-Anuluj(Cancel) 3-Przerwij(Abort) 4-Ponów próbę(retry) 5-Ignoruj(Ignore) 6-Tak(Yes) 7-Nie(No) MessageBox(HWND_DESKTOP,"Nacisnąłeś przycisk TAK","Informacja",MB_OK); return 0; liczba1=chartodouble(hedit1); liczba2=chartodouble(hedit2); wynikchar=new char[textlength1+textlength2+10]; // ukrywanie i odkrywanie Editow 3->wynik + - * / 4 i 5 wynik operacji na przedziale if(( HWND ) lparam == hprzycisk5) { ShowWindow(hEdit4, SW_SHOW); ShowWindow(hEdit5, SW_SHOW); ShowWindow(hEdit3, SW_HIDE); else { ShowWindow(hEdit4, SW_HIDE); ShowWindow(hEdit5, SW_HIDE); ShowWindow(hEdit3, SW_SHOW); //realizacja obliczen if(( HWND ) lparam == hprzycisk1 ) wynik=liczba1+liczba2; if(( HWND ) lparam == hprzycisk2 ) wynik=liczba1-liczba2; if(( HWND ) lparam == hprzycisk3 ) wynik=liczba1*liczba2; if(( HWND ) lparam == hprzycisk4 ) wynik=liczba1/liczba2; // potegowanie przedzialu if(( HWND ) lparam == hprzycisk5 ) { SetWindowText( hedit4, szer_inter(liczba1, liczba2, 1) ); SetWindowText( hedit5, szer_inter(liczba1, liczba2, 2) ); delete []wynikchar; if( (HWND)lParam == hprzycisk1 (HWND)lParam == hprzycisk2 (HWND)lParam == hprzycisk3 (HWND)lParam == hprzycisk4 ) { sprintf(wynikchar,"%0.8f",wynik); SetWindowText( hedit3, wynikchar); delete []wynikchar;

7 // troszke inaczej - uwzgledninie identyfikatorów kontrolek zdefiniowanych poprzez #define if(( HWND ) lparam == hrb1 ( HWND ) lparam == hrb2 ( HWND ) lparam == hcb1 ( HWND ) lparam == hprzycisk6) { switch( wparam ) { case ID_RB1: SetWindowText( htekst3, "Aktywna opcja 1" ); case ID_RB2: SetWindowText( htekst3, "Aktywna opcja 2" ); case ID_CB1: if(isdlgbuttonchecked(hwnd, ID_CB1 ) == BST_CHECKED) { SetWindowText( htekst3, "Zaznaczono CB"); else SetWindowText( htekst3, "Odznaczono CB"); case ID_P6: if(isdlgbuttonchecked(hwnd, ID_RB1 ) == BST_CHECKED) MessageBox( hwnd, "Wybrano opcję 1", "Info", MB_ICONINFORMATION ); if(isdlgbuttonchecked(hwnd, ID_RB2 ) == BST_CHECKED) MessageBox( hwnd, "Wybrano opcję 2", "Info", MB_ICONINFORMATION ); default: MessageBox( hwnd, "Obiekt widmo;)", "Info", MB_ICONINFORMATION); //CheckDlgButton( hwnd, ID_CB1, BST_CHECKED ); //ustaw "fajeczkę" //CheckDlgButton( hwnd, ID_CB1, BST_UNCHECKED ); //usuń "fajeczkę" default: return DefWindowProc( hwnd, msg, wparam, lparam ); return 0;

8 // przykladowa funkcja - konwersja double CharToDouble(HWND okno) { int textlength= GetWindowTextLength(okno) + 1; char *textbuffer = new char[textlength]; GetWindowText(okno, textbuffer, textlength); double liczba=atof(textbuffer); delete []textbuffer; return liczba; ********************** plik nagłówkowy interval.h ******************* #ifndef INTERVAL_H #define INTERVAL_H #include<math.h> using namespace std; class interval { private: double pocz, kon; public: interval() {pocz=0; kon=0; interval(double x, double y) {pocz=x; kon=y; void ustal_pocz(double x) {pocz=x; void ustal_kon(double x) { kon=x; double zwroc_pocz() {return pocz; double zwroc_kon() {return kon; void wyswietl() { cout<<endl<<" ["<<pocz<<","<<kon<<"]"<<endl; ; interval operator+(interval A, interval B) { interval W; W.ustal_pocz(A.zwroc_pocz()+B.zwroc_pocz()); W.ustal_kon(A.zwroc_kon()+B.zwroc_kon()); return W;

9 interval operator*(interval A, interval B) { interval W; double Ap, Ak, Bp, Bk; Ap=A.zwroc_pocz(); Ak=A.zwroc_kon(); Bp=B.zwroc_pocz(); Bk=B.zwroc_kon(); W.ustal_pocz(min(Ap*Bp, min(ap*bk, min(ak*bp, Ak*Bk)))); W.ustal_kon(max(Ap*Bp, max(ap*bk, max(ak*bp, Ak*Bk)))); return W; char* szer_inter(double x, double y, int z) { interval A(x,y); A=A*A; char *W; W=new char[20]; if(z==1) { sprintf(w,"%0.3f",a.zwroc_pocz()); else sprintf(w,"%0.3f",a.zwroc_kon()); return W; delete []W; #endif

Podstawy programowania w języku C dla środowiska Windows

Podstawy programowania w języku C dla środowiska Windows Podstawy programowania w języku C dla środowiska Windows Część pierwsza Windows API wprowadzenie Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera

Bardziej szczegółowo

Projektowanie i programowanie aplikacji biznesowych. Wykład 2

Projektowanie i programowanie aplikacji biznesowych. Wykład 2 Projektowanie i programowanie aplikacji biznesowych Wykład 2 Kontrolki w Windows API Aby korzystać z kontrolek należy dołączyć plik nagłówkowy o nazwie commctrl.h oraz bibliotekę o nazwie libcomctl32.a.

Bardziej szczegółowo

Procedura okna: LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam);

Procedura okna: LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam); 1. Pierwszy program pod Windows 1/8 Procedura okna: LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam); UINT unsigned int DWORD 32-bitowy unsigned int. LPSTR - wskaźnik do

Bardziej szczegółowo

Programowanie w środowisku Windows. mgr inż. Krzysztof Mossakowski k.mossakowski@mini.pw.edu.pl http://www.mini.pw.edu.

Programowanie w środowisku Windows. mgr inż. Krzysztof Mossakowski k.mossakowski@mini.pw.edu.pl http://www.mini.pw.edu. Programowanie w środowisku Windows mgr inż. k.mossakowski@mini.pw.edu.pl Plan wykładu 1. Okna, komunikaty, czas, błędy 2. Typy, struktury, makra, mysz, klawiatura, wersje 3. GDI 4. Zasoby, okna dialogowe,

Bardziej szczegółowo

Podstawy programowania w języku C dla środowiska Windows

Podstawy programowania w języku C dla środowiska Windows Podstawy programowania w języku C dla środowiska Windows Część druga Windows API pierwsze kroki Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera

Bardziej szczegółowo

Podstawowy projekt OpenGL utworzony przy użyciu środowisk programistycznych firmy Microsoft.

Podstawowy projekt OpenGL utworzony przy użyciu środowisk programistycznych firmy Microsoft. Podstawowy projekt OpenGL utworzony przy użyciu środowisk programistycznych firmy Microsoft. Autor: Radosław Płoszajczak Spis treści I. Wymagania i utworzenie projektu w Visual Studio 2005...2 II. Absolutne

Bardziej szczegółowo

Programowanie w środowiskach RAD Język C++ w środowiskach RAD

Programowanie w środowiskach RAD Język C++ w środowiskach RAD Programowanie w środowiskach RAD Język C++ w środowiskach RAD Roman Simiński roman.siminski@us.edu.pl www.siminskionline.pl Programowanie sterowane zdarzeniami Geneza, koncepcja, rodzaje, przykłady Jeszcze

Bardziej szczegółowo

Wprowadzenie do programowania w Windows

Wprowadzenie do programowania w Windows Wprowadzenie do programowania w Windows Sławomir Samolej Rzeszów, 1999 1. Wstęp Od kilku lat dominującym systemem operacyjnym na rynku komputerów osobistych jest Microsoft Windows. Wersje systemu Windows

Bardziej szczegółowo

Laboratorium Grafiki Komputerowej i Animacji. Ćwiczenie I. Wprowadzenie do programowania w Windows

Laboratorium Grafiki Komputerowej i Animacji. Ćwiczenie I. Wprowadzenie do programowania w Windows Laboratorium Grafiki Komputerowej i Animacji Ćwiczenie I Wprowadzenie do programowania w Windows Sławomir Samolej Rzeszów, 2012 1. Wstęp Od kilku lat dominującym systemem operacyjnym na rynku komputerów

Bardziej szczegółowo

1.1. Programowanie dla Windows. Programowanie dla Windows. Komunikaty w systemie Windows. Application Programming Interface

1.1. Programowanie dla Windows. Programowanie dla Windows. Komunikaty w systemie Windows. Application Programming Interface 1 Katedra Optoelektroniki i Systemów Elektronicznych 2 Oprogramowanie Systemów Elektronicznych Zagadnienia: Temat wykładu 1. 2. Etapy tworzenia okna 3. 4. 5. 6. 3 Application Programming Interface 4 jest

Bardziej szczegółowo

Tworzenie aplikacji dla Windows. Od prostych programów do gier komputerowych

Tworzenie aplikacji dla Windows. Od prostych programów do gier komputerowych Tworzenie aplikacji dla Windows. Od prostych programów do gier komputerowych Autor: Pawe³ Borkowski ISBN: 978-83-246-1881-1 Format: 158x235, stron: 456 Poznaj tajniki tworzenia aplikacji dla Windows Jak

Bardziej szczegółowo

1. Wstęp. 2. Szablon. 1 WinApi Wstęp i szablon. Czym jest API?

1. Wstęp. 2. Szablon. 1 WinApi Wstęp i szablon. Czym jest API? 1 WinApi Wstęp i szablon 1. Wstęp Czym jest API? API Windows to zestaw funkcji, które pozwalają zbudować praktycznie dowolną aplikację działającą w systemach Windows 95, 98, NT, 2000 oraz CE. Za ich pomocą

Bardziej szczegółowo

Projektowanie i programowanie aplikacji biznesowych. Wykład 4

Projektowanie i programowanie aplikacji biznesowych. Wykład 4 Projektowanie i programowanie aplikacji biznesowych Wykład 4 1 Kontrolka ListView ListView to jedna z przydatniejszych kontrolek, pozwalająca wyświetlać informacje w postaci tabeli. Przed utworzeniem kontrolki

Bardziej szczegółowo

I - Microsoft Visual Studio C++

I - Microsoft Visual Studio C++ I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i

Bardziej szczegółowo

wykład IV uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C, a C++. wykład IV dr Jarosław Mederski Spis Język C++ - wstęp

wykład IV uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C, a C++. wykład IV dr Jarosław Mederski Spis Język C++ - wstęp Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 2 3 4 Historia C++ został zaprojektowany w 1979 przez Bjarne Stroustrupa jako rozszerzenie języka C o obiektowe mechanizmy abstrakcji danych i

Bardziej szczegółowo

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Zagadnienia 1. Delegaty wiązane, właściwości indeksowane 2. Delegaty niewiązane 3. Nowa wersja kalkulatora, delegaty

Bardziej szczegółowo

Programowanie na poziomie sprzętu. Programowanie w Windows API

Programowanie na poziomie sprzętu. Programowanie w Windows API Programowanie w Windows API Windows API Windows Application Programming Interface (API) to zestaw funkcji systemu operacyjnego Windows, które umożliwiają aplikacjom korzystanie z wszystkich usług systemu.

Bardziej szczegółowo

PROE wykład 8 Interfejs użytkownika (GUI) dr inż. Jacek Naruniec

PROE wykład 8 Interfejs użytkownika (GUI) dr inż. Jacek Naruniec PROE wykład 8 Interfejs użytkownika (GUI) dr inż. Jacek Naruniec Co to jest GUI? Graphical User Interface (GUI), czyli po prostu interfejs użytkownika (UI). Najpopularniejsze GUI dla C++: Qt WinAPI MFC

Bardziej szczegółowo

Załącznik do ćwiczenia w środowisku MASM32 wersji 10. Tryb graficzny w systemie Windows

Załącznik do ćwiczenia w środowisku MASM32 wersji 10. Tryb graficzny w systemie Windows Załącznik do ćwiczenia w środowisku MASM32 wersji 10 7.7. Programowanie aplikacji graficznej Tryb graficzny w systemie Windows 7.7.1. Współdziałanie aplikacji graficznej z systemem Windows Aplikacja graficzna

Bardziej szczegółowo

Procedura okna: LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam);

Procedura okna: LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam); 1. Pierwszy program pod Windows 1/8 Procedura okna: LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam); UINT unsigned int DWORD 32-bitowy unsigned int. LPSTR - wskanik do łacuch

Bardziej szczegółowo

Programowanie pod Windows

Programowanie pod Windows Programowanie pod Windows Wersja 0.99 Uwaga: notatki są w fazie rozwoju. Brakujące elementy będą sukcesywnie uzupełniane. Dokument może być bez zgody autora rozpowszechniany, zabrania się jedynie czerpania

Bardziej szczegółowo

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 3. Instrukcje wyboru

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 3. Instrukcje wyboru JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Laboratorium 3 Instrukcje wyboru 1 INSTRUKCJE WYBORU Instrukcje sterujące to takie instrukcje, które sterują przebiegiem programu w zależności od spełnienia

Bardziej szczegółowo

Część 4 życie programu

Część 4 życie programu 1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część

Bardziej szczegółowo

wykład V uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C++ klasy i obiekty wykład V dr Jarosław Mederski Spis Język C++ - klasy

wykład V uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C++ klasy i obiekty wykład V dr Jarosław Mederski Spis Język C++ - klasy i obiekty Programowanie i obiekty uzupełnienie notatek: dr Jerzy Białkowski i obiekty 1 2 3 4 i obiekty Obiektowość języka C++ Na tym wykładzie poznamy: ˆ Klasa (w języku C++ rozszerzenie struktury, typ

Bardziej szczegółowo

Programowanie w języku C++ z użyciem Windows API

Programowanie w języku C++ z użyciem Windows API Programowanie w języku C++ z użyciem Windows API Autor: Mateusz Ferenc Data opracowania: 30 maja 2012 r. Windows API jest jedną z bibliotek programistycznych przeznaczonych do pisania programów na platformę

Bardziej szczegółowo

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float

Bardziej szczegółowo

Microsoft IT Academy kurs programowania

Microsoft IT Academy kurs programowania Microsoft IT Academy kurs programowania Podstawy języka C# Maciej Hawryluk Język C# Język zarządzany (managed language) Kompilacja do języka pośredniego (Intermediate Language) Kompilacja do kodu maszynowego

Bardziej szczegółowo

2.4 Dziedziczenie. 2.4 Dziedziczenie Przykłady programowania w C - kurs podstawowy

2.4 Dziedziczenie. 2.4 Dziedziczenie Przykłady programowania w C - kurs podstawowy 2.4 Dziedziczenie Poprzednie dwa rozdziały które dotyczyły zagadnienia automatów komórkowych na przykładach programów w C++. Mogłyby one sugerować że niekoniecznie trzeba programować obiektowo aby napisać

Bardziej szczegółowo

Metody Metody, parametry, zwracanie wartości

Metody Metody, parametry, zwracanie wartości Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Metody Metody, parametry, zwracanie wartości Metody - co to jest i po co? Metoda to wydzielona część klasy, mająca

Bardziej szczegółowo

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16 M. Trzebiński C++ 1/16 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IFJ PAN 6lipca2015 Uruchomienie maszyny w CC1 M. Trzebiński C++ 2/16

Bardziej szczegółowo

Podstawy programowania skrót z wykładów:

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

Wstęp do wiadomości teoretycznych (nie, nie jest to masło maślane ani wstęp, wstępów proszę cierpliwie czytać)

Wstęp do wiadomości teoretycznych (nie, nie jest to masło maślane ani wstęp, wstępów proszę cierpliwie czytać) Języki i Paradygmaty Programowania Laboratorium 1 Obiekty i klasy C++ Wstęp do wiadomości teoretycznych (nie, nie jest to masło maślane ani wstęp, wstępów proszę cierpliwie czytać) UWAGA! Umiejętność tworzenia

Bardziej szczegółowo

Projektowanie klas c.d. Projektowanie klas przykład

Projektowanie klas c.d. Projektowanie klas przykład Projektowanie klas c.d. ogólne wskazówki dotyczące projektowania klas: o wyodrębnienie klasy odpowiedź na potrzeby życia (obsługa rozwiązania konkretnego problemu) o zwykle nie uda się utworzyć idealnej

Bardziej szczegółowo

Obliczenie azymutu ze współrzędnych wersja C++ Builder

Obliczenie azymutu ze współrzędnych wersja C++ Builder Obliczenie azymutu ze współrzędnych wersja C++ Builder Specyfikacja problemu algorytmicznego Problem algorytmiczny: Obliczenie azymutów i długości, gdy dana jest tablica współrzędnych punktów (Nr X Y).

Bardziej szczegółowo

Do nich też i tylko do nich będzie się w tym rozdziale odnosić sam termin okno.

Do nich też i tylko do nich będzie się w tym rozdziale odnosić sam termin okno. 2 ANATOMIA OKNA Nauczycielem wszystkiego jest praktyka. Juliusz Cezar W systemie Windows składniki interfejsu użytkownika nazywamy oknami. Nadmieniłem w poprzednim rozdziale, iż określeniem tym obdarzamy

Bardziej szczegółowo

Cechy systemu Windows

Cechy systemu Windows Cechy systemu Windows Wielozadaniowość Współdzielenie zasobów sprzętowych: ekran klawiatura mysz pamięć dysk Wymiana danych pomiędzy aplikacjami Niezależna sprzętowo grafika Zdefiniowany w systemie interfejs

Bardziej szczegółowo

wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis

wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis i cz. 2 Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 i cz. 2 2 i cz. 2 3 Funkcje i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje instrukcje } i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki int getmax (int a, int b) { return (a > b? a : b); float getmax (float a, float b) { return (a > b? a : b); long getmax (long a, long b)

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

3 Przygotował: mgr inż. Maciej Lasota

3 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 3 1/8 Język C Instrukcja laboratoryjna Temat: Instrukcje warunkowe, pętle. 3 Przygotował: mgr inż. Maciej Lasota 1) Instrukcje warunkowe. Instrukcje warunkowe pozwalają zdefiniować warianty

Bardziej szczegółowo

Rodzina protokołów TCP/IP. Aplikacja: ipconfig.

Rodzina protokołów TCP/IP. Aplikacja: ipconfig. Rodzina protokołów TCP/IP. Aplikacja: ipconfig. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Specyfikacja struktury FIXED_INFO Nazwa struktury:

Bardziej szczegółowo

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe Wykład 15 Wprowadzenie do języka na bazie a Literatura Podobieństwa i różnice Literatura B.W.Kernighan, D.M.Ritchie Język ANSI Kompilatory Elementarne różnice Turbo Delphi FP Kylix GNU (gcc) GNU ++ (g++)

Bardziej szczegółowo

Wykład 9 2014-06-20 09:37 PP2_W9

Wykład 9 2014-06-20 09:37 PP2_W9 Wykład 9 Przykłady programów z wykorzystaniem klas - przykład funkcji operatorowych - obiektowa implementacja listy jednokierunkowej kopiowanie obiektów - klasa "latający napis" Pozycjonowanie w plikach

Bardziej szczegółowo

Programowanie strukturalne i obiektowe

Programowanie strukturalne i obiektowe Programowanie strukturalne i obiektowe Język C część I Opracował: Grzegorz Flesik Literatura: A. Majczak, Programowanie strukturalne i obiektowe, Helion, Gliwice 2010 P. Domka, M. Łokińska, Programowanie

Bardziej szczegółowo

W2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy :

W2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy : Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy : class nazwa_klasy prywatne dane i funkcje public: publiczne dane i funkcje lista_obiektów;

Bardziej szczegółowo

ROZDZIAŁ 2. Operatory

ROZDZIAŁ 2. Operatory Bibliografia [1] Jerzy Grębosz, Symfonia C++, Oficyna Kallimach, Kraków, 1999, [2] Jerzy Grębosz, Pasja C++, Oficyna Kallimach, Kraków, 1999, [3] Bjarne Stroustrup, Język C++, WNT, Warszawa, 1997, [4]

Bardziej szczegółowo

Modelowanie numeryczne w fizyce atmosfery Ćwiczenia 3

Modelowanie numeryczne w fizyce atmosfery Ćwiczenia 3 Modelowanie numeryczne w fizyce atmosfery Sylwester Arabas (ćwiczenia do wykładu dr. hab. inż. Lecha Łobockiego) Instytut Geofizyki, Wydział Fizyki Uniwersytetu Warszawskiego 3. listopada 2011 r. Schemat

Bardziej szczegółowo

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje. Podstawowe elementy proceduralne w C++ Program i wyjście Zmienne i arytmetyka Wskaźniki i tablice Testy i pętle Funkcje Pierwszy program // Niezbędne zaklęcia przygotowawcze ;-) #include using

Bardziej szczegółowo

Wykład 4: Klasy i Metody

Wykład 4: Klasy i Metody Wykład 4: Klasy i Metody Klasa Podstawa języka. Każde pojęcie które chcemy opisać w języku musi być zawarte w definicji klasy. Klasa definiuje nowy typ danych, których wartościami są obiekty: klasa to

Bardziej szczegółowo

Programowanie obiektowe język C++

Programowanie obiektowe język C++ Programowanie obiektowe język C++ Dr inż. Sławomir Samolej D108A, tel: 865 1486, email: ssamolej@prz-rzeszow.pl WWW: ssamolej.prz-rzeszow.pl Podziękowanie: Chcę podziękować dr inż.. Grzegorzowi Hałdasiowi

Bardziej szczegółowo

Rysowanie punktów na powierzchni graficznej

Rysowanie punktów na powierzchni graficznej Rysowanie punktów na powierzchni graficznej Tworzenie biblioteki rozpoczniemy od podstawowej funkcji graficznej gfxplot() - rysowania pojedynczego punktu na zadanych współrzędnych i o zadanym kolorze RGB.

Bardziej szczegółowo

Język C++ wykład VII. uzupełnienie notatek: dr Jerzy Białkowski. Programowanie C/C++ Język C++ wykład VII. dr Jarosław Mederski. Spis.

Język C++ wykład VII. uzupełnienie notatek: dr Jerzy Białkowski. Programowanie C/C++ Język C++ wykład VII. dr Jarosław Mederski. Spis. Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 2 3 4 Obiektowość języka C++ ˆ Klasa (rozszerzenie struktury), obiekt instancją klasy, konstruktory i destruktory ˆ Enkapsulacja - kapsułkowanie,

Bardziej szczegółowo

Programowanie Procedurale

Programowanie Procedurale Programowanie Procedurale Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 6 Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale Wykład 6 1 / 27 Zbiór ctime zawiera deklarcję

Bardziej szczegółowo

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij. Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice

Bardziej szczegółowo

Pętle while, for, do while, instrukcje break, continue, switch 1. Pętle

Pętle while, for, do while, instrukcje break, continue, switch 1. Pętle Pętle while, for, while, instrukcje break, continue, switch 1. Pętle Przykład 1 - Pętla while public class lab4_3 public static void main(string[] args) char ch = 'a'; String s, wynik=""; while ( ch!=

Bardziej szczegółowo

Qt sygnały i designer

Qt sygnały i designer Qt sygnały i designer Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2015 Bogdan

Bardziej szczegółowo

Programowanie w języku C++

Programowanie w języku C++ Programowanie w języku C++ Część szósta Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi uważnego

Bardziej szczegółowo

Operatory na rzecz typu TString

Operatory na rzecz typu TString Operatory na rzecz typu TString Dopiszmy w definicji klasy operator[], dzięki któremu potraktujemy obiekt jak tablicę class TString { public: char& operator[]( size_t n ); const char& operator[]( size_t

Bardziej szczegółowo

1.1. Programowanie w Visual C++ Programowanie w Visual C++ Środowisko programisty Visual C++ Środowisko programisty Visual C++

1.1. Programowanie w Visual C++ Programowanie w Visual C++ Środowisko programisty Visual C++ Środowisko programisty Visual C++ 1 Katedra Optoelektroniki i Systemów Elektronicznych 2 Programowanie w Organizacja i Oprogramowanie Systemów Elektronicznych Temat wykładu Programowanie w 1. Środowisko programisty 5. 6. 3 Środowisko programisty

Bardziej szczegółowo

Wykład IX. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wykład IX. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład IX - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Biblioteka FLTK FLTK - Fast Light Toolkit - biblioteka GUI,

Bardziej szczegółowo

Języki Programowania. Prowadząca: dr inż. Hanna Zbroszczyk. tel: Konsultacje: piątek:

Języki Programowania. Prowadząca: dr inż. Hanna Zbroszczyk.   tel: Konsultacje: piątek: Języki Programowania Prowadząca: dr inż. Hanna Zbroszczyk e-mail: gos@if.pw.edu.pl tel: +48 22 234 58 51 Konsultacje: piątek: 12.00 13.30 www: http://www.if.pw.edu.pl/~gos/students/jp Politechnika Warszawska

Bardziej szczegółowo

Programowanie komputerowe. Zajęcia 1

Programowanie komputerowe. Zajęcia 1 Programowanie komputerowe Zajęcia 1 Code::Blocks - tworzenie projektu Create New Project Console Application -> C++ Wybierz nazwę projektu Stworzy się nowy projekt z wpisaną funkcją main Wpisz swój program

Bardziej szczegółowo

Informatyka 2. Wykład nr 3 ( ) Politechnika Białostocka. - Wydział Elektryczny. dr inŝ. Jarosław Forenc

Informatyka 2. Wykład nr 3 ( ) Politechnika Białostocka. - Wydział Elektryczny. dr inŝ. Jarosław Forenc Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2008/2009 Wykład nr 3 (05.11.2008) Rok akademicki 2008/2009, Wykład

Bardziej szczegółowo

Wykład 1

Wykład 1 Wstęp do programowania 1 Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 1 Wprowadzenie Cel wykładów z programowania proceduralnego Wykład jest poświęcony językowi C i jego

Bardziej szczegółowo

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych Laboratorium OiOSE. Programowanie w środowisku MS Visual C++ 1 Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych Organizacja i Oprogramowanie Systemów Elektronicznych Michał Kowalewski

Bardziej szczegółowo

TEMAT : KLASY POLIMORFIZM

TEMAT : KLASY POLIMORFIZM TEMAT : KLASY POLIMORFIZM 1. Wprowadzenie do polimorfizmu i funkcji wirtualnych w języku C++ Język C++ zakłada, że w pewnych przypadkach uzasadnione jest tworzenie klas, których reprezentanci w programie

Bardziej szczegółowo

Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład II - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Operacje dyskowe - zapis do pliku #include #include

Bardziej szczegółowo

Formaty plików graficznych - wprowadzenie

Formaty plików graficznych - wprowadzenie Formaty plików graficznych - wprowadzenie Obraz graficzny jest dwuwymiarową tablicą pikseli, zwana czasem rastrem. Kolor piksela może być reprezentowany w następujący sposób: Dla obrazów monochromatycznych

Bardziej szczegółowo

Wstęp do Informatyki

Wstęp do Informatyki Wstęp do Informatyki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 11 Bożena Woźna-Szcześniak (AJD) Wstęp do Informatyki Wykład 11 1 / 52 Pętla for # i n c l u d e

Bardziej szczegółowo

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak Katedra Elektrotechniki Teoretycznej i Informatyki wykład 12 - sem.iii M. Czyżak Język C - preprocesor Preprocesor C i C++ (cpp) jest programem, który przetwarza tekst programu przed przekazaniem go kompilatorowi.

Bardziej szczegółowo

Podstawy Programowania Obiektowego

Podstawy Programowania Obiektowego Podstawy Programowania Obiektowego Pojęcie struktury i klasy. Konstruktor i destruktor. Spotkanie 08 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Spotkanie 08 Klasy: definicja a deklaracja klasy dane składowe

Bardziej szczegółowo

INSTRUKCJE REPETYCYJNE PĘTLE

INSTRUKCJE REPETYCYJNE PĘTLE INSTRUKCJE REPETYCYJNE PĘTLE Pętla while( ) while ( wyrażenie ) instrukcja; while ( wyrażenie ) instrukcja_1; instrukcja_2;... instrukcja_n; Pętla wykonywana jest tak długo jak wartość wyrażenie jest różna

Bardziej szczegółowo

ECLIPSE wnioski z dwóch pierwszych laboratoriów

ECLIPSE wnioski z dwóch pierwszych laboratoriów PODSTAWY PROGRAMOWANIA 3-4 WYKŁAD 22-10-2015 ECLIPSE wnioski z dwóch pierwszych laboratoriów Dodanie pliku i konfiguracji startowej (każdy uruchamiany program powinien mieć własna konfigurację startową)

Bardziej szczegółowo

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor

Bardziej szczegółowo

Tworzenie projektu asemblerowego dla środowiska Visual Studio 2008.

Tworzenie projektu asemblerowego dla środowiska Visual Studio 2008. Dwiczenie 5. TEMAT: CEL: Tworzenie projektu asemblerowego dla środowiska Visual Studio 2008. Celem dwiczenia jest poznanie możliwości VS 2008 w zakresie tworzenia i uruchamiania aplikacji z kodem mieszanym

Bardziej szczegółowo

Programowanie obiektowe - Przykładowe zadania egzaminacyjne (2005/2006)

Programowanie obiektowe - Przykładowe zadania egzaminacyjne (2005/2006) Programowanie obiektowe - Przykładowe zadania egzaminacyjne (2005/2006) Część 1. Teoria Wyjaśnij pojęcia, podaj przykład: klasa obiekt konstruktor destruktor kapsułkowanie (hermetyzacja) wskaźnik this

Bardziej szczegółowo

Wprowadzenie w dziedziczenie. Klasa D dziedziczy klasę B: Klasa B klasa bazowa (base class), klasa D klasa pochodna (derived class).

Wprowadzenie w dziedziczenie. Klasa D dziedziczy klasę B: Klasa B klasa bazowa (base class), klasa D klasa pochodna (derived class). Wprowadzenie w dziedziczenie Klasa D dziedziczy klasę B: B klasa bazowa D klasa pochodna Klasa B klasa bazowa (base class), klasa D klasa pochodna (derived class). Najpierw jest tworzona klasa bazowa,

Bardziej szczegółowo

/** Program demonstrujący działanie klasy GregorianCalendar import java.util.*; public class TestKalendarza // zbuduj d i zainicjalizuj z aktualną datą GregorianCalendar d = new GregorianCalendar(); int

Bardziej szczegółowo

Platforma.NET. Laboratorium nr 1 Podstawy języka C#

Platforma.NET. Laboratorium nr 1 Podstawy języka C# Platforma.NET Laboratorium nr 1 Podstawy języka C# Ćwiczenie 1 1. Utwórz nowy projekt a. Z menu File wybierz New/Project b. W oknie dialogowym New Project określ następujące właściwości: typu projektu:

Bardziej szczegółowo

Sieciowa komunikacja procesów - XDR i RPC

Sieciowa komunikacja procesów - XDR i RPC *** abc.x Przyklad pliku RPCGEN Obliczanie sumy, roznicy i iloczynu dwoch liczb calkowitych *** ************************************ Wywolanie procedury odleglej dopuszcza tylko jeden argument wywolania

Bardziej szczegółowo

Microsoft Foundation Classes

Microsoft Foundation Classes Microsoft Foundation Classes Piotr Janczyk Co to jest MFC? Jest to podstawowa biblioteka Visual C++, której klasy stanowią szkielet aplikacji dla programów pracujących w systemie Windows. Napisane w języku

Bardziej szczegółowo

1 WSTĘP. Źródło : http://www.winapi.rox.pl/ 1.1 Wymagania i terminologia

1 WSTĘP. Źródło : http://www.winapi.rox.pl/ 1.1 Wymagania i terminologia 1 Źródło : http://www.winapi.rox.pl/ 1 WSTĘP 1.1 Wymagania i terminologia Zakładam, że do tej pory dobrze poznałeś języki C/C++. Potrafisz zrobić całkiem ciekawą aplikację wyświetlaną w środowisku konsolowym.

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

Język C - podstawowe informacje

Język C - podstawowe informacje Język C - podstawowe informacje Michał Rad AGH Laboratorium Maszyn Elektrycznych 2014-12-05 Outline Program w języku C Funkcje Składnia Instrukcje sterujace Na koniec... Po kolei napisać program (zwykły

Bardziej szczegółowo

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016 Wykład 2 17 marca 2016 Dziedziczenie Klasy bazowe i potomne Dziedziczenie jest łatwym sposobem rozwijania oprogramowania. Majac klasę bazowa możemy ja uszczegółowić (dodać nowe pola i metody) nie przepisujac

Bardziej szczegółowo

Abstrakcyjne struktury danych w praktyce

Abstrakcyjne struktury danych w praktyce Abstrakcyjne struktury danych w praktyce Wykład 13 7.4 notacja polska A.Szepietowski Matematyka dyskretna rozdział.8 stos kompilacja rozłączna szablony funkcji Przypomnienie Drzewo binarne wyrażenia arytmetycznego

Bardziej szczegółowo

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego

Bardziej szczegółowo

JAVA Materiały do laboratorium III wersja niezaawansowana Marcin Borkowski WSEiZ czerwiec 2006

JAVA Materiały do laboratorium III wersja niezaawansowana Marcin Borkowski WSEiZ czerwiec 2006 1 Najprostszy program okienkowy 1.1 Kod: JAVA Materiały do laboratorium III wersja niezaawansowana Marcin Borkowski WSEiZ czerwiec 2006 public class okno1 extends Frame public okno1() ); okno1 o = new

Bardziej szczegółowo

PARADYGMATY PROGRAMOWANIA Wykład 3

PARADYGMATY PROGRAMOWANIA Wykład 3 PARADYGMATY PROGRAMOWANIA Wykład 3 Definiowanie operatorów i ich przeciążanie Przykłady zastosowania operatorów: a) operator podstawienia ( = ) obiektów o złożonej strukturze, b) operatory działania na

Bardziej szczegółowo

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,

Bardziej szczegółowo

Programowanie (obiektowe) cz.12

Programowanie (obiektowe) cz.12 Programowanie (obiektowe) cz.12 Pliki nagłówkowe. Konstruktor ZMIENIAMY ZASADY GRY Tworzymy dwa pliki, z których jeden będzie zawierał kod, a drugi definicje klas i funkcji składowych naglowek.h main.cpp

Bardziej szczegółowo

Funkcja (podprogram) void

Funkcja (podprogram) void Funkcje Co to jest funkcja? Budowa funkcji Deklaracja, definicja i wywołanie funkcji Przykłady funkcji definiowanych przez programistę Przekazywanie argumentów do funkcji Tablica jako argument funkcji

Bardziej szczegółowo

Zaawansowane środowiska programistyczne 2009/2010

Zaawansowane środowiska programistyczne 2009/2010 Zaawansowane środowiska programistyczne 2009/2010 Sprawy organizacyjne Forma zajęć Zaliczenie Literatura MFC Co to jest MFC? MFC Microsoft Foundation Classes Opakowanie dla WinAPI, zestaw klas C++ umożliwiających

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

#line #endif #ifndef #pragma

#line #endif #ifndef #pragma 8.1 Instrukcje preprocesorowe... 1 8.1.1 Instrukcja #define... 1 8.1.2 Instrukcje #pragma... 2 8.2 Polecenie _asm... 3 8.3 Polecenie declspec... 4 8.4 Definiowanie makr... 5 8.5 Programy wieloplikowe,

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2 Marcin Młotkowski 4 marca 2015 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 47 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie;

Bardziej szczegółowo

Programowanie obiektowe w C++ Wykład 12

Programowanie obiektowe w C++ Wykład 12 Programowanie obiektowe w C++ Wykład 12 dr Lidia Stępień Akademia im. Jana Długosza w Częstochowie L. Stępień (AJD) 1 / 22 Zakresowe pętle for double tab[5] {1.12,2.23,3.33,4.12,5.22 for(double x: tab)

Bardziej szczegółowo

Języki i paradygmaty programowania Wykład 2. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18

Języki i paradygmaty programowania Wykład 2. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18 Dariusz Wardowski dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18 Literatura Języki i paradygmaty programowania Wykład 2 1. C. S. Horstman, G. Cornell, core Java 2 Podstawy, Helion 2003

Bardziej szczegółowo

// Funkcja glowna int main() { // zmienne int kont='t'; double x1, y1, x2, y2, x3, y3, a, b, c, p1, p2, p3, pole, ha, hb, hc;

// Funkcja glowna int main() { // zmienne int kont='t'; double x1, y1, x2, y2, x3, y3, a, b, c, p1, p2, p3, pole, ha, hb, hc; // PTxy1.cpp // Obliczenie pola trojkąta ze wspolrzednych punktow // Dolaczenie bibliotek jezyka C #include #include #include #include #include #define clrscr()

Bardziej szczegółowo