Advertisement
machkovskitomche

klasi2

Jun 19th, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.85 KB | None | 0 0
  1. #include <iostream>
  2. #include<string.h>
  3.  
  4. using namespace std;
  5.  
  6. class Proizvod
  7. {
  8. private:
  9.     char ime[50];
  10.     int shifra;
  11.     int nalager;
  12.     int brprodadeni;
  13. public:
  14.     Proizvod(char *i=" ", int s=1,int n=0, int brp=0)
  15.     {
  16.         strncpy(ime,i,49);
  17.         ime[49]='\0';
  18.         if(s>0 && s<51)
  19.         {
  20.             shifra=s;
  21.         }
  22.         else
  23.         {
  24.             shifra=1;
  25.         }
  26.         if(n>=0)
  27.         {
  28.             nalager=n;
  29.         }
  30.         else
  31.         {
  32.             nalager=0;
  33.         }
  34.         if(brp>=0)
  35.         {
  36.             brprodadeni=brp;
  37.         }
  38.         else
  39.         {
  40.             brprodadeni=0;
  41.         }
  42.     }
  43.     Proizvod(const Proizvod &P)
  44.     {
  45.         strcpy(ime,P.ime);
  46.         shifra=P.shifra;
  47.         nalager=P.nalager;
  48.         brprodadeni=P.brprodadeni;
  49.     }
  50.  
  51.     char *getime()
  52.     {
  53.         return ime;
  54.     }
  55.     int getshifra()
  56.     {
  57.         return shifra;
  58.     }
  59.     int getbrprodadeni()
  60.     {
  61.         return brprodadeni;
  62.     }
  63.     int getnalager()
  64.     {
  65.         return nalager;
  66.     }
  67.     void Pecati()
  68.     {
  69.         cout<<ime<<shifra<<nalager<<brprodadeni<<endl;
  70.     }
  71.     void setime(char *i)
  72.     {
  73.       strncpy(ime,i,49);
  74.       ime[49]='\0';
  75.     }
  76.     void setshifra(int ss)
  77.     {
  78.         if(ss>0 && ss<51)
  79.         {
  80.             shifra=ss;
  81.         }
  82.     }
  83.     void setnalager(int l)
  84.     {
  85.         if(l>=0)
  86.         {
  87.             nalager=l;
  88.         }
  89.     }
  90.     void setbrprodadeni(int brp)
  91.     {
  92.         if(brp>=0)
  93.         {
  94.             brprodadeni=brp;
  95.         }
  96.     }
  97.     ~Proizvod()
  98.     {
  99.         delete [] ime;
  100.     }
  101. };
  102.     void sortiraj(Proizvod LP[],int N,int k=0)
  103.     {
  104.         Proizvod pom;
  105.         for(int i=0;i<N;i++)
  106.         {
  107.             for(int j=i+1;i<N;i++)
  108.             {
  109.                 if(( k==0 && (LP[i].getnalager()<LP[j].getnalager())|| ( k==1&&(LP[i].getbrprodadeni()<LP[j].getbrprodadeni()))))
  110.                 {
  111.                     pom=LP[i];
  112.                     LP[i]=LP[j];
  113.                     LP[j]=pom;
  114.                 }
  115.             }
  116.         }
  117.         for(int i=0;i<N;i++)
  118.         {
  119.             LP[i].Pecati();
  120.         }
  121.     }
  122. int main()
  123. {
  124.     Proizvod LP[100];
  125.     int N;
  126.     cout<<"Vnesete go brojot na proizvodi";
  127.     cin>>N;
  128.     for(int i=0;i<N;i++)
  129.     {
  130.         char ime[100];
  131.         int nalager;
  132.         int shifra;
  133.         int brprodadeni;
  134.         cout<<"Vnesete gi podatocite za proizvodot:"<<endl;
  135.         cin>>ime>>shifra>>nalager>>brprodadeni;
  136.         LP[i].setime(ime);
  137.         LP[i].setshifra(shifra);
  138.         LP[i].setnalager(nalager);
  139.         LP[i].setbrprodadeni(brprodadeni);
  140.     }
  141.     int k;
  142.     cout<<"Vnesete dali proizvodot e vo magacin(0) ili e prodaden(1):"<<endl;
  143.     cin>>k;
  144.     sortiraj(LP,N,k);
  145.     return 0;
  146. }
  147. klasi/da sortira proizvodi vo nekoja prodavnica
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement