Advertisement
Guest User

Untitled

a guest
May 23rd, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.76 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4. using namespace std;
  5. class produs{
  6.     int um; //1-bucata 2-greutate 3-volum
  7.     string nume;
  8. public:
  9.     int get_um()
  10.     {
  11.         return um;
  12.     }
  13.     void set_um(int x)
  14.     {
  15.         um=x;
  16.     }
  17.     string get_nume()
  18.     {
  19.         return nume;
  20.     }
  21.     void set_nume(string x)
  22.     {
  23.         nume=x;
  24.     }
  25.     produs()
  26.     {
  27.         um=1;
  28.         nume=" ";
  29.     }
  30. };
  31. class perisabil:public produs
  32. {
  33.     int valab;
  34. public:
  35.     int get_valab()
  36.     {
  37.         return valab;
  38.     }
  39.     void set_valab(int x)
  40.     {
  41.         valab=x;
  42.     }
  43.     perisabil()
  44.     {
  45.         valab=0;
  46.     }
  47. };
  48. class discount:public produs{
  49.     int procent;
  50. public:
  51.     int get_procent(){
  52.         return procent;
  53.     }
  54.     void set_procent(int x){
  55.         procent=x;
  56.     }
  57.     discount()
  58.     {
  59.         procent=0;
  60.     }
  61. };
  62. class sisi:public perisabil,public discount
  63. {
  64. public:
  65.  
  66.     sisi():perisabil(),discount()
  67.     {}
  68.  
  69. };
  70. class lot
  71. {
  72.     produs* p;
  73.     int cantitate;
  74.     int stare;
  75.     int pret;
  76.     string data;
  77. public:
  78.     lot()
  79.     {
  80.         p=NULL;
  81.         cantitate=0;
  82.         pret=0;
  83.         data=" ";
  84.     }
  85.     produs* get_produs()
  86.     {
  87.         return p;
  88.     }
  89.     void set_produs(produs * x)
  90.     {
  91.         p=x;
  92.     }
  93.     int get_cant()
  94.     {
  95.         return cantitate;
  96.     }
  97.     void set_cant(int x)
  98.     {
  99.         cantitate=x;
  100.     }
  101.     int get_pret()
  102.     {
  103.         return pret;
  104.     }
  105.     void set_pret(int x)
  106.     {
  107.         pret=x;
  108.     }
  109.     string get_data()
  110.     {
  111.         return data;
  112.     }
  113.     void set_data(string x)
  114.     {
  115.         data=x;
  116.     }
  117.     void set_stare(int x)
  118.     {
  119.         stare=x;
  120.     }
  121.     int get_stare()
  122.     {
  123.         return stare;
  124.     }
  125. };
  126. int main()
  127. {
  128.     vector <lot> v;
  129.     int n,um,cantitate,pret;
  130.     string nume,produs,data;
  131.     cin>>n;
  132.     for (int i=1;i<=n;i++)
  133.     {
  134.         lot l;
  135.         cin>>produs;
  136.         cin>>cantitate;
  137.         cin>>data;
  138.         l.set_cant(cantitate);
  139.         l.set_data(data);
  140.         //l.set_pret(pret);
  141.         cout<<"1.produs\n2. perisabil\n3.discount\n4.sisi\n";
  142.         short option;
  143.         cin>>option;
  144.         l.set_stare(option);
  145.         switch (option)
  146.         {
  147.             case 1:{
  148.                 l.set_produs(new produs);
  149.                 cin>>um>>nume;
  150.                 l.get_produs()->set_um(um);
  151.                 l.get_produs()->set_nume(nume);
  152.             }
  153.         }
  154.         v.push_back(l);
  155.     }
  156.     for (int i=0;i<n;i++)
  157.     {
  158.         cout<<v[i].get_cant()<<" "<<v[i].get_data()<<endl;
  159.         if (v[i].get_stare()==1)
  160.         {
  161.             cout<<v[i].get_produs()->get_nume()<<" "<<v[i].get_produs()->get_um()<<endl;
  162.         }
  163.     }
  164.     return 0;
  165. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement