Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Podstawy programowania PP – WYK6 Wojciech Pieprzyca.

Podobne prezentacje


Prezentacja na temat: "Podstawy programowania PP – WYK6 Wojciech Pieprzyca."— Zapis prezentacji:

1 Podstawy programowania PP – WYK6 Wojciech Pieprzyca

2 Struktury Struktura łączy w sobie kilka zmiennych, które mogą różnić się typami danych. Zazwyczaj zmienne te związanych są ze sobą w jakiś logiczny sposób. Do struktury możemy odwoływać się jako do całości. struct osoba { char imie[20]; char nazwisko[30]; char adres[40]; int wiek; float pensja; }; UWAGA! Deklaracja struktury kończy się średnikiem!

3 Struktury Strukturę można traktować jako nowy typ danych tzn. możliwe będzie utworzenie zmiennych typu strukturalnego np. jeśli chcemy posiadać zmienną w której będzie można przechować informacje na temat danej osoby np. pracownika to możemy taką zmienną zadeklarować w następujący sposób: osoba pracownik; Inicjalizacja zmiennej strukturalnej danymi może odbyć się już w fazie deklaracji takiej zmiennej podobnie jak to miało miejsce w przypadku tablic: osoba pracownik = {Jan,Kowalski,Gliwice, 28, };

4 Struktury Możliwe jest także inicjalizowanie każdego z pól zmiennej strukturalnej z osobna: strcpy(pracownik.imie, Jan); strcpy(pracownik.nazwisko, Kowalski); strcpy(pracownik.adres, Gliwice); pracownik.wiek = 28; pracownik.pensja = ; Oczywiście możemy utworzyć więcej niż jedną zmienną typu strukturalnego: osoba pracownik2 = {Marek,Nowak,Pszczyna, 33, };

5 Struktury A nawet całej tablicy zmiennych strukturalnych: osoba pracownicy[100]; strcpy(pracownicy[0].imie, Jan); strcpy(pracownicy[0].nazwisko, Kowalski); strcpy(pracownicy[0].adres, Gliwice); pracownik.wiek = 28; pracownik.pensja = ;

6 Struktury W strukturze mogą znaleźć się także funkcje nazywane wówczas metodami. struct osoba { char imie[20]; char nazwisko[30]; char adres[40]; int wiek; float pensja; void wyswietl() { cout << "Imie: " << imie << endl; cout << "Nazwisko: " << nazwisko << endl; cout << "Adres: " << adres << endl; cout << "Wiek:" << wiek << endl; cout << "Pensja" << pensja; } };

7 Struktury Metodę umieszczoną w strukturze można wywołać posługując się operatorem kropki: pracownik.wyswietl(); Konstruktor Konstruktor to metoda (funkcja) w strukturze danych posiadająca taką samą nazwę jak nazwa struktury. Jeżeli obiekt nie ma jawnie zadeklarowanego konstruktora to jest on tworzony automatycznie w czasie kompilacji. Konstruktor jest wywoływany w czasie tworzenia obiektu.

8 Struktury Konstruktor nie zwraca żadnego typu i w czasie jego deklaracji nie podajemy żadnego typu. Przykład konstruktora: osoba(char imie[20], char nazwisko[30], char adres[40], int wiek, float pensja) { strcpy(this->imie,imie); strcpy(this->nazwisko,nazwisko); strcpy(this->adres,adres); this->wiek = wiek; this->pensja = pensja; }

9 Struktury Utworzenie zmiennej strukturalnej z wykorzystaniem konstruktora: osoba pracownik2("Jan","Kowalski","Gliwice", 28, );

10 Operacje wej/wyj Operacje wejścia/wyjścia związane są z odczytem i zapisem danych z/do pliku. Wykorzystuje się w tym celu dwa strumienie: - wejściowy (input stream – klasa ifstream) - wyjściowy (output stream – klasa ofstream). Można także użyć uniwersalnej klasy, służącej zarówno jako strumień wejściowy i wyjściowy o nazwie fstream. Działania na plikach z użyciem strumieni wymagają dołączenia biblioteki fstream.h.

11 Operacje wej/wyj Plik może zostać otwarty w różnych trybach. Najczęściej spotykane są: - ios::in – otwarcie pliku do odczytu, - ios::out – otwarcie pliku do zapisu, - ios::in | ios::out – otwarcie pliku jednocześnie do odczytu i zapisu, - ios::app – otwarcie pliku do dopisywania.

12 Operacje wej/wyj Przykład otwarcia pliku do zapisu fstream plik(test.txt,ios::out); if (!plik)//tutaj sprawdzamy czy plik został //poprawnie otwarty { cout << "Blad otwarcia pliku"; getch(); return 0; }

13 Operacje wej/wyj plik << "Ksiezyc miodem ocieka na ustach szalonych\n" "Zarloczne sa tej nocy ogrody i domy\n" "Gwiazdy do pszczol tanczacych staly się podobne\n" "Przelewa sie w altanach zlote swiatlo miodowe\n" "Bo z nieba opadajac lagodnie na ziemie\n" "W plastry miodu lacza ksiezyca promienie\n" "I skrycie mi sie roi slodka awantura\n" "Drze przed zadlem ognistym tej pszczoly \n" "Co w rece mi promieni zwodne rzucila swiatlo\n" "I swoj miod ksiezycowy zebrala z rozy wiatrow\n"; plik.close();

14 Operacje wej/wyj Przykład otwarcia pliku do odczytu fstream plik(test.txt,ios::in); if (!plik)//tutaj sprawdzamy czy plik został //poprawnie otwarty { cout << "Blad otwarcia pliku"; getch(); return 0; }

15 Operacje wej/wyj char linia[80]; //odczyt znak po znaku while (!plik.eof())//eof() – sprawdza czy to już //koniec pliku { plik.getline(linia);//pobiera linie tekstu z pliku cout << linia << endl; } plik.close(); getch();


Pobierz ppt "Podstawy programowania PP – WYK6 Wojciech Pieprzyca."

Podobne prezentacje


Reklamy Google