Advertisement
Dimitrija

Laboratoriski 2 - 3 OOP

Mar 11th, 2021
798
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.88 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstring>
  3. using namespace std;
  4.  
  5. /*
  6.  
  7. Да се дефинира класа Film, во која ќе се чуваат информации за:
  8.  
  9. име низа од 100 знаци
  10. режисер низа од 50 знаци
  11. жанр низа од 50 знаци
  12. година цел број
  13. Сите променливи треба да бидат приватни. Соодветно во рамките на класата да се дефинираат:
  14.  
  15. default конструктор и конструктор со аргументи
  16. метод за печатење на информациите за филмот
  17. Дополнително да се реализира надворешна функција:
  18.  
  19. void pecati_po_godina(Film *f, int n, int godina) која ќе прима аргумент низа од филмови, вкупниот број на филмови и година, а треба да ги отпечати само филмовите кои се направени во дадената година.
  20. For example:
  21.  
  22. Input  
  23. 4
  24. Frankenweenie
  25. Tim_Burton
  26. Animation
  27. 2012
  28. Lincoln
  29. Steven_Spielberg
  30. History
  31. 2012
  32. Wall-E
  33. Andrew_Stanton
  34. Animation
  35. 2008
  36. Avatar
  37. James_Cameron
  38. Fantasy
  39. 2009
  40. 2008
  41.  
  42. Result
  43. Ime: Wall-E
  44. Reziser: Andrew_Stanton
  45. Zanr: Animation
  46. Godina: 2008
  47.  
  48. */
  49.  
  50. class Film{
  51.  
  52.     private:
  53.         char ime[100];
  54.         char reziser[50];
  55.         char zanr[50];
  56.         int godina;
  57.        
  58.     public:
  59.         Film(char *i,char *r,char *z, int g){
  60.             strcpy(ime,i);
  61.             strcpy(reziser,r);
  62.             strcpy(zanr,z);
  63.             godina = g;
  64.         }
  65.         Film(){
  66.        
  67.         }
  68.         void PrintIme(){
  69.             cout<<ime<<endl;
  70.         }
  71.         void PrintReziser(){
  72.             cout<<reziser<<endl;
  73.         }
  74.         void PrintZanr(){
  75.             cout<<zanr<<endl;
  76.         }
  77.         int PrintGodina(){
  78.             return godina;
  79.         }
  80.        
  81.  
  82. };
  83.  
  84.  
  85. void pecati_po_godina(Film *f, int n, int godina){
  86. int i;
  87.     for (i=0;i<n;i++){
  88.         if ((f+i)->PrintGodina() == godina){
  89.         cout<<"Ime: ";
  90.         (f+i)->PrintIme();
  91.    
  92.         cout<<"Reziser: ";
  93.         (f+i)->PrintReziser();
  94.        
  95.         cout<<"Zanr: ";
  96.         (f+i)->PrintZanr();
  97.        
  98.         cout<<"Godina: " << (f+i)->PrintGodina()<<endl;
  99.     }
  100.    
  101.    
  102.     }
  103.  
  104.  
  105.  
  106. }
  107.  
  108.  
  109. // vashiot kod ovde
  110.  
  111. int main() {
  112.     int n;
  113.     cin >> n;
  114.     Film f[100];
  115.     //da se inicijalizira niza od objekti od klasata Film
  116.     for(int i = 0; i < n; ++i) {
  117.         char ime[100];
  118.         char reziser[50];
  119.         char zanr[50];
  120.         int godina;
  121.         cin >> ime;
  122.         cin >> reziser;
  123.         cin >> zanr;
  124.         cin >> godina;
  125.         f[i]={ime,reziser,zanr,godina};
  126.         //da se kreira soodveten objekt
  127.     }
  128.     int godina;
  129.     cin >> godina;
  130.     pecati_po_godina(f, n,godina);
  131.     //da se povika funkcijata pecati_po_godina
  132.     return 0;
  133.  }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement