Advertisement
a53

Baza De Date EU

a53
Jan 24th, 2019
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.62 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstring>
  3. #include <algorithm>
  4. #define NC 256
  5. using namespace std;
  6. struct art
  7. {
  8. char prenume[NC],nume[NC],salariu[NC],varsta[NC],functie[NC],numar_de_telefon[NC],email[NC];
  9. };
  10. art a[80];
  11. int op;
  12. char c;
  13.  
  14. bool comp(art i,art j)
  15. {
  16. if(c=='+')
  17. {
  18. if(op==1)
  19. if(strcmp(i.prenume,j.prenume)==-1)
  20. return 1;
  21. if(op==2)
  22. if(strcmp(i.nume,j.nume)==-1)
  23. return 1;
  24. if(op==3)
  25. if(strcmp(i.salariu,j.salariu)==-1)
  26. return 1;
  27. if(op==4)
  28. if(strcmp(i.varsta,j.varsta)==-1)
  29. return 1;
  30. if(op==5)
  31. if(strcmp(i.functie,j.functie)==-1)
  32. return 1;
  33. if(op==6)
  34. if(strcmp(i.numar_de_telefon,j.numar_de_telefon)==-1)
  35. return 1;
  36. if(op==7)
  37. if(strcmp(i.email,j.email)==-1)
  38. return 1;
  39. }
  40. else
  41. {
  42. if(op==1)
  43. if(strcmp(i.prenume,j.prenume)==1)
  44. return 1;
  45. if(op==2)
  46. if(strcmp(i.nume,j.nume)==1)
  47. return 1;
  48. if(op==3)
  49. if(strcmp(i.salariu,j.salariu)==1)
  50. return 1;
  51. if(op==4)
  52. if(strcmp(i.varsta,j.varsta)==1)
  53. return 1;
  54. if(op==5)
  55. if(strcmp(i.functie,j.functie)==1)
  56. return 1;
  57. if(op==6)
  58. if(strcmp(i.numar_de_telefon,j.numar_de_telefon)==1)
  59. return 1;
  60. if(op==7)
  61. if(strcmp(i.email,j.email)==1)
  62. return 1;
  63. }
  64. return 0;
  65. }
  66.  
  67. int main()
  68. {
  69. int n;
  70. char s[25000],*p,separator[]=" ",cuv[7][NC];
  71. cin>>n;
  72. cin.get();
  73. for(int i=0;i<n;++i)
  74. {
  75. cin.getline(s,25000);
  76. p=s;
  77. p=strtok(p,separator);
  78. int nr=0;
  79. while(p)
  80. strcpy(cuv[nr++],p),p=strtok(NULL,separator);
  81. strcpy(a[i].prenume,cuv[0]);
  82. strcpy(a[i].nume,cuv[1]);
  83. strcpy(a[i].salariu,cuv[2]);
  84. strcpy(a[i].varsta,cuv[3]);
  85. strcpy(a[i].functie,cuv[4]);
  86. strcpy(a[i].numar_de_telefon,cuv[5]);
  87. strcpy(a[i].email,cuv[6]);
  88. }
  89. cin>>op>>c;
  90. stable_sort(a,a+n,comp);
  91. for(int i=0;i<n;++i)
  92. cout<<a[i].prenume<<' '<<a[i].nume<<' '<<a[i].salariu<<' '<<a[i].varsta<<' '<<a[i].functie<<' '<<a[i].numar_de_telefon<<' '<<a[i].email<<'\n';
  93. return 0;
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement