#include<iostream>
#include<fstream>
#include<string.h>
using namespace std;
struct biblioteca{
char autor[30],titlu[30],nume_prenume[30];
int an_apar,tiraj,imprumut;
struct data_scadenta{
int zi,luna,an;}scadenta;
};
ifstream f("citire.rtf");
void citire(biblioteca a[100],int n)
{
for(int i=0;i<n;i++)
{f.get(a[i].autor,255);
f.get();
f.get(a[i].titlu,255);
f.get();
f>>a[i].an_apar;
f>>a[i].tiraj;
f>>a[i].imprumut;f.get();
f.get(a[i].nume_prenume,255);
f.get();
f>>a[i].scadenta.zi;
f>>a[i].scadenta.luna;
f>>a[i].scadenta.an;
f.get();}
}
void tiparire(biblioteca a[100],int n)
{
for(int i=0;i<n;i++)
{cout<<"autorul: "<<a[i].autor<<endl;
cout<<"titlul: "<<a[i].titlu<<endl;
cout<<"anul aparitiei: "<<a[i].an_apar<<endl;
cout<<"numarul de exemplare: "<<a[i].tiraj<<endl;
cout<<"Cartea a fost imprumutata? "<<a[i].imprumut<<endl;
cout<<"Numele si prenumele peresoanei care a imprumutat cartea: "<<a[i].nume_prenume<<endl;
cout<<"Ziua scadentei: "<<a[i].scadenta.zi<<endl;
cout<<"Luna scadentei: "<<a[i].scadenta.luna<<endl;
cout<<"Anul scadentei: "<<a[i].scadenta.an<<endl;}
}
int main()
{
biblioteca a[100];
int n,i;biblioteca aux;
char k[100];
f>>n;f.get();
citire(a,n);
cout<<endl<<"afisarea bazei de date: ";
tiparire(a,n);
for (i=0; i<n-1; i++)
if (strcmp(a[i].autor,a[i+1].autor)>0)//autori
{
aux=a[i];
a[i]=a[i+1];
a[i+1]=aux;
}
for (i=0; i<n; i++)
cout<<a[i].titlu<<endl;
for (i=0; i<n-1; i++)
if (strcmp(a[i].titlu,a[i+1].titlu)>0)//titlu
{
aux=a[i];
a[i]=a[i+1];
a[i+1]=aux;
}
for (i=0; i<n; i++)
cout<<a[i].titlu<<endl;
cout<<"a cui autor vr=";
cin>>k;
for (i=0; i<n; i++)
if (strcmp(a[i].autor,k)==0)//autori
{
cout<<a[i].titlu<<endl;
}
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPGZzdHJlYW0+CiNpbmNsdWRlPHN0cmluZy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpzdHJ1Y3QgYmlibGlvdGVjYXsKY2hhciBhdXRvclszMF0sdGl0bHVbMzBdLG51bWVfcHJlbnVtZVszMF07CmludCBhbl9hcGFyLHRpcmFqLGltcHJ1bXV0OwpzdHJ1Y3QgZGF0YV9zY2FkZW50YXsKaW50IHppLGx1bmEsYW47fXNjYWRlbnRhOwp9OwppZnN0cmVhbSBmKCJjaXRpcmUucnRmIik7CnZvaWQgY2l0aXJlKGJpYmxpb3RlY2EgYVsxMDBdLGludCBuKQp7CmZvcihpbnQgaT0wO2k8bjtpKyspCntmLmdldChhW2ldLmF1dG9yLDI1NSk7CmYuZ2V0KCk7CmYuZ2V0KGFbaV0udGl0bHUsMjU1KTsKZi5nZXQoKTsKZj4+YVtpXS5hbl9hcGFyOwpmPj5hW2ldLnRpcmFqOwpmPj5hW2ldLmltcHJ1bXV0O2YuZ2V0KCk7CmYuZ2V0KGFbaV0ubnVtZV9wcmVudW1lLDI1NSk7CmYuZ2V0KCk7CmY+PmFbaV0uc2NhZGVudGEuemk7CmY+PmFbaV0uc2NhZGVudGEubHVuYTsKZj4+YVtpXS5zY2FkZW50YS5hbjsKZi5nZXQoKTt9Cn0Kdm9pZCB0aXBhcmlyZShiaWJsaW90ZWNhIGFbMTAwXSxpbnQgbikKewogICAgZm9yKGludCBpPTA7aTxuO2krKykKe2NvdXQ8PCJhdXRvcnVsOiAiPDxhW2ldLmF1dG9yPDxlbmRsOwpjb3V0PDwidGl0bHVsOiAiPDxhW2ldLnRpdGx1PDxlbmRsOwpjb3V0PDwiYW51bCBhcGFyaXRpZWk6ICI8PGFbaV0uYW5fYXBhcjw8ZW5kbDsKY291dDw8Im51bWFydWwgZGUgZXhlbXBsYXJlOiAiPDxhW2ldLnRpcmFqPDxlbmRsOwpjb3V0PDwiQ2FydGVhIGEgZm9zdCBpbXBydW11dGF0YT8gIjw8YVtpXS5pbXBydW11dDw8ZW5kbDsKY291dDw8Ik51bWVsZSBzaSBwcmVudW1lbGUgcGVyZXNvYW5laSBjYXJlIGEgaW1wcnVtdXRhdCBjYXJ0ZWE6ICI8PGFbaV0ubnVtZV9wcmVudW1lPDxlbmRsOwoKY291dDw8IlppdWEgc2NhZGVudGVpOiAiPDxhW2ldLnNjYWRlbnRhLnppPDxlbmRsOwpjb3V0PDwiTHVuYSBzY2FkZW50ZWk6ICI8PGFbaV0uc2NhZGVudGEubHVuYTw8ZW5kbDsKY291dDw8IkFudWwgc2NhZGVudGVpOiAiPDxhW2ldLnNjYWRlbnRhLmFuPDxlbmRsO30KfQppbnQgbWFpbigpCnsKICAgIGJpYmxpb3RlY2EgYVsxMDBdOwppbnQgbixpO2JpYmxpb3RlY2EgYXV4OwpjaGFyIGtbMTAwXTsKZj4+bjtmLmdldCgpOwpjaXRpcmUoYSxuKTsKY291dDw8ZW5kbDw8ImFmaXNhcmVhIGJhemVpIGRlIGRhdGU6ICI7CnRpcGFyaXJlKGEsbik7CmZvciAoaT0wOyBpPG4tMTsgaSsrKQppZiAoc3RyY21wKGFbaV0uYXV0b3IsYVtpKzFdLmF1dG9yKT4wKS8vYXV0b3JpCnsKICAgIGF1eD1hW2ldOwogICAgYVtpXT1hW2krMV07CiAgICBhW2krMV09YXV4Owp9CmZvciAoaT0wOyBpPG47IGkrKykKY291dDw8YVtpXS50aXRsdTw8ZW5kbDsKZm9yIChpPTA7IGk8bi0xOyBpKyspCmlmIChzdHJjbXAoYVtpXS50aXRsdSxhW2krMV0udGl0bHUpPjApLy90aXRsdQp7CiAgICBhdXg9YVtpXTsKICAgIGFbaV09YVtpKzFdOwogICAgYVtpKzFdPWF1eDsKfQpmb3IgKGk9MDsgaTxuOyBpKyspCmNvdXQ8PGFbaV0udGl0bHU8PGVuZGw7CmNvdXQ8PCJhIGN1aSBhdXRvciB2cj0iOwpjaW4+Pms7CmZvciAoaT0wOyBpPG47IGkrKykKaWYgKHN0cmNtcChhW2ldLmF1dG9yLGspPT0wKS8vYXV0b3JpCnsKICAgIGNvdXQ8PGFbaV0udGl0bHU8PGVuZGw7Cn0KfQo=