Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Programowanie strukturalne i obiektowe C++

Podobne prezentacje


Prezentacja na temat: "Programowanie strukturalne i obiektowe C++"— Zapis prezentacji:

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

2 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 ->.

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

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

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

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

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

8 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<<") ";

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

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

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

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

13 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();

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

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

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

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

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

19 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();

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


Pobierz ppt "Programowanie strukturalne i obiektowe C++"

Podobne prezentacje


Reklamy Google