C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.

Slides:



Advertisements
Podobne prezentacje
C++ wykład 2 ( ) Klasy i obiekty.
Advertisements

Klasa listy jednokierunkowej Przekazywanie parametrów do funkcji
Programowanie obiektowe
Prowadzący: mgr inż. Elżbieta Majka
Dziedziczenie. Po co nam dziedziczenie? class osoba { char * imie, char * imie, * nazwisko; * nazwisko;public: void wypisz_imie(); void wypisz_imie();
Filip Andrzejewski Remigiusz Chiluta
Podstawy informatyki Rekurencja i rekurencja Grupa: 1A
Podstawy informatyki Informatyka stosowana Prowadzący: Grzegorz Smyk
C++ wykład 2 ( ) Klasy i obiekty.
Podstawy programowania
#include #include main () { cout
Programowanie obiektowe W2
Klasy w C++. Deklaracja klasy class NazwaTwojejKlasy { //w tym miejscu piszemy definicje typów, //zmienne i funkcje jakie mają należeć do klasy. }; //tutaj.
Podstawy programowania II
Podstawy informatyki (4)
Podstawy programowania
Podstawy informatyki 2013/2014 Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
struct nazwa { lista składników }; Dostęp do składowych struktury Nazwa_Zmniennej_Strukturalnej. Nazwa_Składnika.
Podstawy programowania w języku C i C++
Podstawy informatyki Struktury, operatory, wyjątki
Jerzy F. Kotowski1 Informatyka I Wykład 11 STRUKTURY I UNIE.
Procedury i funkcje.
Zadanie Dev C++.
Przekazywanie argumentów
Podstawy programowania
Programowanie strukturalne i obiektowe
Jerzy F. Kotowski1 Informatyka I Wykład 14 DEKLARATORY.
Algorytmy rekurencyjne - przykład
Inicjalizacja i sprzątanie
Programowanie obiektowe
Programowanie obiektowe Wykład 3 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21 Dariusz Wardowski.
Programowanie strukturalne i obiektowe
Instrukcja for. Instrukcja warunkowa mgr inż. Agata Pacek.
Programowanie obiektowe 2013/2014 Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Programowanie obiektowe 2013/2014
Programowanie strukturalne i obiektowe C++
Programowanie strukturalne i obiektowe C++
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Programowanie strukturalne i obiektowe C++
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Programowanie strukturalne i obiektowe C++
Programowanie strukturalne i obiektowe C++
Programowanie strukturalne i obiektowe C++ Przeładowanie operatorów Robert Nowak.
K URS JĘZYKA C++ – WYKŁAD 1 ( ) Łagodne wprowadzenie do języka C++
Programowanie strukturalne i obiektowe C++ Powtórzenie wiadomości z C++ Robert Nowak.
Pliki tekstowe – odczyt i zapis Zajęcia 11. Zapis do pliku tekstowego Prosty program pokazujący sposób zapisu do pliku tekstowego: // writing on a text.
Paweł Starzyk Obiektowe metody projektowania systemów
Funkcje - rekurencja Zajęcia 8. Funkcje - definicja Ogólna postać funkcji w C++: typZwracany nazwaFunkcji(listaParametrówWejściowychFunkcji) { ciało funkcji.
Dziedziczenie Wykład 7 Dziedziczenie sekwencyjne
PO13-1 / 19 Wykład 13 Wyjątki i ich zgłaszanie Wyłapywanie wyjątków Obsługa wyjątków Wykorzystanie polimorfizmu Filtrowanie wyjątków Błędy w konstruktorach.
Wykład 2 Klasa Zesp i jej hermetyzacja 1.Przykład definicji klasy Zesp 2.Zmiana definicji klasy 3.Zmienne i funkcje statyczne PO2-1 / 28.
Wykład 5 Klasa Vec i jej operatory 1.Kategorie operatorów 2.Operatory ogólne - przykłady 3.Operatory specjalne [ ], ( ) oraz –> 4.Operatory new i delete.
Podstawy informatyki Tablice Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Mapa STL – C++. Problem polega na tym, że najczęściej chcielibyśmy przechowywać w zbiorze elementy jakiegoś bardziej złożonego typu, których on nie będzie.
Wstęp do programowania Wykład 8 Łańcuchy, struktury i pliki Metoda dziel i zwyciężaj Metoda zachłanna.
Wstęp do programowania Wykład 2 Dane, instrukcje, program.
Podstawy informatyki Funkcje Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego Matuszyka Podstawy.
Podstawy informatyki Struktury Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Programowanie I Rekurencja.
K URS JĘZYKA C++ – WYKŁAD 1 ( ) Łagodne wprowadzenie do języka C++
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
Język C++ Typy Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego.
Język C++ Tablice Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego.
Zapis prezentacji:

C++ mgr inż. Tomasz Turba Politechnika Opolska 2016

Zajęcia [ ]  Przestrzenie nazw i zagnieżdżanie  Struktury  Dane jak tabela  Struktura w funkcji  Dostęp do struktury wskaźnikiem  Zadanie domowe

Przestrzenie nazw  Zalety:  Mogą zastąpić dużo zmiennych statycznych i globalnych  Przy tworzeniu biblioteki funkcji, klas, nagłówka namespace twoja_nazwa { //tutaj możemy tworzyć zmienne, funkcje, struktury } using twoja_nazwa; //wywołanie wszystkich definicji twoja_nazwa::metoda(); //inicjalizacja

#include namespace pole_figur { const double PI = 3.14; double kolo(const double PI, short r) { return(PI * r * r); } int main() { using std::cout; using std::endl; using namespace pole_figur; double r; cout << "Podaj promien kola [R]: "; std::cin >> r; cout << "\nPole kola = " << pole_figur::kolo(PI, r) << endl; getch(); return 0; }

Struktury – WTF?  Struktura danych ułatwia zorganizowanie danych w wygodniejszy sposób niż tabela.  Dostęp do danych obiektowy.  Kropka – dostęp do danych (nowe frameworki = autopodpowiedź) struct uzers //nazwa struktury { //opis struktury std::string imie; std::string haslo; short wiek; std::char plec; };

#include using namespace std; struct uZers { std::string imie; std::string nazwisko; std::string haslo; short wiek; char* plec; }; int main() { uZers TomaszTurba = { "Tomek", "Turba", "passw0rd", 30, "M" }; //LUB uZers KevinMittnick; KevinMittnick.imie="Kevin"; KevinMittnick.nazwisko="Mittnick"; KevinMittnick.haslo="hackTEHplanet!"; KevinMittnick.wiek=45; KevinMittnick.plec="M"; cout << "Lista uZers:" << endl << "Imie: " << TomaszTurba.imie << endl << "Imie: " << KevinMittnick.imie; getch(); return(0); }

Dynamiczne wypełnianie struktur  Zgodnie z deklaracją  Dostęp jak w tablicy  Tworzenie OBIEKTU struktury  Przypisanie struktury: struct panie { short grupa; short wiek; }; … panie Marta, Ania; Marta.grupa=13; Marta.wiek=20; Marta=Ania;

#include using namespace std; struct uZers { std::string imie; std::string nazwisko; }; int main() { uZers Uzytkownicy[3]; for(short i=0;i<3;i++) { cout << "Podaj imie: "; cin >> Uzytkownicy[i].imie; cout << "Podaj nazwisko: "; cin >> Uzytkownicy[i].nazwisko; } cout << "Wprowadzone dane: " << endl; for(short i=0;i<3;i++) { cout << "Uzytkownik " << i+1 imie: " << Uzytkownicy[i].imie << ", nazwisko: " << Uzytkownicy[i].nazwisko << endl; } getch(); return(0); }

Funkcje w strukturze Wyniki Pitagoras(Trojkat pobierzboki); void WyswietlWyniki(const Wyniki wynik);

Wskaźniki w strukturze struktura * wskaznik =& dane; wskaznik->liczba;

Zadanie domowe  Project Manager poprosił Cię o napisanie programu dla firmy Asseco który będzie pomagał liczyć przepracowane godziny N-pracowników określając ich indywidualne wynagrodzenie (iloczyn stawka*godziny). Wykorzystaj wiedzę nt. struktur, funkcji i opcjonalnie wskaźników.  Wprowadź dane pracowników  Pokaż wszystkie dane pracowników wraz z obliczeniem wynagrodzenia (funkcją)  Czekaj na wybór widoku przez użytkownika dopóki nie wciśnie „4” = exit  Widoki:  1=Wiek – sortowanie pracowników po wieku (od najstarszego)  2=Stawka – sortowanie pracowników po wysokości stawki (od najwyższej)  3=Przepracowane – sortowanie pracowników po ilości przepracowanych godzin (od największej)  4=Koniec = exit  Wyświetl sortowanie i wróć do menu lub zakończ if getchar(‚4’);

 KROK 0: Podaj liczbę pracowników do wprowadzenia: N (max=3)  KROK 1: Struktura pracownika = string Imię, string Nazwisko, short Wiek, float/real Stawka, short Przepracowana_liczba_godzin.  KROK 2: Podaj dane pracownika i++ = (…)  … Podaj dane pracownika i<n = (…)  KROK 3: Funkcją wypisz na ekranie wszystkich pracowników w postaci:  Pracownik: Imię Nazwisko  Wiek: XX  Stawka: YY.ZZ PLN  Przepracowano: HH godzin  Wynagrodzenie: YYY.ZZ PLN (stawka*przepracowano)  KROK 4: Czekaj na wybór widoku użytkownika:  Wybierz sortowanie:  1 = WIEK  2 = STAWKA  3 = PRZEPRACOWANE  4 = KONIEC  KROK 5: Wypisz widok z kroku 4 na ekranie i powróć do KROK 4  KROK 6 = Jeżeli wybrano „4” = exit();

Klasa

Metoda

Konstruktor i destruktor

Zadanie domowe