Se cunosc date despre vânzările a n cărţii ale editurii Donaris: titlul cărţii,
preţul, cantitatea intrată în depozit (numărul de exemplare tipărite) şi cantitatea
vândută. Realizaţi un program care care să permită prin intermediul unui meniu
următoarele acţiuni :
- numărul titlurilor care s-au vândut cel mai bine;
-valoarea totală a vânzărilor ( suma încasată pe un titlu fiind preţul * numărul de
exemplare);
-topul celor mai bine vândute p cărţi unde valoarea lui p se citeşte de la
tastatură .
Răspunsuri la întrebare
Răspuns:
#include <bits/stdc++.h>
#include <stdlib.h>
using namespace std;
int main()
{
int n;
cout<<"Cate titluri exista? : ";
cin>>n;
string titlu[n];
int pret[n],ies[n],intra[n],poz[n];
long long int suma=0;
int j=1;
int i;
for(i=1;i<=n;i++)
{
system("cls"); //Folosesc impreuna cu biblioteca stdlib.h pentru a curata ecranul(este optional)
cout<<"Care este titlul cartii ? : ";
cin>>titlu[i];
cout<<"\n";
cout<<"Care este pretul cartii ? : ";
cin>>pret[i];
cout<<"\n";
cout<<"Cate carti au fost aduse ? : ";
cin>>intra[i];
cout<<"\n";
cout<<"Cate carti au fost vandute ? : ";
cin>>ies[i];
//Presupun ca titlurie care s-au vandut bine sunt cele care s-au vandut in numar egal cu cele aduse
if(intra[i]==ies[i])
{
poz[j]=i;
j++;
}
suma=suma+ies[i]*pret[i];
}
system("cls");
int p;
cout<<"Topul a cator carti vreti sa-l vedeti ? : ";
cin>>p;
string mesaj="Titlurile care s-au vandut cel mai bine sunt : ";
cout<<mesaj;
for(i=1;i<=j;i++)
cout<<titlu[poz[i]];
cout<<"\n";
string mesaj2="Suma totala obtinuta din vanzari este de : ";
cout<<mesaj2<<suma;
cout<<"\n";
int k;
int top=0;
int t=0;
int top_poz[n];
while(p)
{
for(i=1;i<=n;i++)
{
if(ies[i]-intra[i]==top)
{
top_poz[t]=i;
t++;
p--;
}
}
top++;
}
cout<<"Primele "<<p<<" carti care s-au vandut cel mai bine sunt : ";
for(k=1;k<=t;k++)
cout<<titlu[top_poz[k]]<<" , ";
}
Explicație: