BorjanCrvenkov

OOP av3 2ra

Apr 3rd, 2020
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.10 KB | None | 0 0
  1. /*
  2. Да се напише класа во која ќе се чуваат основни податоци за вработен:
  3. • име
  4. • плата
  5. • работна позиција (работната позиција може да биде вработен, директор или
  6. шеф).
  7. Напишете главна програма во која се читаат од стандарден влез податоци за N
  8. вработени, а потоа се пачати листа на вработените сортирани според висината
  9. на платата во опаѓачки редослед.
  10. */
  11.  
  12. #include <iostream>
  13. #include<cstring>
  14. using namespace std;
  15. enum position{
  16. vraboten,direktor,sef
  17. };
  18. class Person{
  19. private:
  20. char ime[100];
  21. int plata;
  22. position pozicija;
  23. public:
  24. Person (){
  25. }
  26. Person (char *n,int pl,position p){
  27. strcpy(ime,n);
  28. plata=pl;
  29. pozicija=p;
  30. }
  31. ~Person(){
  32. }
  33. void setIME(char const *n){
  34. strcpy(ime,n);
  35. }
  36. void setPLATA(char const pl){
  37. plata=pl;
  38. }
  39. void setPOZZ(position p){
  40. pozicija=p;
  41. }
  42. char const *getIME() {
  43. return ime;
  44. }
  45. int const getPLATA(){
  46. return plata;
  47. }
  48. position const getPOZZ(){
  49. return pozicija;
  50. }
  51. };
  52. void sort(Person a[],int n){
  53. Person p;
  54. for(int i=0;i<n-1;i++){
  55. for(int j=i;j<n;j++){
  56. if(a[i].getPLATA()<a[j].getPLATA()){
  57. p=a[i];
  58. a[i]=a[j];
  59. a[j]=p;
  60. }
  61. }
  62. }
  63. }
  64. int main()
  65. {
  66. Person employee[100];
  67. int n,pozicija;
  68. float plata;
  69. char ime[100];
  70. cin>>n;
  71. for(int i=0;i<n;i++){
  72. cin>>ime>>plata>>pozicija;
  73. employee[i].setIME(ime);
  74. employee[i].setPLATA(plata);
  75. employee[i].setPOZZ((position) pozicija);
  76. }
  77. sort(employee,n);
  78. for(int i=0;i<n;i++){
  79. cout<<" "<<i+1<<" "<<employee[i].getIME()<<"\t"<<employee[i].getPLATA()<<"\t"<<employee[i].getPOZZ()<<endl;
  80. }
  81. return 0;
  82. }
Advertisement
Add Comment
Please, Sign In to add comment