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

1 C++ mgr inż. Tomasz Turba Politechnika Opolska 2016 ...
Author: Patrycja Żukowska
0 downloads 0 Views

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

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

3 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

4 #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 > r; cout

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

6 #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

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

8 #include using namespace std; struct uZers { std::string imie; std::string nazwisko; }; int main() { uZers Uzytkownicy[3]; for(short i=0;i Uzytkownicy[i].imie; cout > Uzytkownicy[i].nazwisko; } cout

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

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

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

13 Klasa

14 Metoda

15 Konstruktor i destruktor

16 Zadanie domowe