Mitko_jos

moe delo so pomos,nasleduvanje

Apr 12th, 2013
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.27 KB | None | 0 0
  1. #include<iostream>
  2. #include<cstring>
  3.  
  4. using namespace std;
  5.  
  6. class Transport
  7. {
  8.   private:
  9.   float tezina_na_tovar;
  10.   int dolzina_kilometri;
  11.   public:
  12.   Transport(float _tezina_na_tovar,int _dolzina_kilometri)
  13.   {
  14.       tezina_na_tovar=_tezina_na_tovar;
  15.       dolzina_kilometri=_dolzina_kilometri;
  16.   }
  17.   float getTezinaTovar(){return tezina_na_tovar;}
  18.   int getDolzina(){return dolzina_kilometri;}
  19.  
  20.   virtual float PresmetuvanjeCena()=0;
  21.  
  22. friend ostream& operator<<(ostream &out,Transport &g)
  23.  {
  24.      out<<g.tezina_na_tovar<<""<<g.dolzina_kilometri<<""<<g.PresmetuvanjeCena()<<endl;
  25.      return out;
  26.  }
  27.  
  28. };
  29.  
  30. class Voz:public Transport
  31. {
  32.     private:
  33.     float potrosuvacka_struja;
  34.     float cena_struja;
  35.  
  36.     public:
  37.   Voz(float _tezina_na_tovar,int _dolzina_kilometri,float _potrosuvacka_struja,float _cena_struja):Transport(_tezina_na_tovar,_dolzina_kilometri)
  38.   {
  39.       potrosuvacka_struja=_potrosuvacka_struja;
  40.       cena_struja=_cena_struja;
  41.   }
  42.   float getProsuvackaStruja(){return potrosuvacka_struja;}
  43.   float getCenaStruja(){return cena_struja;}
  44.  
  45.   float PresmetuvanjeCena()
  46.   {
  47.       float c;
  48.       c=getDolzina()*getProsuvackaStruja()*getCenaStruja();
  49.       return c;
  50.   }
  51. };
  52.  
  53. class Brod:public Transport
  54. {
  55.   private:
  56.   float potrosuvacka_nafta;
  57.   float cena_nafta;
  58.  
  59.   public:
  60.   Brod(float _tezina_na_tovar,int _dolzina_kilometri,float _potrosuvacka_nafta,float _cena_nafta):Transport(_tezina_na_tovar,_dolzina_kilometri)
  61.   {
  62.       potrosuvacka_nafta=_potrosuvacka_nafta;
  63.       cena_nafta=_cena_nafta;
  64.   }
  65.  
  66.  
  67. float getPotrosuvackaNafta(){return potrosuvacka_nafta;}
  68. float getCenaNafta(){return cena_nafta;}
  69.  
  70. float PresmetuvanjeCena()
  71. {
  72.     float c;
  73.     c=getDolzina()*getPotrosuvackaNafta()*getCenaNafta();
  74.     return c;
  75. }
  76.  
  77. };
  78.  
  79.  
  80. void NajeftinTrasport(Transport** p,int n)
  81. {
  82.     int min=p[0]->PresmetuvanjeCena();
  83.     for(int i=0;i<n;i++)
  84.     {
  85.         if(p[i]->PresmetuvanjeCena()<min)
  86.         {
  87.             min=p[i]->PresmetuvanjeCena();
  88.         }
  89.  
  90.     }
  91.     cout<<min<<endl;
  92.  
  93. }
  94.  
  95. int main()
  96. {
  97. Transport *pole[] = { new Voz (5000 , 850 , 4.5 , 38.5) , new Brod
  98. (40000 , 2000 ,85, 30) , new Voz (3000 , 400 , 5.6 , 40) };
  99. NajeftinTrasport(pole,3);
  100. for ( int i = 0; i < 3; i++) {
  101. delete pole[i];
  102. }
  103.     return 0;
  104. }
Advertisement
Add Comment
Please, Sign In to add comment