Advertisement
Guest User

Untitled

a guest
May 26th, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.42 KB | None | 0 0
  1. /*
  2. TP 16/17 (Tutorijal 11, Zadatak 3)
  3. Autotestove napisao Haris Hasic. Sve primjedbe/zalbe, sugestije
  4. i pitanja slati na mail: hhasic2@etf.unsa.ba.
  5.  
  6. Vrsit ce se provjera na prepisivanje tutorijala (na kraju semestra)
  7. */
  8. #include <iostream>
  9. #include <stdexcept>
  10. #include <string.h>
  11. #include <iomanip>
  12. class Tim{
  13. char ime_tima[20];
  14. int broj_odigranih, broj_pobjeda, broj_nerijesenih, broj_poraza, broj_datih;
  15. int broj_primljenih, broj_poena;
  16. public:
  17. Tim(const char ime[]);
  18. void ObradiUtakmicu(int broj_datih, int broj_primljenih);
  19. const char *DajImeTima() const
  20. {
  21. const char *pocetak = ime_tima;
  22. return pocetak;
  23. }
  24.  
  25. int DajBrojPoena() const
  26. {
  27. return broj_poena;
  28. }
  29. int DajGolRazliku() const
  30. {
  31. return broj_datih - broj_primljenih;
  32. }
  33.  
  34. void IspisiPodatke() const;
  35.  
  36.  
  37.  
  38. };
  39.  
  40. Tim::Tim(const char ime[])
  41. {
  42. int duzina = 0;
  43. for(int i = 0; i < strlen(ime); i++)
  44. {
  45. duzina++;
  46. }
  47. if(duzina >= 20) throw std::range_error("Predugacko ime tima");
  48.  
  49. for(int i = 0; i < strlen(ime); i++)
  50. ime_tima[i] = ime[i];
  51. ime_tima[duzina] = '\0';
  52. broj_odigranih = 0; broj_pobjeda = 0; broj_nerijesenih = 0; broj_poraza = 0;
  53. broj_datih = 0;
  54. broj_primljenih = 0;
  55. broj_poena = 0;
  56. }
  57.  
  58. void Tim::ObradiUtakmicu(int broj_datih, int broj_primljenih)
  59. {
  60. if( broj_datih < 0 || broj_primljenih < 0 ) throw std::range_error("Neispravan broj golova");
  61. this->broj_datih = this->broj_datih + broj_datih;
  62. this->broj_primljenih = this->broj_primljenih + broj_primljenih;
  63.  
  64. broj_odigranih++;
  65.  
  66. if( broj_datih > broj_primljenih)
  67. {
  68. this->broj_poena += 3;
  69. this->broj_pobjeda++;
  70. }
  71. else if( broj_datih == broj_primljenih)
  72. {
  73. this->broj_poena += 1;
  74. this->broj_nerijesenih++;
  75. }
  76. else
  77. {
  78. broj_poraza++;
  79. }
  80. }
  81.  
  82. void Tim::IspisiPodatke() const
  83. {
  84. std:: cout << std::setw(20) << std::left << DajImeTima();
  85. std:: cout << std::setw(4) << std::right << broj_odigranih;
  86. std:: cout << std::setw(4) << std::right << broj_pobjeda;
  87. std:: cout << std::setw(4) << std::right << broj_nerijesenih;
  88. std:: cout << std::setw(4) << std::right << broj_poraza;
  89. std:: cout << std::setw(4) << std::right << broj_datih;
  90. std:: cout << std::setw(4) << std::right << broj_primljenih;
  91. std:: cout << std::setw(4) << std::right << broj_poena << std::endl;
  92. }
  93. int main ()
  94. {
  95. Tim t1("NK Zeljo");
  96. t1.ObradiUtakmicu(1,0);
  97. t1.ObradiUtakmicu(2,1);
  98. t1.IspisiPodatke();
  99. return 0;
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement