0% au considerat acest document util (0 voturi)
21 vizualizări4 pagini

.

Aplicația permite gestiunea materiilor prime din depozitul unei cofetării, stocând numele produsului, cantitatea, prețul și furnizorul. Oferă opțiuni de citire și afișare a listei de produse, filtrare după furnizor, sortare, adăugare, ștergere și afișarea valorii totale a stocului.
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca TXT, PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
21 vizualizări4 pagini

.

Aplicația permite gestiunea materiilor prime din depozitul unei cofetării, stocând numele produsului, cantitatea, prețul și furnizorul. Oferă opțiuni de citire și afișare a listei de produse, filtrare după furnizor, sortare, adăugare, ștergere și afișarea valorii totale a stocului.
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca TXT, PDF, TXT sau citiți online pe Scribd

/*

Administratorul unei cofetării are nevoie de o aplicație care permite gestiunea


materiilor prime din depozitul
ei. Pentru fiecare sortiment se va memora numele produsului, cantitatea, prețul de
achiziție, numele furnizorului.
Creați o aplicație care permite administratorului cofetăriei să construiască o baza
de date cu materiile prime
existente în depozit și să afișeze următoarele rezultate:
1. Citire produse
2. Lista produselor din depozitul firmei
3. Lista produselor cumpărate de la furnizorul cu numele citit de la tastatură
4. Ordonarea produselor alfabetic după nume produsului, iar la aceiași nume
descrescător după preț.
5. Ștergerea unui produs, cu numele denumirea furnizorului citite de la tastatură
6. Adăugarea unui nou produs la sfârșitul listei
7. Afișarea numelui furnizorului de la care a cumpărat cele mai multe produse
8. Afișați valoarea totală a stocului produselor din depozitul cofetăriei.
9. Membrii echipei
10. Ieșire din program
*/
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
ifstream f("[Link]");
ofstream g("[Link]");
///declararea datelor
struct materii_prime
{
char nume_produs[50];
char nume_furnizor[50];
int cantitate;
int pret_achizitie;
} mp[101];
int n,nr;
///citirea datelor si construirea vectorului de produse
void citire(materii_prime mp[],int &n)
{
f>>n;
for(int i=1; i<=n; i++)
{
[Link]();
f>>mp[i].nume_produs;
f>>mp[i].cantitate;
f>>mp[i].pret_achizitie;
f>>mp[i].nume_furnizor;
}
}
///afisare materii prime
void afisare(materii_prime mp[],int n)
{
g<<endl<<"\t\tLista produselor este"<<endl;
g<<endl<<"Nume\t\tCantitate\t\tPret\t\tNume_Furnizor";
for(int i=1; i<=n; i++)
{
g<<endl<<mp[i].nume_produs<<"\t\t"<<mp[i].cantitate<<"\t\
t"<<mp[i].pret_achizitie<<"\t\t"<<mp[i].nume_furnizor;
}
}
///Lista produselor cumpărate de la furnizorul cu numele citit de la tastatură
void produse_furnizor(materii_prime mp[],int n)
{
char s[20];
cout<<"Lista produselor furnizate de la:";
cin>>s;
cout<<endl<<"\nProdus\t\tPret\t\tNume Furnizor"<<endl;
int ok=0;
for(int i=0; i<n; i++)
if(strcmp(mp[i].nume_furnizor,s)==0)
{
g<<endl<<mp[i].nume_produs<<"\t\t"<<mp[i].pret_achizitie<<"\t\t";
g<<mp[i].nume_furnizor;
ok=1;
}
if(ok==0)
g<<"Nu au fost cumparate produse de la acest furnizor!";
g<<endl;
}

///determinarea mediei maxime


float medieMaxima(materii_prime mp[],int n)
{
float maxx=mp[1].cantitate;
for(int i=2; i<=n; i++)
if(mp[i].cantitate>maxx)
maxx=mp[i].cantitate;
return maxx;
}
///Afișarea numelui furnizorului de la care a cumpărat cele mai multe produse
void afisare_nume_furnizor(materii_prime mp[],int n)
{
float maxx=medieMaxima(mp,n);
g<<endl<<endl<<"\t\tFurnizori" << endl;
g<<endl<<"\t\tNumeFurnizor\t\tCantitate"<<endl;
for(int i=1; i<=n; i++)
if(mp[i].cantitate==maxx)
g<<mp[i].nume_furnizor<<"\t\t"<<mp[i].cantitate<<endl;
g<<endl;
}
///Ordonarea produselor alfaabetic după nume produsului, iar la aceiași nume
descrescător după preț.
void Sortare(materii_prime mp[],int n)
{
for(int i=1; i<=n-1; i++)
for(int j=i+1; j<=n; j++)
if(mp[i].nume_produs[0]>mp[j].nume_produs[0])
swap(mp[i],mp[j]);
}

///lista elevilor cu un nume dat de la tastaura


void cantitate_cofetarie(materii_prime mp[],int n)
{
for(int i=0; i<=n; i++)
{
nr=nr+mp[i].cantitate;
}
g<<nr;
g<<endl;
}
void adaugare(materii_prime mp[],int &n)
{
n=n+1;
cout<<"Nume produs:";
[Link]();
cin>>mp[n].nume_produs;
cout<<"Cantitate:";
cin>>mp[n].cantitate;
cout<<"Pret achizitie:";
cin>>mp[n].pret_achizitie;
cout<<"Nume furnizor:";
[Link]();
cin>>mp[n].nume_furnizor;
g<<endl<<mp[n].nume_produs<<"\t\t"<<mp[n].cantitate<<"\t\
t"<<mp[n].pret_achizitie<<"\t\t"<<mp[n].nume_furnizor;

}
void stergere(materii_prime mp[],int &n)
{ int i,k ;
cout<<"k=";cin>>k;
for(i=k;i<=n;i++){
strcpy(mp[i].nume_produs,mp[i+1].nume_produs);
strcpy(mp[i].nume_furnizor,mp[i+1].nume_furnizor);
mp[i].cantitate=mp[i+1].cantitate;
mp[i].pret_achizitie=mp[i+1].pret_achizitie;
}

for(i=1;i<=n-1;i++)
g<<endl<<mp[i].nume_produs<<" "<<mp[i].cantitate<<" "<<mp[i].pret_achizitie<<"
"<<mp[i].nume_furnizor<<endl;
}

///functia principala main


int main()
{
int optiune;
do
{
///afisare meniu pe ecran
cout << endl<<endl<<"**MENIU**" << endl;
cout << endl<<"1. Citire date ";
cout << endl<<"2. Afisare ";
cout << endl<<"3. Afisare produse de la furnizorul dat";
cout << endl<<"4. Sortare alfabetica dupa nume ";
cout << endl<<"5. Stergerea unui produs ";
cout << endl<<"6. Adaugarea unui produs";
cout << endl<<"7. Afișarea numelui furnizorului de la care a cumpărat cele mai
multe produse ";
cout << endl<<"8. Afișare valoarea totală a stocului produselor din depozitul
cofetăriei ";
cout << endl<<"9. Membrii echipei ";
cout<< endl<<"10. Iesire ";
///citire operatie dorita
cout<< endl<<"\t\tAlege operatia: ";
cin>>optiune;

///executie operatie dorita


switch(optiune)
{
case 1: citire(mp,n); break;
case 2: afisare(mp,n); break;
case 3:produse_furnizor(mp,n); break;
case 4: Sortare(mp,n);afisare(mp,n); break;
case 5: stergere(mp,n); break;
case 6: adaugare(mp,n);break;
case 7: afisare_nume_furnizor(mp,n); break;
case 8: cantitate_cofetarie(mp,n); break;
case 9: g<<"\nProgram realizat de Marcu Marius-Cristian "; break;
case 10: return 0;
default: cout<<"Optiune inexistenta!";
}
}
while(optiune!=10);
return 0;
}

S-ar putea să vă placă și