Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string.h>
- #include <cmath>
- using namespace std;
- const int administrativna_taksa=100;
- class Licnost{
- protected:
- char ime[30], prezime[40],adresa[30];
- char dataizdavanje[20], vazido[20];
- int den,mesec,godina,cena;
- public:
- Licnost(){};
- Licnost(char *i, char *p,char *a,int d,int m,int gd, char *di, char *vd)
- {
- strcpy(ime,i);
- strcpy(prezime,p);
- strcpy(adresa,a);
- strcpy(dataizdavanje,di);
- strcpy(vazido,vd);
- den=d;
- mesec=m;
- godina=gd;
- }
- ~Licnost(){};
- virtual void Pecati(){
- cout<<"Ime:"<<ime <<" "<<"Prezime:"<<prezime<<endl;
- cout<<"Data na ragjanje:"<<den<<"."<<mesec<<"."<<godina<<endl;
- cout<<"Adresa na ziveenje:"<<adresa<<endl;
- cout<<"Data na izdavanje:"<<dataizdavanje<<endl;
- cout<<"Vazi do:"<<vazido<<endl;
- }
- char *get_ime(){ return ime;}
- char *get_prezime(){ return prezime;}
- virtual float Cena()=0;
- };
- class LicnaKarta:public Licnost{
- int brojA;
- public:
- LicnaKarta(int bA=0,char *i="", char *p="",char *a="",int d=0,int m=0,int gd=0, char *di="", char *vd=""):Licnost(i,p,a,d,m,gd,di,vd){brojA=bA;}
- ~LicnaKarta(){};
- virtual void Pecati(){
- Licnost::Pecati();
- cout<<"Broj na licnata karta: "<<brojA<<endl;
- }
- float Cena()
- { cena=administrativna_taksa+190;
- return cena;
- }
- };
- class VozackaDozvola:public Licnost{
- char kategorija[5];
- int brojT;
- public:
- VozackaDozvola(char *k="",int bT=0,char *i="", char *p="",char *a="",int d=0,int m=0,int gd=0, char *di="", char *vd=""):Licnost(i,p,a,d,m,gd,di,vd){strcpy(kategorija,k),brojT=bT;}
- ~VozackaDozvola(){};
- virtual void Pecati(){
- Licnost::Pecati();
- cout<<"Kategorija: "<<kategorija<<" "<<"Broj na vozacka dozvola: "<<brojT<<endl;
- }
- float Cena(){
- cena=administrativna_taksa+290;
- return cena;
- }
- };
- class Pasosh:public Licnost{
- int brojB;
- public:
- Pasosh(int bB=0,char *i="", char *p="",char *a="",int d=0,int m=0, int gd=0,char *di="", char *vd=""):Licnost(i,p,a,d,m,gd,di,vd){brojB=bB;}
- ~Pasosh(){};
- virtual void Pecati(){
- Licnost::Pecati();
- cout<<"Broj na pasosh: "<<brojB<<endl;
- }
- float Cena(){
- if (godina>2015){
- cena=administrativna_taksa+2100;
- }else if(godina>1992 && godina<2015)
- cena=administrativna_taksa+2300;
- else
- cena=administrativna_taksa+2500;
- return cena;
- }
- };
- int main()
- {
- Licnost *pok;
- LicnaKarta lk(12345,"Sara","Petrova","Karbinci",30,10,1999,"12.11.2017","11.11.2022");
- VozackaDozvola v("B",172473,"Ivona","Varelova","Skopje",23,12,1996,"15.10.2016","15.11.2026");
- Pasosh p(23455,"Jovana","Jordanovska","Vinica",23,10,2000,"12.12.2018","13.12.2023");
- pok=&lk;
- cout<<"Cenata na licnata karta na licnosta: "<<endl;
- pok->Pecati();
- cout<<"Iznesuva: "<<pok->Cena()<<endl;
- pok=&v;
- cout<<"Cenata na vozackata dozvola na licnosta: "<<endl;
- pok->Pecati();
- cout<<"Iznesuva: "<<pok->Cena()<<endl;
- pok=&p;
- cout<<"Cenata na pasoshot na licnosta: "<<endl;
- pok->Pecati();
- cout<<"Iznesuva: "<<pok->Cena()<<endl;
- int suma;
- suma=1+2;
- cout << suma <<endl;
- suma=INT_MAX +(-2);
- cout << suma <<endl;
- suma=INT_MAX + 2;
- cout << suma <<"Generiran e isklucok"<<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement