Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class urzadzenieOptyczne{
- protected:
- float zoom;
- float waga;
- char* typMatrycy;
- public:
- urzadzenieOptyczne* nast;
- urzadzenieOptyczne(){
- zoom = 5;
- waga = 111;
- typMatrycy ="CCD";
- }
- urzadzenieOptyczne(float zoomIn, float wagaIn, char* typMatrycyIn){
- zoom = zoomIn;
- waga = wagaIn;
- typMatrycy = typMatrycyIn;
- }
- urzadzenieOptyczne(urzadzenieOptyczne &mk){
- zoom = mk.zoom;
- waga = mk.waga;
- typMatrycy = mk.typMatrycy;
- nast=mk.nast;
- }
- ~urzadzenieOptyczne() { delete this->nast; }//~urzadzenieOptyczne();
- //settery
- void setZoom(float zoomIn){
- zoom = zoomIn;
- }
- void setWaga(float wagaIn){
- waga = wagaIn;
- }
- void setTypMatrycy(char* typMatrycyIn){
- typMatrycy = typMatrycyIn;
- }
- //gettery
- float getZoom(){ return this->zoom; }
- float getWaga(){ return this->waga; }
- char* getTypMatrycy(){ return this->typMatrycy; }
- void wypisz(){
- cout << "Zoom: " << this->zoom << endl;
- cout << "Waga: " << this->waga << endl;
- cout << "Typ Matrycy: " << this->typMatrycy << endl;
- }
- };
- class kamera: public urzadzenieOptyczne{
- protected:
- float czasPracyBaterii;
- char* obslugiwaneFormaty;
- public:
- kamera(){
- czasPracyBaterii = 55;
- obslugiwaneFormaty = "AVI, MKV, MP4";
- urzadzenieOptyczne();
- }
- kamera(float zoomIn, float wagaIn, char* typMatrycyIn, float czasPracyBateriiIn, char* obslugiwaneFormatyIn){
- urzadzenieOptyczne(zoomIn, wagaIn, typMatrycyIn);
- czasPracyBaterii = czasPracyBateriiIn;
- obslugiwaneFormaty = obslugiwaneFormatyIn;
- }
- kamera(kamera &mk) : urzadzenieOptyczne(mk) {
- czasPracyBaterii = mk.czasPracyBaterii;
- obslugiwaneFormaty = mk.obslugiwaneFormaty;
- }
- ~kamera(){
- }
- //setters
- void setCzasPracyBaterii(float czasPracyBateriiIn){
- czasPracyBaterii = czasPracyBateriiIn;
- }
- void setObslugiwaneFormaty(char* obslugiwaneFormatyIn){
- obslugiwaneFormaty = obslugiwaneFormatyIn;
- }
- //getters
- float getCzasPracyBaterii(){ return this->czasPracyBaterii; }
- char* getObslugiwaneFormaty(){ return this->obslugiwaneFormaty; }
- void wypisz(){
- cout << "Zoom:" << this->zoom <<endl;
- cout << "Waga:" << this->waga << endl;
- cout << "Matryca:" << this->typMatrycy << endl;
- cout << "Czas pracy baterii:" << this->czasPracyBaterii << endl;
- cout << "Obslugiwane formaty:" << this->obslugiwaneFormaty << endl;
- }
- };
- class aparat: public urzadzenieOptyczne{
- protected:
- float maxZdj; //max ilosc zdjec
- char* typ; //lustrzanka, kompakt
- public:
- aparat(){
- maxZdj = 32;
- typ = "Luszczanka";
- urzadzenieOptyczne();
- }
- aparat(float zoomIn, float wagaIn, char* typMatrycyIn, float maxZdjIn, char* typIn){
- urzadzenieOptyczne(zoomIn, wagaIn, typMatrycyIn);
- maxZdj = maxZdjIn;
- typ = typIn;
- }
- aparat(aparat &mk): urzadzenieOptyczne(mk) {
- maxZdj = mk.maxZdj;
- typ = mk.typ;
- }
- ~aparat(){
- }
- //setters
- void setMaxZdj(float maxZdjIn){
- maxZdj = maxZdjIn;
- }
- void setTyp(char* typIn){
- typ = typIn;
- }
- //getters
- float getMaxZdj(){ return this->maxZdj; }
- char* getTyp(){ return this->typ; }
- void wypisz(){
- cout << "Zoom:" << this->zoom <<endl;
- cout << "Waga:" << this->waga << endl;
- cout << "Matryca:" << this->typMatrycy << endl;
- cout << "Max zdjec: " << this->maxZdj << endl;
- cout << "Typ: " << this->typ << endl;
- }
- };
- aparat* wprowadzAparat(){
- float zoom;
- float waga;
- char* typMatrycy = new char[20];
- float maxZdj;
- char* typ = new char[20];
- cout << "WPROWADZASZ WLASNIE URZADZENIE OPTYCZNE TYPU: APARAT" << endl;
- cout << "Podaj zoom: " << endl;
- cin >> zoom;
- cout << "Podaj wage: " << endl;
- cin >> waga;
- cout << "Podaj typ matrycy: " << endl;
- cin >> typMatrycy;
- cout << "Podaj czas pracy baterii: " << endl;
- cin >> maxZdj;
- cout << "Podaj obslugiwane formaty: " << endl;
- cin >> typ;
- aparat* newaparat = new aparat(zoom, waga, typMatrycy, maxZdj, typ);
- return newaparat;
- }
- kamera* wprowadzKamera(){
- float zoom;
- float waga;
- char* typMatrycy = new char[20];
- float czasPracyBaterii;
- char* obslugiwaneFormaty = new char[20];
- cout << "WPROWADZASZ WLASNIE URZADZENIE OPTYCZNE TYPU: KAMERA" << endl;
- cout << "Podaj zoom: " << endl;
- cin >> zoom;
- cout << "Podaj wage: " << endl;
- cin >> waga;
- cout << "Podaj typ matrycy: " << endl;
- cin >> typMatrycy;
- cout << "Podaj czas pracy baterii: " << endl;
- cin >> czasPracyBaterii;
- cout << "Podaj obslugiwane formaty: " << endl;
- cin >> obslugiwaneFormaty;
- kamera* newkamera = new kamera(zoom, waga, typMatrycy, czasPracyBaterii, obslugiwaneFormaty);
- return newkamera;
- }
- //REDO
- void pokaz(urzadzenieOptyczne* glowa){
- urzadzenieOptyczne* urzadzenie;
- for(urzadzenie = glowa;urzadzenie!=NULL;urzadzenie = urzadzenie->nast){
- urzadzenie->wypisz();
- }
- cout << endl;
- }
- int main(){
- urzadzenieOptyczne* glowa = NULL;
- urzadzenieOptyczne* wsk = NULL;
- cout << "-----------------------------------------------" << endl;
- cout << "KAMERA" << endl;
- cout << "-----------------------------------------------" << endl;
- while(true){
- kamera* dodaj = wprowadzKamera();
- //jeśli głowa nie istnieje
- if(glowa == NULL){
- glowa = dodaj;
- glowa->nast = NULL;
- }
- //jeśli głowa istnieje
- else{
- urzadzenieOptyczne *wsk;
- for(wsk = glowa; wsk->nast != NULL; wsk = wsk->nast){ }
- wsk->nast = dodaj;
- wsk->nast->nast = NULL;
- }
- int czyChce;
- cout << "Chcesz zakonczyc wprowadzanie kamer? TAK(1)/NIE(2)" << endl;
- cin >> czyChce;
- if(czyChce == 1)
- break;
- }
- cout << "-----------------------------------------------" << endl;
- cout << "APARAT" << endl;
- cout << "-----------------------------------------------" << endl;
- while(true){
- aparat* dodaj = wprowadzAparat();
- //jeśli głowa nie istnieje
- if(glowa == NULL){
- glowa = dodaj;
- glowa->nast = NULL;
- }
- //jeśli głowa istnieje
- else{
- urzadzenieOptyczne *wsk;
- for(wsk = glowa; wsk->nast != NULL; wsk = wsk->nast){ }
- wsk->nast = dodaj;
- wsk->nast->nast = NULL;
- }
- int czyChce;
- cout << "Chcesz zakonczyc wprowadzanie aparatow? TAK(1)/NIE(2)" << endl;
- cin >> czyChce;
- if(czyChce == 1)
- break;
- }
- //wyświelt
- pokaz(glowa);
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement