#include #include #include #include #include #include #include "trzoda_t.h" #include "traktor_z.h" #include "agregat_p.h" #include "grunty_o.h" #include "tucznik.h" #include "zetor.h" #include "podorywkowy.h" #include "pole.h" using namespace std; class wytwornia_z { public: obsada* produkuj() { return zalazki.at(0) ->produkuj(); } void rejestruj_zalazek(zalazek *zal) { zalazki.push_back(zal); } virtual ~wytwornia_z() { for(size_t i=0; i zalazki; }; class wytwornia_ms { public: maszyna_s* zbuduj() { return producenci_s.at(0) ->zbuduj(); } void rejestruj_producent_s(producent_s *producents) { producenci_s.push_back(producents); } virtual ~wytwornia_ms() { for(size_t i=0; i producenci_s; }; class wytwornia_mz { public: maszyna_z* zabuduj() { return producenci_z.at(0) ->zabuduj(); } void rejestruj_producent_z(producent_z *producentz) { producenci_z.push_back(producentz); } virtual ~wytwornia_mz() { for(size_t i=0; i producenci_z; }; class wytwornia_g { public: ziemia* karczuj() { return grunt.at(0) ->karczuj(); } void rejestruj_grunty(grunty *grun) { grunt.push_back(grun); } virtual ~wytwornia_g() { for(size_t i=0; i grunt; }; int main() { char klawisz1, klawisz2, klawisz3, klawisz4, klawisz5, klawisz6, rasa[20], plec[20], nazwa[20], funkcja[20], marka[20]; int ile, e=0, e_s=0, e_z=0, e_g=0; float wiek, masa, bank; srand(unsigned(time(NULL))); wytwornia_z z; wytwornia_ms ms; wytwornia_mz mz; wytwornia_g g; z.rejestruj_zalazek(new trzoda_t()); ms.rejestruj_producent_s(new traktor_z()); mz.rejestruj_producent_z(new agregat_p()); g.rejestruj_grunty(new grunty_o()); vector chlew; vector garaz; vector wiata; vector grunt; //----------------------------------------------------------------------------- do { system("cls"); cout<<"pracuj ze zwierzetami --> 1"< 2"< 3"< 4"<5"< Q"<>klawisz1; switch(klawisz1) { case '1': system("cls"); cout<<"kup --> 1"< 2"< 3"<>klawisz2; switch(klawisz2) { case '1': system("cls"); ile=0; cout<<"Ile zwierząt chcesz kupić chcesz kupić"<>ile; cout<<"Podaj nazwe zwierzęcia"<>nazwa; cout<<"Podaj rase zwierzęcia"<>rasa; cout<<"Podaj plec [XY/ XX] zwierzęcia"<>plec; cout<<"Podaj wiek [mies.] zwierzęcia"<>wiek; cout<<"Podaj masa [kg] zwierzęcia"<>masa; if(_stricmp(nazwa, "tucznik")==0) bank=bank-ile*masa*float(8); else if(_stricmp(nazwa, "byk")==0) bank=bank-ile*masa*float(10); else if(_stricmp(nazwa, "maciora")==0) bank=bank-ile*masa*float(8); else bank=bank-ile*masa*float(10); for(size_t i=0; inazwa, nazwa); strcpy(szt->rasa, rasa); strcpy(szt->plec, plec); szt->wiek=wiek; szt->masa=masa; //_beginthread(szt->glod(), 0, 0); e++; } cout<<"Zwierzeta zostaly kupione"<>nazwa; for(size_t i=0; inazwa; if(_stricmp(szt->nazwa, nazwa)==0) { if(_stricmp(nazwa, "tucznik")==0 || _stricmp(nazwa, "maciora")==0) { if(szt->masa >= 100) { delete chlew.at(i); bank=bank+szt->masa*float(8); } } else if(_stricmp(nazwa, "byk")==0) { if(szt->wiek >=24 ) { delete chlew.at(i); bank=bank+szt->masa*float(10); } } else { delete chlew.at(i); bank=bank+szt->masa*float(10); } } } cout<<"Zwierzeta zostaly sprzedane"<stan=0; if(_stricmp(nazwa, "tucznik")==0) { szt->masa=szt->masa+float(0.4); bank=bank-float(0.6); } else if(_stricmp(nazwa, "maciora")==0) { szt->masa=szt->masa+float(0.1); bank=bank-float(0.2); } else if(_stricmp(nazwa, "byk")==0) { szt->masa=szt->masa+float(0.6); bank=bank-float(0.8); } else { szt->masa=szt->masa+float(0.6); bank=bank-float(0.8); } } cout<<"Zwierzeta zostaly nakarmione"< 1"<2"< 3"<>klawisz3; switch(klawisz3) { case '1': system("cls"); cout<<"Podaj nazwe maszyny jaką chcesz kupic"<>marka; ile=0; cout<<"Ile maszyn samojezdnych chcesz kupić"<>ile; cout<<"Podaj marke maszyny"<>marka; cout<<"Podaj model maszyny"<>rasa; cout<<"Podaj rocznik maszyny"<>wiek; cout<<"Podaj moc maszyny"<>masa; bank=bank-float(150000)*ile; for(size_t i=0; inazwa, nazwa); strcpy(szt->marka, marka); strcpy(szt->model, rasa); szt->rocznik=wiek; szt->moc=masa; e_s++; } cout<<"Maszyna zostala kupiona"<>nazwa; cout<<"podaj marke maszyny samojezdnej która chcesz sprzedac"<>marka; cout<<"podaj model maszyny samojezdnej która chcesz sprzedac"<>rasa; for(size_t i=0; inazwa, nazwa)==0) { if(_stricmp(szt->marka, marka)==0) { if(_stricmp(szt->model, rasa)==0) { delete garaz.at(i); bank=bank+float(60000); } else { cout<<"Nie ma takiej maszyny"<>nazwa; cout<<"podaj marke maszyny samojezdnej która chcesz naprawic"<>marka; cout<<"podaj model maszyny samojezdnej która chcesz naprawic"<>rasa; for(size_t i=0; inazwa, nazwa)==0) { if(_stricmp(szt->marka, marka)==0) { if(_stricmp(szt->model, rasa)==0) { szt->stan=0; bank=bank- rand() %10000; } else { cout<<"Nie ma takiej maszyny"< 1"<2"< 3"<>klawisz4; switch(klawisz4) { case '1': system("cls"); ile=0; cout<<"Ile maszyn chcesz kupić"<>ile; cout<<"Podaj nazwe maszyny"<>nazwa; cout<<"Podaj marke maszyny"<>rasa; cout<<"Podaj model maszyny"<>plec; cout<<"Podaj funkcje jaką ma pelnic maszyna"<>funkcja; bank=bank-ile*float(60000); for(size_t i=0; inazwa, nazwa); strcpy(szt->marka, marka); strcpy(szt->model, rasa); strcpy(szt->funkcja,funkcja); e_z++; } cout<<"Maszyna zostala kupiona"<>nazwa; cout<<"podaj marke maszyny która chcesz sprzedac"<>marka; cout<<"podaj model maszyny która chcesz sprzedac"<>rasa; for(size_t i=0; inazwa, nazwa)==0) { if(_stricmp(szt->marka, marka)==0) { if(_stricmp(szt->model, rasa)==0) { delete wiata.at(i); bank=bank+float(25000); } else { cout<<"Nie ma takiej maszyny"<>nazwa; cout<<"podaj marke maszyny która chcesz naprawic"<>marka; cout<<"podaj model maszyny która chcesz naprawic"<>rasa; for(size_t i=0; inazwa, nazwa)==0) { if(_stricmp(szt->marka, marka)==0) { if(_stricmp(szt->model, rasa)==0) { szt->stan=0; bank=bank- rand() %1000; } else { cout<<"Nie ma takiej maszyny"< 1"<2"< 3"<>klawisz5; switch(klawisz5) { case '1': system("cls"); for(size_t i=0; i<1; ++i) { grunt.push_back(g.karczuj()); ziemia* szt=grunt.at(e_g); cout<<"Ile hektarow na jednej dzialce chcesz kupić"<>szt->powierzchnia; cout<<"Podaj nr dzialki"<>szt->nrdzialki; bank=bank-szt->powierzchnia*float(80000); cout<<"Pole zostało kupione"<>masa; for(size_t i=0; inrdzialki==masa) { bank=bank+szt->powierzchnia*float(80000); delete grunt.at(i); } } cout<<"Pole zostało sprzedane"<>masa; for(size_t i=0; inrdzialki==masa) { do { system("cls"); cout<<"oraj --> 1"< 2"< 3"< 4"<5"< 6"< Q"<>klawisz6; switch(klawisz6) { case '1': if(szt->stan==6) { system("cls"); cout<<"Podaj nazwe maszyny którym chcesz orac"<>nazwa; cout<<"Podaj marke maszyny którym chcesz orac"<>marka; cout<<"Podaj model maszyny którym chcesz orac"<>marka; for(size_t i=0; inazwa, nazwa)==0) { if(_stricmp(szt1->marka, marka)==0) { if(_stricmp(szt1->model, rasa)==0) { if(rand() %100==10) { szt1->stan=1; cout<<"Traktor sie popsuł"<>nazwa; for(size_t i=0; inazwa, "plug")==0) { if(_stricmp(szt2->marka, nazwa)==0) { if(rand() %100==10) { szt2->stan=1; cout<<"plug sie popsuł"<stan=1; bank=bank-szt->powierzchnia*float(11)*float(4.5); } break; case '2': if(szt->stan==1 || szt->stan==6 || szt->stan==4) { system("cls"); cout<<"Podaj nazwe maszyny którym chcesz uprawiać"<>nazwa; cout<<"Podaj marke maszyny którym chcesz uprawiać"<>marka; cout<<"Podaj model maszyny którym chcesz uprawiać"<>marka; for(size_t i=0; inazwa, nazwa)==0) { if(_stricmp(szt1->marka, marka)==0) { if(_stricmp(szt1->model, rasa)==0) { if(rand() %100==10) { szt1->stan=1; cout<<"Traktor sie popsuł"<>nazwa; for(size_t i=0; inazwa, "agregat")==0) { if(_stricmp(szt2->marka, nazwa)==0) { if(rand() %100==10) { szt2->stan=1; cout<<"agregat sie popsuł"<stan=2; bank=bank-szt->powierzchnia*float(9)*float(4.5); } break; case '3': if(szt->stan==1 || szt->stan==2 || szt->stan==4) { system("cls"); cout<<"Podaj nazwe maszyny którym chcesz siac"<>nazwa; cout<<"Podaj marke maszyny którym chcesz siac"<>marka; cout<<"Podaj model maszyny którym chcesz siac"<>marka; for(size_t i=0; inazwa, nazwa)==0) { if(_stricmp(szt1->marka, marka)==0) { if(_stricmp(szt1->model, rasa)==0) { if(rand() %100==10) { szt1->stan=1; cout<<"Traktor sie popsuł"<>nazwa; for(size_t i=0; inazwa, "siewnik")==0) { if(_stricmp(szt2->marka, nazwa)==0) { if(rand() %100==10) { szt2->stan=1; cout<<"siewnik sie popsuł"<stan=3; bank=bank-szt->powierzchnia*(float(9)*float(4.5)+float(300)); } break; case '4': if(szt->stan==1 || szt->stan==2 || szt->stan==3 || szt->stan==4 || szt->stan==5) { system("cls"); cout<<"Podaj nazwe maszyny którym chcesz rozsiewac"<>nazwa; cout<<"Podaj marke maszyny którym chcesz rozsiewac"<>marka; cout<<"Podaj model maszyny którym chcesz rozsiewac"<>marka; for(size_t i=0; inazwa, nazwa)==0) { if(_stricmp(szt1->marka, marka)==0) { if(_stricmp(szt1->model, rasa)==0) { if(rand() %100==10) { szt1->stan=1; cout<<"Traktor sie popsuł"<>nazwa; for(size_t i=0; inazwa, "rozsiewacz")==0) { if(_stricmp(szt2->marka, nazwa)==0) { if(rand() %100==10) { szt2->stan=1; cout<<"rozsiewcz sie popsuł"<stan=4; bank=bank-szt->powierzchnia*(float(2)*float(4.5)+float(300)); } break; case '5': if(szt->stan==3 || szt->stan==4 || szt->stan==5) { system("cls"); cout<<"Podaj nazwe maszyny którym chcesz pryskac"<>nazwa; cout<<"Podaj marke maszyny którym chcesz pryskac"<>marka; cout<<"Podaj model maszyny którym chcesz pryskac"<>marka; for(size_t i=0; inazwa, nazwa)==0) { if(_stricmp(szt1->marka, marka)==0) { if(_stricmp(szt1->model, rasa)==0) { if(rand() %100==10) { szt1->stan=1; cout<<"Traktor sie popsuł"<>nazwa; for(size_t i=0; inazwa, "opryskiwacz")==0) { if(_stricmp(szt2->marka, nazwa)==0) { if(rand() %100==10) { szt2->stan=1; cout<<"opryskiwacz sie popsuł"<stan=5; bank=bank-szt->powierzchnia*(float(2)*float(4.5)+float(100)); } break; case '6': if(szt->stan==3 || szt->stan==4 || szt->stan==5) { system("cls"); cout<<"Podaj nazwe maszyny którym chcesz zbirac plon"<>nazwa; cout<<"Podaj marke maszyny którym chcesz zbirac plon"<>marka; cout<<"Podaj model maszyny którym chcesz zbirac plon"<>marka; for(size_t i=0; inazwa, nazwa)==0) { if(_stricmp(szt1->marka, marka)==0) { if(_stricmp(szt1->model, rasa)==0) { if(rand() %100==10) { szt1->stan=1; cout<<"Traktor sie popsuł"<stan=6; bank=bank-szt->powierzchnia*float(20)*float(4.5); bank=bank+szt->powierzchnia*float(4500); } break; default: break; } } while(klawisz6!='Q'); } } system("pause"); break; default: break; } case '5': cout<<"Stan konta: "<nazwa<rasa<plec<wiek<masa<nazwa<marka<model<rocznik<moc<nazwa<marka<model<