Advertisement
barbos01

Untitled

Nov 7th, 2022
821
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.48 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<<"Specia de flori "<<v[i].specie<<" nu mai este in stocul de primavara";
  82.             cout<<"Specia 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) g <<"S-a facut reducere tuturor florilor"<<endl;
  93.     else
  94.     {
  95.         v[i].pret = v[i].pret - v[i].pret * 1 / 10;
  96.         reducere_final_saptamana(n, i+1, v);
  97.         g<<v[i].specie<<" cantitate "<<v[i].cantitate<<" pret redus pe fir "<<v[i].pret<<endl;
  98.         cout<<v[i].specie<<" cantitate "<<v[i].cantitate<<" pret redus pe fir "<<v[i].pret<<endl;
  99.  
  100.     }
  101.    cout<<endl<<endl<<"Intoarcerea in meniul principal se face apasand orice litera si tasta ENTER"<<endl;
  102.     char g[1]; cin>>g;
  103.  
  104. }
  105. int revizuire_stoc(int n, int i, Florarie v[100])
  106. {
  107.     if(i == n + 1)
  108.     {   cout<<endl<<endl<<"Intoarcerea in meniul principal se face apasand orice litera si tasta ENTER"<<endl;
  109.         char g[1]; cin>>g;
  110.         return 0;
  111.     }
  112.     else
  113.     {
  114.         return v[i].cantitate + revizuire_stoc(n, i+1, v);
  115.     }
  116.  
  117.  
  118. }
  119. void buchet_firma (int n, Florarie v[100] )
  120. {
  121.     int k=0,i=1;
  122.     while(i<=n)
  123.  
  124.     {
  125.         if(v[i].cantitate>=8)
  126.             k++;
  127.         i++;
  128.     }
  129.     if(k>=3)
  130.     {g<<"Buchetul se poate realiza";
  131.     cout<<"Buchetul se poate realiza";}
  132.     else {g<<"Buchetul nu se poate realiza";
  133.         cout<<"Buchetul nu se poate realiza";}
  134.    cout<<endl<<endl<<"Intoarcerea in meniul principal se face apasand orice litera si tasta ENTER"<<endl;
  135.     char g[1]; cin>>g;
  136.  
  137. }
  138. void comanda_saptamana_viitoare( int n, Florarie v[100])
  139. {
  140.     int i;
  141.     for(i=1; i<=n; i++)
  142.         if(v[i].cantitate>=15)
  143.             g<<"Nu se mai face comanda pentru "<<v[i].specie<<endl;
  144.             cout<<"Nu se mai face comanda pentru "<<v[i].specie<<endl;
  145.    cout<<endl<<endl<<"Intoarcerea in meniul principal se face apasand orice litera si tasta ENTER"<<endl;
  146.     char g[1]; cin>>g;
  147.  
  148. }
  149. void alegere (int n , Florarie v[100])
  150. {
  151.     int op;
  152.     do
  153.     {
  154.         if(system("CLS")) system("clear");
  155.         cout<<"________________________________________"<<endl;
  156.         cout<<"                           MENIU"<<endl;
  157.         cout<<"1. Numarul buchetelor dintr-o specie "<<endl;
  158.         cout<<"2. Scoaterea florilor de iarna din stoc"<<endl;
  159.         cout<<"3. Stocul florilor de primavara"<<endl;
  160.         cout<<"4. Buchetul solicitat de o firma"<<endl;
  161.         cout<<"5. Reducerea de la final de saptamana"<<endl;
  162.         cout<<"6. Stocul florariei"<<endl;
  163.         cout<<"7. Comanda saptamanala"<<endl;
  164.         cout<<"8.  EXIT"<<endl;
  165.         cout<<"________________________________________"<<endl;
  166.         cout<<"Ce optiune doriti din meniu?"<<endl;
  167.         cin>>op;
  168.         if(op==1) nr_buchete(n,v);
  169.         if(op==2) scoatere_flori_de_iarna(n,v);
  170.         if(op==3) flori_de_primavara(n,v);
  171.         if(op==4) buchet_firma(n,v);
  172.         if(op==5) reducere_final_saptamana(n,1,v);
  173.         if(op==6) { int stoc = revizuire_stoc(n, 1, v);
  174.                     g<<"Sunt "<<stoc<<" fire in stoc";}
  175.         if(op==7) comanda_saptamana_viitoare(n,v);
  176.         if(op==8) afisare(n,v);
  177.     }
  178.     while (op<8);
  179. }
  180.  
  181.  
  182. int main()
  183. {
  184.     int n,i;
  185.  
  186.     citire(n, v);
  187.     alegere (n,v);
  188.     g.close();
  189.     f.close();
  190.     return 0;
  191. }
  192.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement