Your SlideShare is downloading. ×
Sprawozdanie
Sprawozdanie
Sprawozdanie
Sprawozdanie
Sprawozdanie
Sprawozdanie
Sprawozdanie
Sprawozdanie
Sprawozdanie
Sprawozdanie
Sprawozdanie
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Sprawozdanie

330

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
330
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. // KLASA PACZKAclass paczka //definicja klasy i jej składowe, etykiety public i private{ private: //etykiety private string zawartosc; int masa; public: //etykiety private paczka(string, int); void wrzuc(); int podaj_mase(); string co_w_paczce(); friend paczka operator + (const paczka&, const paczka&); friend ostream & operator << (ostream&, const paczka&); paczka& operator = (const paczka&);};(...)//FUNKCJE KLASY PACZKApaczka::paczka(string zawartosc_towaru = "", int masa_towaru = 0) :zawartosc(zawartosc_towaru), masa(masa_towaru){}void paczka::wrzuc(){ cout << "Co znajduje sie w paczce" << endl; //wprowadzenie typu towaru i masy
  • 2. cin >> zawartosc; cout << "Podaj wage" << endl; cin >> masa;}int paczka::podaj_mase(){ return masa;}string paczka::co_w_paczce(){ return zawartosc;}paczka operator+(const paczka& paczka1, const paczka& paczka2){ string zawartosc = paczka1.zawartosc == paczka2.zawartosc ? paczka1.zawartosc :paczka1.zawartosc+" i "+paczka2.zawartosc; return paczka(zawartosc, paczka1.masa+paczka2.masa);}ostream & operator << (ostream &wyjscie, const paczka & paczka1){ return wyjscie << "Zawartosc: " <<paczka1.zawartosc << endl << "Masa: " <<paczka1.masa<< endl;}paczka& paczka::operator = (const paczka& paczka1){ zawartosc = paczka1.zawartosc;
  • 3. masa = paczka1.masa; return *this;}// KLASA SAMOCHODclass ciezarowy : public samochod - definicja klasy i jej składowe, etykiety public i private,dziedziczenie{ private: int towar_max; int towar; vector <paczka> paczki; public: ciezarowy(baza& baza_marek); void opcje(); void specjalne(); void ruch(); void specyfikacja(); ~ciezarowy();(...)//FUNKCJE KLASY CIEZAROWYciezarowy::ciezarowy(baza& baza_marek) : samochod(baza_marek){ towar = 0;
  • 4. cout << "Podaj maksymalny ciezar towaru w kg (> 0):" << endl; do { cin >> towar_max; } while (towar_max <= 0);}void ciezarowy::opcje(){ cout << endl; cout << "1. Zaladuj" << endl; cout << "2. Pokaz specyfikacje" << endl; cout << "3. Przejedz sie" << endl; cout << "4. Wroc do magazynu" << endl; cout << endl;}void ciezarowy::ruch(){ char z; float t; float i; float vt; float a; do {
  • 5. cout << endl;cout << marka << " jest na " << x << " metrze toru" << endl;cout << "obecna predkosc = " << v << "m/s" << endl << endl;cout << "Kazde dodatkowe 500 kg towaru obniza przyspieszenie ciezarowki o 5%" << endl;cout << "waga towaru " << towar <<"/" << towar_max << endl;cout << "1. wcisnij pedal gazu" << endl;cout << "2. zwalniaj" << endl;cout << "3. jedz ze stala predkoscia" << endl;cout << "4. wypakuj/wpakuj towar" << endl;cout << "5. wyjdz z samochodu" << endl;if (towar != 0) a -= (wsksilnik->a())*towar/500/20;else a = wsksilnik->a();if (a < 0){ a = 0; cout << "Zbyt duze obciazenie, przyspieszenie spada do 0" << endl;}if (towar > towar_max){ cout << "Przekroczono limit ladownosci, auto nie pojedzie" << endl; v = 0;}cin >> z;
  • 6. if (z != 5 and z != 4){ do { cout << "Podaj w sekundach jak dlugo tak bedziesz jechac t > 0" << endl; cin >> t; } while (t <= 0); switch (z) { case 1 : i = 1; vt = v; while (vt < wsksilnik->predkosc_max() and i <= t) { vt = a*i; i++; } --i; x += v*i + a*i*i/2; if (vt > wsksilnik->predkosc_max()) { v = wsksilnik->predkosc_max(); t -= i; x += v*t;
  • 7. } else { v = vt; } break; case 2 : i = 1; vt = v; while (vt > 0 and i <= t) { vt -= a/2*i; i++; } --i; x += v*i - a/2*i*i/2; v = 0; break; case 3 : x += v*t; break; default: break; }}
  • 8. else if (z == 4) specjalne(); } while (z != 5); v = 0; x = 0;}void ciezarowy::specyfikacja(){ cout << endl; cout << "Samochod ciezarowy" << endl; cout << marka << endl; cout << "masa - " << masa << endl; cout << "waga / maksymalna waga towaru" << towar << "/" << towar_max << endl; wsksilnik->dane();}void ciezarowy::specjalne(){ int z; char c; paczka* temp; do { cout << endl; cout << "Wypakunek z " << marka << endl;
  • 9. cout << "waga towaru " << towar << "/" << towar_max << endl;cout << "Pamietaj ze wrzucona paczka na poczatku zostanie przylozona nowymi" << endl;cout << endl;cout << "1. Wrzuc paczke" << endl;cout << "2. wyrzuc paczke" << endl;cout << "3. wyjdz" << endl;cin >> z;switch (z){ case 1 : temp = new paczka(); temp->wrzuc(); towar += temp->podaj_mase(); paczki.push_back(*temp); cout << "Dodano nowa paczke." << endl; cout << *temp; cout << endl; delete temp; break; case 2 : if (paczki.size() > 0) { cout << "Czy chcesz usunac paczke?" << endl; cout << paczki[paczki.size()-1];
  • 10. cout << endl; cout << "t - tak, n - nie" << endl; do cin >> c; while (c != t and c != n); if (c == t) { towar -= paczki[paczki.size()-1].podaj_mase(); paczki.pop_back(); cout << "Usunieto " << endl; } } else { cout << "Brak paczek do usunieca, wcisnij cokolwiek by wyjsc" << endl; getch(); } break; default: break; } } while (z != 3);}ciezarowy::~ciezarowy()
  • 11. { delete wskbaza_marek; delete wsksilnik;}

×