Advertisement
simov

OOP Kol.Zad.

Apr 3rd, 2014
330
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.07 KB | None | 0 0
  1. /*
  2. Танчери Problem 1 (2 / 2)
  3. (40 поени)
  4.  
  5. Да се креира структура Tanc во која се чуваат податоци за името на танцот и земја на потекло (низи од 15 знаци) (10 поени).
  6.  
  7. Потоа да се креирa структура Tancer во која се чуваат податоци за име и презиме (низи од максимум 20 знаци), низа од 5 танци (структура Tanc) кои дадениот танчер може да ги игра (10 поени). Дополнително, за оваа структура да се обезбеди функција со потпис (20 поени):
  8.  
  9. void tancuvanje(Tancer *t, int n, char *zemja)
  10.  
  11. што ќе ги испечати во посебен ред името и презимето на танчерите што знаат да играат барем по еден танц од земјата која е проследена како аргумент на функцијата, како и името на танцот во формат: Име Презиме, Име на танц
  12.  
  13. Sample input:
  14. 4
  15. Aleks
  16. Aleksov
  17. samba
  18. brazil
  19. salsa
  20. kuba
  21. merengue
  22. dominikana
  23. Marko
  24. Markov
  25. tango
  26. argentina
  27. flamenco
  28. spanija
  29. samba
  30. brazil
  31. Nikola
  32. Nikolov
  33. chacha
  34. kuba
  35. samba
  36. brazil
  37. vienski
  38. avstrija
  39. Marta
  40. Martovska
  41. samba
  42. brazil
  43. samba1
  44. brazil
  45. bachata
  46. dominikana
  47. brazil
  48.  
  49. Sample output:
  50. Aleks Aleksov, samba
  51. Marko Markov, samba
  52. Nikola Nikolov, samba
  53. Marta Martovska, samba
  54. */
  55.  
  56. #include<iostream>
  57. #include <string.h>
  58. using namespace std;
  59.  
  60. struct Tanc{
  61.         char ime[15];
  62.         char zemja[15];
  63.     };
  64. struct Tancer{
  65.     struct Tanc niza[5];
  66.     char ime[20];
  67.     char prezime[20];
  68. };
  69. void tancuvanje(Tancer *t, int n, char *zemja){
  70.     for(int i = 0; i < n; i++){
  71.         for(int j = 0; j < 3; j++){
  72.             if(!(strcmp(t[i].niza[j].zemja,zemja))){
  73.                 cout<<t[i].ime <<" "<<t[i].prezime <<", "<< t[i].niza[j].ime<<endl;break; }}} }
  74.  
  75. int main()
  76. {
  77.     int i, j, n;
  78.     char zemja[10];
  79.     Tancer tanceri[5];
  80.     cin >> n;
  81.     for(i = 0; i < n; i++){
  82.         cin >> tanceri[i].ime;
  83.         cin >> tanceri[i].prezime;
  84.         for(j = 0; j < 3; j++){
  85.             cin >> tanceri[i].niza[j].ime;
  86.             cin >> tanceri[i].niza[j].zemja;
  87.         }
  88.     }
  89.     cin >> zemja;
  90.     tancuvanje(tanceri, n, zemja);
  91.     return 0;
  92. }
  93.  
  94. /*
  95. Танцов клуб Problem 2 (0 / 0)
  96. (60 поени)
  97.  
  98. Да се креира класа Clen во која се чуваат податоци за име (низа од максимум 50 знаци), презиме (низа од максимум 50 знаци) и степен во клубот (цел број) (5 поени). За оваа класа да се преоптоварат:
  99.  
  100. Оператор ++ (prefix и postfix нотација) – за инкрементирање на степенот во клубот (10 поени)
  101. Оператор << - за печатење на сите податоци за членот во формат: Ime Prezime, stepen. (5 поени)
  102. Оператор != - за споредба на два члена според нивниот степен (5 поени)
  103. Потоа да се креира класа Klub во која се чува име на клубот (низа од максимум 100 знаци), динамички алоцирана низа од објекти од класата Clen, како и број на елементи во низата (цел број) (5 поени). За класата да се обезбедат:
  104.  
  105. Оператор += – за додавање на нов член во низата со членови (10 поени)
  106. Оператор << - за печатење на името на клубот и сите негови членови во посебен ред (5 поени)
  107. Функција со потпис: Klub& novKlub(Clen &c). Со оваа функција се креира нов клуб кој ги содржи сите членови кои имаат ист степен во клубот со членот c кој е предаден како аргумент на функцијата и притоа степенот на сите членови се зголемува за едно ниво погоре (10 поени).
  108. Да се имплементираат сите дополнителни методи што се повикуваат за програмата да биде валидна. (5 поени)
  109.  
  110. Sample input:
  111. Dance
  112. 5
  113. Aleks Aleksov 1
  114. Marko Markov 2
  115. Stefan Stefanov 1
  116. Kiro Kirov 3
  117. Mirce Mircev 2
  118.  
  119. Sample output:
  120. Dance
  121. Marko Markov, 3
  122. Mirce Mircev, 3
  123. */
  124.  
  125. #include<iostream>
  126. #include<cstring>
  127. using namespace std;
  128.  
  129. int main()
  130. {
  131.     Clen clen;
  132.     int n, stepen;
  133.     char ime[30], prezime[30];
  134.     cin >> ime >> n;
  135.     Klub k1(ime);
  136.     for(int i = 0; i < n; i++){
  137.         cin >> ime >> prezime >> stepen;
  138.         Clen c(ime, prezime, stepen);
  139.         k1 += c;
  140.         clen = c;
  141.     }  
  142.     Klub k2 = k1.novKlub(clen);
  143.     cout << k2;
  144.     return 0;
  145. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement