Advertisement
xgallom

Mejdi zapocet 1

Nov 21st, 2019
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.52 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstring>
  3.  
  4. #define STRING_LENGTH 30
  5. #define MAX_ZOO 3
  6.  
  7. class Zoo {
  8. public:
  9.  
  10.     Zoo(const char *a_miesto, const char *a_zviera, int a_cisloZvierata, long a_hodnotaZvierata);
  11.  
  12.     const char *miesto() const;
  13.     const char *zviera() const;
  14.     int cislo() const;
  15.     long hodnota() const;
  16.  
  17. private:
  18.     char
  19.         m_miesto[STRING_LENGTH],
  20.         m_zviera[STRING_LENGTH];
  21.     int m_cisloZvierata;
  22.     long m_hodnotaZvierata;
  23. };
  24.  
  25. Zoo::Zoo(const char *a_miesto, const char *a_zviera, int a_cisloZvierata, long a_hodnotaZvierata)
  26. {
  27.     strncpy(m_miesto, a_miesto, STRING_LENGTH);
  28.     strncpy(m_zviera, a_zviera, STRING_LENGTH);
  29.     m_cisloZvierata = a_cisloZvierata;
  30.     m_hodnotaZvierata = a_hodnotaZvierata;
  31. }
  32.  
  33. const char *Zoo::miesto() const
  34. {
  35.     return m_miesto;
  36. }
  37.  
  38. const char *Zoo::zviera() const
  39. {
  40.     return m_zviera;
  41. }
  42.  
  43. int Zoo::cislo() const
  44. {
  45.     return m_cisloZvierata;
  46. }
  47.  
  48. long Zoo::hodnota() const
  49. {
  50.     return m_hodnotaZvierata;
  51. }
  52.  
  53. std::ostream &operator<<(std::ostream &os, const Zoo &zoo)
  54. {
  55.     os << "Miesto zoo: " << zoo.miesto() << "\n";
  56.     os << "Druh zvierata: " << zoo.zviera() << "\n";
  57.     os << "Cislo zvierata: " << zoo.cislo() << "\n";
  58.     os << "Spolocenska hodnota zvierata [eur]: " << zoo.hodnota() << "\n";
  59.  
  60.     return os;
  61. }
  62.  
  63. int main()
  64. {
  65.     int count;
  66.     Zoo *zvierata[MAX_ZOO + 1]; // +1 kvoli predvytvorenemu slonovi
  67.  
  68.  
  69.     std::cout << "Pocet zvierat[1 - " << MAX_ZOO << "]: ";
  70.     std::cin >> count;
  71.     std::cout << "\n";
  72.  
  73.     if(count == 0 || count > MAX_ZOO) {
  74.         std::cout << "Nevhodny pocet zvierat\n";
  75.         return 1;
  76.     }
  77.  
  78.  
  79.     zvierata[0] = new Zoo("Bojnice", "Slon", 1002, 11000);
  80.  
  81.     for(int i = 1; i < count + 1; ++i) {
  82.         char miesto[STRING_LENGTH], zviera[STRING_LENGTH];
  83.         int cislo;
  84.         long hodnota;
  85.  
  86.         std::cout << "Miesto kde zviera[" << i << "] zije: ";
  87.         std::cin >> miesto;
  88.  
  89.         std::cout << "Druh zvierata[" << i << "]: ";
  90.         std::cin >> zviera;
  91.  
  92.         std::cout << "Cislo zvierata[" << i << "]: ";
  93.         std::cin >> cislo;
  94.  
  95.         std::cout << "Spolocenska hodnota zvierata[" << i << "] [eur]: ";
  96.         std::cin >> hodnota;
  97.         std::cout << "\n";
  98.  
  99.         zvierata[i] = new Zoo(miesto, zviera, cislo, hodnota);
  100.     }
  101.  
  102.  
  103.     std::cout << "Predvytvoreny slon:\n\n" << *zvierata[0] << "\n";
  104.  
  105.     std::cout << "Zadane zvierata:\n\n";
  106.     for(int i = 1; i < count + 1; ++i)
  107.         std::cout << *zvierata[i] << "\n";
  108.  
  109.  
  110.     long kolektivnaHodnota = 0;
  111.  
  112.     for(int i = 0; i < count + 1; ++i)
  113.         kolektivnaHodnota += zvierata[i]->hodnota();
  114.  
  115.     std::cout << "Kolektivna spolocenska hodnota vsetkych zvierat [eur]: " << kolektivnaHodnota << "\n";
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement