>uczen[ i ].imie; cin.ignore(); cout <<"Podaj nazwisko ucznia: "; cin >>uczen[ i ].nazwisko; cin.ignore();">

Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

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

Podobne prezentacje


Prezentacja na temat: "Programowanie strukturalne i obiektowe C++ Zastosowanie wskaźników w strukturach Robert Nowak."— Zapis prezentacji:

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

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 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; cin.ignore();

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; cin.ignore(); } cout <<"\nInformacje o uczniach: \n"; for (int i=0;i<3;i++) { cout <

5 Przykład programu 1 #include 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; cin.ignore();

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

7 Przykład programu 2 #include 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 "<>wsk -> wsp_x; cin.ignore(); cout <<"Podaj wspolrzedna y punktu "<>wsk -> wsp_y; cin.ignore(); wsk++; } cout <<"Podane przez ciebie punkty to:\n "; wsk=trojkat; for (int i=0;i<3;i++) { cout wsp_x wsp_y<<") "; wsk++; }

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="<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"; getchar(); return 0; }

11 Przykład programu 3 #include 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; cin.ignore(); 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; cin.ignore(); if (u2 -> mianownik==0) cout << "Mianownik nie moze byc zerem\n"; } while (u2 -> mianownik==0); cout << "Oto ulamki ktore podales:\n"; cout licznik mianownik<<"\n"; cout <<"\n\nNacisnij ENTER aby zakonczyc...\n"; getchar(); return 0; }

13 Przykład programu 4 #include 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; cin.ignore(); do { cout << "Podaj mianownik drugiego ulamka: "; cin>> u2 -> mianownik; cin.ignore(); if (u2 -> mianownik==0) cout << "Mianownik nie moze byc zerem\n"; } while (u2 -> mianownik==0);

15 Ciąg dalszy programu 4 cout << "Oto ulamki ktore podales:\n"; cout licznik 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 licznik mianownik<<"\n"; cout << "\n\nNacisnij ENTER aby kontynuowac...\n"; getchar(); cout << "Jak podzielimy pierwszy przez drugi to otrzymamy:\n"; u4 -> licznik=u1 -> licznik*u2 -> mianownik; u4 -> mianownik=u1 -> mianownik*u2 -> licznik; cout licznik mianownik<<"\n"; cout << "\n\nNacisnij ENTER aby kontynuowac...\n"; getchar();

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 licznik mianownik<<"\n"; cout << "\n\nNacisnij ENTER aby zakonczyc...\n"; getchar(); return 0; }

17 Przykład programu 5 #include 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; cin.ignore(); 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 licznik 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 << "\n\nNacisnij ENTER aby kontynuowac...\n"; getchar(); 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"; getchar(); return 0; }


Pobierz ppt "Programowanie strukturalne i obiektowe C++ Zastosowanie wskaźników w strukturach Robert Nowak."

Podobne prezentacje


Reklamy Google