Advertisement
barbos01

cpp

Nov 7th, 2022
928
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.52 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <cstring>
  4. #include <cstdlib>
  5. using namespace std;
  6.  
  7. ifstream f("date.in");
  8. ofstream g("date.out");
  9.  
  10. struct Florarie
  11. {
  12.     char specie[20], anotimp[20];
  13.     int cantitate;
  14.     float pret, pret_redus;
  15. } v[100];
  16.  
  17. void citire(int &n, Florarie v[100])
  18. {
  19.     f>>n;
  20.     for(int i=1; i<=n; i++)
  21.     {
  22.         f>>v[i].specie>>v[i].anotimp>>v[i].cantitate>>v[i].pret;
  23.  
  24.     }
  25. }
  26.  
  27. void afisare(int n, Florarie v[100])
  28. {
  29.     for(int i=1; i<=n; i++)
  30.     {
  31.         g<<"Specia "<<v[i].specie<<" anotimp "<<v[i].anotimp<<" cantitate "<<v[i].cantitate<<" pret per bucata "<<v[i].pret<<"\n";
  32.         cout<<"Specia "<<v[i].specie<<" anotimp "<<v[i].anotimp<<" cantitate "<<v[i].cantitate<<" pret per bucata "<<v[i].pret<<"\n";
  33.  
  34.     }
  35. }
  36.  
  37. void nr_buchete(int n,Florarie v[100])
  38. {
  39.     for(int i = 1; i<=n; i++)
  40.     {
  41.         g<<"Din specia "<<v[i].specie<<" se realizeaza " <<v[i].cantitate / 7<<" buchete.\n";
  42.         cout<<"Din specia "<<v[i].specie<<" se realizeaza " <<v[i].cantitate / 7<<" buchete.\n";
  43.  
  44.     }
  45.        cout<<endl<<endl<<"Intoarcerea in meniul principal se face apasand orice litera si tasta ENTER"<<endl;
  46.     char g[1]; cin>>g;
  47.  
  48. }
  49. void scoatere_flori_de_iarna(int &n, Florarie v[100])
  50. {
  51.     int i=1;
  52.     while(i<=n)
  53.     {
  54.         if(strcmp(v[i].anotimp,"iarna")==0)
  55.         {
  56.             for(int j=i+1; j<=n; j++)
  57.                 v[j-1]=v[j];
  58.             n--;
  59.         }
  60.         else i++;
  61.     }
  62.     g<<"Dupa scoaterea florilor de iarna au ramas urmatoarele flori"<<endl;
  63.      cout<<"Dupa scoaterea florilor de iarna au ramas urmatoarele flori"<<endl;
  64.     for(i=1; i<=n; i++)
  65.        {
  66.  
  67.         g<<v[i].specie<<endl;
  68.         cout<<v[i].specie<<endl;}
  69.  
  70.    cout<<endl<<endl<<"Intoarcerea in meniul principal se face apasand orice litera si tasta ENTER"<<endl;
  71.     char g[1]; cin>>g;
  72.  
  73. }
  74. void flori_de_primavara(int n, Florarie v[100])
  75. {
  76.     for(int i=1; i<=n; i++)
  77.     {
  78.         if(strcmp(v[i].anotimp,"primavara")==0 && v[i].cantitate==0)
  79.            {
  80.  
  81.            g<<"\nSpecia de flori "<<v[i].specie<<" nu mai este in stocul de primavara";
  82.             cout<<"\nSpecia de flori "<<v[i].specie<<" nu mai este in stocul de primavara";}
  83.     }
  84.     g<<endl;
  85.     cout<<endl;
  86.        cout<<endl<<endl<<"Intoarcerea in meniul principal se face apasand orice litera si tasta ENTER"<<endl;
  87.     char g[1]; cin>>g;
  88.  
  89. }
  90. void reducere_final_saptamana(int n, int i, Florarie v[100])
  91. {
  92.     if(i == n + 1)
  93.     {
  94.         g <<"S-a facut reducere tuturor florilor"<<endl;
  95.         cout<<endl<<endl<<"Intoarcerea in meniul principal se face apasand orice litera si tasta ENTER"<<endl;
  96.         char g[1]; cin>>g;
  97.     }
  98.     else
  99.     {
  100.         v[i].pret = v[i].pret - v[i].pret * 1 / 10;
  101.         reducere_final_saptamana(n, i+1, v);
  102.         g<<v[i].specie<<" cantitate "<<v[i].cantitate<<" pret redus pe fir "<<v[i].pret<<endl;
  103.         cout<<v[i].specie<<" cantitate "<<v[i].cantitate<<" pret redus pe fir "<<v[i].pret<<endl;
  104.  
  105.     }
  106.  
  107.  
  108. }
  109. int revizuire_stoc(int n, int i, Florarie v[100])
  110. {
  111.     if(i == n + 1)
  112.     {   cout<<endl<<endl<<"Intoarcerea in meniul principal se face apasand orice litera si tasta ENTER"<<endl;
  113.         char g[1]; cin>>g;
  114.         return 0;
  115.     }
  116.     else
  117.     {
  118.         return v[i].cantitate + revizuire_stoc(n, i+1, v);
  119.     }
  120.  
  121.  
  122. }
  123. void buchet_firma (int n, Florarie v[100] )
  124. {
  125.     int k=0,i=1;
  126.     while(i<=n)
  127.  
  128.     {
  129.         if(v[i].cantitate>=8)
  130.             k++;
  131.         i++;
  132.     }
  133.     if(k>=3)
  134.     {g<<"Buchetul se poate realiza";
  135.     cout<<"Buchetul se poate realiza";}
  136.     else {g<<"Buchetul nu se poate realiza";
  137.         cout<<"Buchetul nu se poate realiza";}
  138.    cout<<endl<<endl<<"Intoarcerea in meniul principal se face apasand orice litera si tasta ENTER"<<endl;
  139.     char g[1]; cin>>g;
  140.  
  141. }
  142. void comanda_saptamana_viitoare( int n, Florarie v[100])
  143. {
  144.     int i;
  145.     for(i=1; i<=n; i++)
  146.         if(v[i].cantitate>=15)
  147.             g<<"\nNu se mai face comanda pentru "<<v[i].specie<<endl;
  148.             cout<<"\nNu se mai face comanda pentru "<<v[i].specie<<endl;
  149.    cout<<endl<<endl<<"Intoarcerea in meniul principal se face apasand orice litera si tasta ENTER"<<endl;
  150.     char g[1]; cin>>g;
  151.  
  152. }
  153. void alegere (int n , Florarie v[100])
  154. {
  155.     int op;
  156.     do
  157.     {
  158.         if(system("CLS")) system("clear");
  159.         cout<<"________________________________________"<<endl;
  160.         cout<<"                           MENIU"<<endl;
  161.         cout<<"1. Numarul buchetelor dintr-o specie "<<endl;
  162.         cout<<"2. Scoaterea florilor de iarna din stoc"<<endl;
  163.         cout<<"3. Stocul florilor de primavara"<<endl;
  164.         cout<<"4. Buchetul solicitat de o firma"<<endl;
  165.         cout<<"5. Reducerea de la final de saptamana"<<endl;
  166.         cout<<"6. Stocul florariei"<<endl;
  167.         cout<<"7. Comanda saptamanala"<<endl;
  168.         cout<<"8.  EXIT"<<endl;
  169.         cout<<"________________________________________"<<endl;
  170.         cout<<"Ce optiune doriti din meniu?"<<endl;
  171.         cin>>op;
  172.         if(op==1) nr_buchete(n,v);
  173.         if(op==2) scoatere_flori_de_iarna(n,v);
  174.         if(op==3) flori_de_primavara(n,v);
  175.         if(op==4) buchet_firma(n,v);
  176.         if(op==5) reducere_final_saptamana(n,1,v);
  177.         if(op==6) { int stoc = revizuire_stoc(n, 1, v);
  178.                     g<<"\nSunt "<<stoc<<" fire in stoc";}
  179.         if(op==7) comanda_saptamana_viitoare(n,v);
  180.         if(op==8) afisare(n,v);
  181.     }
  182.     while (op<8);
  183. }
  184.  
  185.  
  186. int main()
  187. {
  188.     int n,i;
  189.  
  190.     citire(n, v);
  191.     alegere (n,v);
  192.     g.close();
  193.     f.close();
  194.     return 0;
  195. }
  196.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement