fork download
  1. #include<iostream>
  2. #include<fstream>
  3. #include<string.h>
  4. using namespace std;
  5. struct biblioteca{
  6. char autor[30],titlu[30],nume_prenume[30];
  7. int an_apar,tiraj,imprumut;
  8. struct data_scadenta{
  9. int zi,luna,an;}scadenta;
  10. };
  11. ifstream f("citire.rtf");
  12. void citire(biblioteca a[100],int n)
  13. {
  14. for(int i=0;i<n;i++)
  15. {f.get(a[i].autor,255);
  16. f.get();
  17. f.get(a[i].titlu,255);
  18. f.get();
  19. f>>a[i].an_apar;
  20. f>>a[i].tiraj;
  21. f>>a[i].imprumut;f.get();
  22. f.get(a[i].nume_prenume,255);
  23. f.get();
  24. f>>a[i].scadenta.zi;
  25. f>>a[i].scadenta.luna;
  26. f>>a[i].scadenta.an;
  27. f.get();}
  28. }
  29. void tiparire(biblioteca a[100],int n)
  30. {
  31. for(int i=0;i<n;i++)
  32. {cout<<"autorul: "<<a[i].autor<<endl;
  33. cout<<"titlul: "<<a[i].titlu<<endl;
  34. cout<<"anul aparitiei: "<<a[i].an_apar<<endl;
  35. cout<<"numarul de exemplare: "<<a[i].tiraj<<endl;
  36. cout<<"Cartea a fost imprumutata? "<<a[i].imprumut<<endl;
  37. cout<<"Numele si prenumele peresoanei care a imprumutat cartea: "<<a[i].nume_prenume<<endl;
  38.  
  39. cout<<"Ziua scadentei: "<<a[i].scadenta.zi<<endl;
  40. cout<<"Luna scadentei: "<<a[i].scadenta.luna<<endl;
  41. cout<<"Anul scadentei: "<<a[i].scadenta.an<<endl;}
  42. }
  43. int main()
  44. {
  45. biblioteca a[100];
  46. int n,i;biblioteca aux;
  47. char k[100];
  48. f>>n;f.get();
  49. citire(a,n);
  50. cout<<endl<<"afisarea bazei de date: ";
  51. tiparire(a,n);
  52. for (i=0; i<n-1; i++)
  53. if (strcmp(a[i].autor,a[i+1].autor)>0)//autori
  54. {
  55. aux=a[i];
  56. a[i]=a[i+1];
  57. a[i+1]=aux;
  58. }
  59. for (i=0; i<n; i++)
  60. cout<<a[i].titlu<<endl;
  61. for (i=0; i<n-1; i++)
  62. if (strcmp(a[i].titlu,a[i+1].titlu)>0)//titlu
  63. {
  64. aux=a[i];
  65. a[i]=a[i+1];
  66. a[i+1]=aux;
  67. }
  68. for (i=0; i<n; i++)
  69. cout<<a[i].titlu<<endl;
  70. cout<<"a cui autor vr=";
  71. cin>>k;
  72. for (i=0; i<n; i++)
  73. if (strcmp(a[i].autor,k)==0)//autori
  74. {
  75. cout<<a[i].titlu<<endl;
  76. }
  77. }
  78.  
Success #stdin #stdout 0.01s 5296KB
stdin
Standard input is empty
stdout
afisarea bazei de date: a cui autor vr=