Programowanie strukturalne i obiektowe C++

Slides:



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

Programowanie obiektowe
C++ Paweł Rzechonek Instytut Informatyki Uniwersytetu Wrocławskiego
Klasa listy jednokierunkowej Przekazywanie parametrów do funkcji
Standardowa biblioteka języka C++
Programowanie obiektowe
Programowanie obiektowe
Programowanie obiektowe PO PO - LAB 3 Wojciech Pieprzyca.
Reprezentacja danych w komputerze
Static, const, volatile.
Dziedziczenie. Po co nam dziedziczenie? class osoba { char * imie, char * imie, * nazwisko; * nazwisko;public: void wypisz_imie(); void wypisz_imie();
Filip Andrzejewski Remigiusz Chiluta
argumenty wiersza poleceń: getopt
Sprawdzian Zadanie 1: Napisz program obliczający pole i obwód prostokąta. Wymiary pobierz z klawiatury od użytkownika. Zadanie 2: Napisz program sprawdzający,
Wskaźniki. Definiowanie wskaźników Wskaźnik może wskazywać na obiekt dowolnego typu. int * w; char * Wsk_Znak; float * Wskaz_Real; Przykłady: Wskaźnik.
Struktury.
C++ wykład 2 ( ) Klasy i obiekty.
Wykład 1: Wskaźniki Podstawy programowania Programowanie w C
Podstawy programowania PP – WYK2 Wojciech Pieprzyca.
Podstawy programowania
#include #include main () { cout
Programowanie obiektowe W2
Polsko – Japońska Wyższa Szkoła Technik Komputerowych
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 informatyki (4)
Wskaźnik może wskazywać na obiekt dowolnego typu. int * w; char * Wsk_Znak; float * Wskaz_Float; Przykład: Wskaźnik przechowuje adres obiektu wskazanego.
struct nazwa { lista składników }; Dostęp do składowych struktury Nazwa_Zmniennej_Strukturalnej. Nazwa_Składnika.
Wczytywanie danych z klawiatury, komentarze, zmienne.
Podstawy Programowania
Zadanie Dev C++.
Przekazywanie argumentów
Podstawy programowania
Programowanie strukturalne i obiektowe
Programowanie strukturalne i 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 obiektowe 2013/2014
jeszcze dygresja o macierzach...
Składnia pętli do … while do instrukcja while (wyrażenie); gdzie: instrukcja – instrukcja pojedyncza lub blok instrukcji wyrażenie – wyrażenie przyjmujące.
Programowanie strukturalne i obiektowe C++
Programowanie strukturalne i obiektowe C++
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
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++
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Programowanie strukturalne i obiektowe C++ Powtórzenie wiadomości z C++ Robert Nowak.
Podstawy informatyki Tablice Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Wstęp do programowania wykład 3 Typy wyliczeniowe, tablice.
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.
Ł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.
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.
Patryk Jasik pok. 415 GB Języki programowania Patryk Jasik pok. 415 GB
Wskaźniki Elżbieta Labocha.
Programowanie I Rekurencja.
Język C++ Typy Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego.
Zapis prezentacji:

Programowanie strukturalne i obiektowe C++ Robert Nowak Programowanie strukturalne i obiektowe C++ Zastosowanie wskaźników w strukturach

Operator -> Jeżeli w programie mamy zdefiniowaną jakąkolwiek strukturę, a następnie zadeklarowaną zmienną strukturalną to do poszczególnych pól tej zmiennej odwoływaliśmy się za pomocą operatora . (kropki). Jeżeli w programie zdefiniujemy zmienną wskaźnikową i powiążemy ją ze zmienną strukturalną to do poszczególnych pól struktury za pomocą tej zmiennej odwołujemy się stosując operator ->.

Przykład programu #include <iostream> using namespace std; struct osoba { char imie[14]; char nazwisko[20]; int wiek; char plec[10]; }; int main () { osoba uczen [3]; cout <<"Wypełniamy tablice danymi uczniow\n"; for (int i=0;i<3;i++) cout <<"Podaj imie ucznia: "; cin >>uczen[ i ].imie; cin.ignore(); cout <<"Podaj nazwisko ucznia: "; cin >>uczen[ i ].nazwisko;

Ciąg dalszy programu cout <<"Podaj wiek ucznia: "; cin >>uczen[ i ].wiek; cin.ignore(); cout <<"Podaj plec ucznia (kobieta/mezczyzna): "; cin >>uczen[ i ].plec; } cout <<"\nInformacje o uczniach: \n"; for (int i=0;i<3;i++) { cout <<i+1<<". "<<uczen[ i ].imie<<" "<<uczen[ i ].nazwisko; cout <<" "<<uczen[ i ].wiek<<" "<<uczen[ i ].plec<<"\n"; cout <<"\n\nNacisnij ENTER aby zakonczyc...\n"; getchar(); return 0;

Przykład programu 1 #include <iostream> using namespace std; struct osoba { char imie[14]; char nazwisko[20]; int wiek; char plec[10]; }; int main () { osoba uczen [3]; osoba *wsk; wsk=uczen; cout <<"Wypełniamy tablice danymi uczniow\n"; for (int i=0;i<3;i++) cout <<"Podaj imie ucznia: "; cin >>wsk->imie; cin.ignore(); cout <<"Podaj nazwisko ucznia: "; cin >>wsk->nazwisko;

Ciąg dalszy programu 1 cout <<"Podaj wiek ucznia: "; cin >>wsk->wiek; cin.ignore(); cout <<"Podaj plec ucznia (kobieta/mezczyzna): "; cin >>wsk->plec; wsk++; } wsk=uczen; cout <<"\nInformacje o uczniach: \n"; for (int i=0;i<3;i++) { cout <<i+1<<". "<<wsk->imie<<" "<< wsk->nazwisko; cout <<" "<< wsk->wiek<<" "<< wsk->plec<<"\n"; cout <<"\n\nNacisnij ENTER aby zakonczyc...\n"; getchar(); return 0;

Przykład programu 2 #include <iostream> #include <cmath> using namespace std; struct punkt { double wsp_x; double wsp_y; }; int main() { punkt trojkat[3]; double w; double a,b,c; punkt *wsk; wsk=trojkat; cout <<"Podaj wspolrzedne wierzcholkow trojkata\n";

Ciąg dalszy programu 2 for (int i=0;i<3;i++) { cout <<"Podaj wspolrzedna x punktu "<<i+1<<": "; cin>>wsk->wsp_x; cin.ignore(); cout <<"Podaj wspolrzedna y punktu "<<i+1<<": "; cin>>wsk->wsp_y; wsk++; } cout <<"Podane przez ciebie punkty to:\n "; wsk=trojkat; cout <<"("<<wsk->wsp_x<<","<<wsk->wsp_y<<") ";

Ciąg dalszy programu 2 cout<<'\n'<<"Sprawdze czy nie leza one na jednej prostej\n"; cout<<"Nacisnij ENTER\n"; getchar(); w=trojkat[0].wsp_x*trojkat[1].wsp_y+trojkat[1].wsp_x*trojkat[2].wsp_y+ trojkat[2].wsp_x*trojkat[0].wsp_y-trojkat[2].wsp_x*trojkat[1].wsp_y- trojkat[1].wsp_x*trojkat[0].wsp_y-trojkat[0].wsp_x*trojkat[2].wsp_y; if (w==0) cout<<"Punkty sa wspoliniowe i nie da sie zbudowac trojkata\n"; else cout<<"Punkty nie sa wspoliniowe\n";

Ciąg dalszy programu 2 if (w!=0) { cout<<"Oblicze dlugosci odcinkow\n"; cout<<"Nacisnij ENTER\n"; getchar(); a=sqrt(pow(trojkat[1].wsp_x-trojkat[0].wsp_x,2)+pow(trojkat[1].wsp_y-trojkat[0].wsp_y,2)); b=sqrt(pow(trojkat[2].wsp_x-trojkat[1].wsp_x,2)+pow(trojkat[2].wsp_y-trojkat[1].wsp_y,2)); c=sqrt(pow(trojkat[2].wsp_x-trojkat[0].wsp_x,2)+pow(trojkat[2].wsp_y-trojkat[0].wsp_y,2)); cout<<"a="<<a<<" b="<<b<<" c="<<c<<'\n'; cout<<"Sprawdze czy mozna zbudowac trojkat\n"; if((a+b>c && a+c>b) && c+b>a) cout<<"Da sie zbudowac trojkat\n"; else cout<<"Nie da sie zbudowac trojkata\n"; } cout <<"\n\nNacisnij ENTER aby zakonczyc...\n"; return 0;

Przykład programu 3 #include <iostream> using namespace std; struct ulamek { int licznik; int mianownik; }; int main () { ulamek ul1,ul2; ulamek *u1=&ul1; ulamek *u2=&ul2; cout << "Podaj licznik pierwszego ulamka: "; cin>> u1->licznik; cin.ignore(); do cout << "Podaj mianownik pierwszego ulamka: "; cin>> u1->mianownik; if (u1->mianownik==0) cout << "Mianownik nie moze byc zerem\n"; } while (u1->mianownik==0);

Ciąg dalszy programu 3 cout << "Podaj licznik drugiego ulamka: "; cin>> u2->licznik; cin.ignore(); do { cout << "Podaj mianownik drugiego ulamka: "; cin>> u2->mianownik; if (u2->mianownik==0) cout << "Mianownik nie moze byc zerem\n"; } while (u2->mianownik==0); cout << "Oto ulamki ktore podales:\n"; cout << "Ulamek 1: "<<u1->licznik<<"/"<<u1->mianownik<<"\n"; cout << "Ulamek 2: "<<u2->licznik<<"/"<<u2->mianownik<<"\n"; cout <<"\n\nNacisnij ENTER aby zakonczyc...\n"; getchar(); return 0;

Przykład programu 4 #include <iostream> using namespace std; struct ulamek { int licznik; int mianownik; }; int main () { ulamek ul1,ul2,ul3,ul4,ul5; ulamek *u1=&ul1; ulamek *u2=&ul2; ulamek *u3=&ul3; ulamek *u4=&ul4; ulamek *u5=&ul5; cout << "Podaj licznik pierwszego ulamka: "; cin>> u1->licznik; cin.ignore();

Ciąg dalszy programu 4 do { cout << "Podaj mianownik pierwszego ulamka: "; cin>> u1->mianownik; cin.ignore(); if (u1->mianownik==0) cout << "Mianownik nie moze byc zerem\n"; } while (u1->mianownik==0); cout << "Podaj licznik drugiego ulamka: "; cin>> u2->licznik; cout << "Podaj mianownik drugiego ulamka: "; cin>> u2->mianownik; if (u2->mianownik==0) while (u2->mianownik==0);

Ciąg dalszy programu 4 cout << "Oto ulamki ktore podales:\n"; cout << "Ulamek 1: "<<u1->licznik<<"/"<<u1->mianownik<<"\n"; cout << "Ulamek 2: "<<u2->licznik<<"/"<<u2->mianownik<<"\n"; cout << "\n\nNacisnij ENTER aby kontynuowac...\n"; getchar(); cout << "Jak je ponozymy to otrzymamy:\n"; u3->licznik=u1->licznik*u2->licznik; u3->mianownik=u1->mianownik*u2->mianownik; cout << "Ulamek 3: "<<u3->licznik<<"/"<<u3->mianownik<<"\n"; cout << "Jak podzielimy pierwszy przez drugi to otrzymamy:\n"; u4->licznik=u1->licznik*u2->mianownik; u4->mianownik=u1->mianownik*u2->licznik; cout << "Ulamek 4: "<<u4->licznik<<"/"<<u4->mianownik<<"\n";

Ciąg dalszy programu 4 cout << "Jak podzielimy drugi przez pierwszy to otrzymamy:\n"; u5->licznik=u2->licznik*u1->mianownik; u5->mianownik=u2->mianownik*u1->licznik; cout << "Ulamek 5: "<<u5->licznik<<"/"<<u5->mianownik<<"\n"; cout << "\n\nNacisnij ENTER aby zakonczyc...\n"; getchar(); return 0; }

Przykład programu 5 #include <iostream> using namespace std; struct ulamek { int licznik; int mianownik; }; void wczytaj (ulamek *u) cout << "Podaj licznik ulamka: "; cin>> u->licznik; cin.ignore(); do cout << "Podaj mianownik ulamka: "; cin>> u->mianownik; if (u->mianownik==0) cout << "Mianownik nie moze byc zerem\n"; } while (u->mianownik==0);

Ciąg dalszy programu 5 void wypisz (ulamek *u) { cout<<u->licznik<<"/"<<u->mianownik<<"\n"; } void pomnoz (ulamek *u_1, ulamek *u_2, ulamek *u_3) u_3->licznik=u_1->licznik*u_2->licznik; u_3->mianownik=u_1->mianownik*u_2->mianownik; void podziel (ulamek *u_1, ulamek *u_2, ulamek *u_3) u_3->licznik=u_1->licznik*u_2->mianownik; u_3->mianownik=u_1->mianownik*u_2->licznik;

Ciąg dalszy programu 5 int main () { ulamek ul1,ul2,ul3,ul4,ul5; ulamek *u1=&ul1; ulamek *u2=&ul2; ulamek *u3=&ul3; ulamek *u4=&ul4; ulamek *u5=&ul5; cout << "Wcztanie danych pierwszego ulamka\n "; wczytaj(u1); cout << "Wczytanie danych drugiego ulamka\n "; wczytaj(u2); cout << "Oto ulamki ktore podales:\n"; cout << "Ulamek 1: "; wypisz (u1); cout << "Ulamek 2: "; wypisz (u2); cout << "\n\nNacisnij ENTER aby kontynuowac...\n"; getchar();

Ciąg dalszy programu 5 cout << "Jak je pomnozymy to otrzymamy:\n"; pomnoz (u1,u2,u3); cout << "Ulamek 3: "; wypisz (u3); cout << "\n\nNacisnij ENTER aby kontynuowac...\n"; getchar(); cout << "Jak podzielimy pierwszy przez drugi to otrzymamy:\n"; podziel (u1,u2,u4); cout << "Ulamek 4: "; wypisz (u4); cout << "Jak podzielimy drugi przez pierwszy to otrzymamy:\n"; podziel (u2,u1,u5); cout << "Ulamek 5: "; wypisz (u5); cout << "\n\nNacisnij ENTER aby zakonczyc...\n"; return 0; }