Sunteți pe pagina 1din 2

#include<iostream.

h>
#include<string.h>
//pentru evidenta cartilor dintr-o biblioteca se inregisteraza titlul pretul, nr
de exemplare si valoarea cartii
//val=(pret*nr ex), sa se eralizeze urm: introducerea unui noi carti, det valori
i totale a cartilor din biblioteca
//3 afisarea infirmatiilor
using namespace std;
struct carte
{
char titlu[100];
float p,val;
int nr;
}v[100];
void adaugare (carte v[], int &n)
{
cin.get();
cout<<"Titlul cartii: "; cin.get(v[n].titlu,100);
cout<<"Pretul cartii: "; cin>>v[n].p;
cout<<"Numar exemplare: "; cin>>v[n].nr;
v[n].val=v[n].p*v[n].nr;
n++;
}
void afisare (carte v[], int n)
{
for(int i=0;i<n;i++)
cout<<v[i].titlu<<" "<<v[i].p<<" "<<v[i].val<<" "<<v[i].nr<<endl;
}
float suma(carte v[], int n)
{
float sum=0; int i;
for(i=0;i<n;i++)
sum=sum+v[i].val;
return sum;
}
void sortare_val(carte v[], int n)
{
carte aux; int i,ok;
do
{
ok=1;
for(i=0;i<n-1;i++)
if(v[i].val>v[i+1].val)
{
aux=v[i];
v[i]=v[i+1];
v[i+1]=aux;
ok=0;
}
}while(ok==0);
}
void alfab(carte v[], int n)
{
int i,ok;
carte aux;
do{
ok=0;
for(i=0;i<n-1;i++)
if(strcmp(v[i].titlu,v[i+1].titlu)>0)
{
aux=v[i];
v[i]=v[i+1];
v[i+1]=aux;
ok=1;
}
}
while(ok);
}
void afisalf(carte v[], int n)
{
int i;
for(i=0;i<n;i++)
cout<<v[i].titlu<<endl;
}
void pret(carte v[], int n)
{
int i;
for(i=0;i<n;i++)
if(v[i].p>=10 && v[i].p<=30)
cout<<v[i].titlu<<endl;
}
int main()
{
int o,n=0;
cout<<"Alegeti una dintre urmatoarele optiuni: ";
cout<<"\n1. Introducerea unei noi carti";
cout<<"\n2. Determinarea valorii totale a cartilor din biblioteca";
cout<<"\n3. Afisarea informatiilor";
cout<<"\n4. Sortare carti crescator in functie de valoare";
cout<<"\n5. Afisare carti in ordine alfabetica";
cout<<"\n6. Afisare carti cu pret intre 10 si 30 RON";
cout<<"\n7. Afisare carti al caror titlu contin cuvantul poezii";
cin>>o;
do
{
switch(o)
{
case 1: adaugare(v,n); break;
case 2: cout<<suma(v,n); break;
case 3: afisare(v,n); break;
case 4: sortare_val(v,n);
afisare (v,n);break;
case 5: alfab(v,n);
afisalf(v,n); break;
case 6: pret(v,n); break;
}
cout<<"Dati o noua optiune: "; cin>>o;
}
while(o<=7&&o>=1);
}

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