Advertisement
Guest User

Untitled

a guest
Oct 16th, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.65 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include <iostream>
  3. using namespace std;
  4. using namespace System;
  5.  
  6.  
  7.  
  8. float frand(float fMin, float fMax);
  9. #define max_size 10
  10. class climate_build;
  11. class climate_street;
  12. class climate
  13. {
  14.     float temperature;
  15.     int light; // %
  16.     int water; // %
  17.     int cys; // %
  18. public:
  19.     climate();
  20.     ~climate();
  21.  
  22.     friend void enter_value(climate&, climate_build&, climate_street&);
  23.     friend void print_value(climate*, climate_build*, climate_street*, int n);
  24.     friend bool operator >(climate a, climate_street b);
  25.     friend climate& operator ++(climate &a);
  26. private:
  27.  
  28. };
  29.  
  30. class climate_build
  31. {
  32.     int optical_climate; // %
  33.     int permit;
  34. public:
  35.     climate_build();
  36.     ~climate_build();
  37.  
  38.     friend void enter_value(climate&, climate_build&, climate_street&);
  39.     friend void print_value(climate*, climate_build*, climate_street*, int n);
  40.     friend climate& operator ++(climate &a);
  41.  
  42. private:
  43.  
  44. };
  45.  
  46. class climate_street
  47. {
  48.     int critical_water; // %
  49.     int critical_cys; // %
  50. public:
  51.     climate_street();
  52.     ~climate_street();
  53.  
  54.     friend void enter_value(climate&, climate_build&, climate_street&);
  55.     friend void print_value(climate*, climate_build*, climate_street*, int n);
  56.     friend bool operator >(climate a, climate_street b);
  57.     friend climate& operator ++(climate &a);
  58. private:
  59.  
  60. };
  61.  
  62. bool operator >(climate a, climate_street b)
  63. {
  64.     if (a.water < b.critical_water && a.cys < b.critical_cys)
  65.         return false;
  66.  
  67.     return true;
  68. }
  69.  
  70. climate& operator ++(climate &a)
  71. {
  72.     a.water++;
  73.  
  74.     return a;
  75. }
  76.  
  77. void enter_value(climate &a, climate_build &b, climate_street &c)
  78. {
  79.     a.temperature = frand(1.0, 100.0);
  80.     a.light = (int)frand(1.0, 100.0);
  81.     a.water = (int)frand(1.0, 100.0);
  82.     a.cys = (int)frand(1.0, 100.0);
  83.  
  84.     b.optical_climate = (int)frand(1.0, 100.0);
  85.     b.permit = (int)frand(1.0, 100.0);
  86.  
  87.     c.critical_water = (int)frand(1.0, 100.0);
  88.     c.critical_cys = (int)frand(1.0, 100.0);
  89. }
  90.  
  91. void print_value(climate* a, climate_build* b, climate_street* c, int n)
  92. {
  93.     setlocale(LC_CTYPE, "ukr");
  94.     for (int i = 0; i < n; i++)
  95.     {
  96.         cout << "Номер - " << i << endl;
  97.         cout << "Освiтленiсть - " << a[i].light << " %\n";
  98.         cout << "Води - " << a[i].water << " % " << "( Максимальна норма - " << c[i].critical_water << " )\n";
  99.         cout << "Кислотнiсть - " << a[i].cys << " % " << "( Максимальна норма - " << c[i].critical_cys << " )\n";
  100.  
  101.         /*if (a[i].water > c[i].critical_water)
  102.             cout << "Знайдено критичний рiвень води в [" << i << "]. Вiн становить - " << a[i].water << " . Норма - " << c[i].critical_water << endl;
  103.  
  104.         if (a[i].cys > c[i].critical_cys)
  105.             cout << "Знайдено критичний рiвень кислотностi в [" << i << "]. Вiн становить - " << a[i].cys << " . Норма - " << c[i].critical_cys << endl;*/
  106.  
  107.         if (a[i] > c[i])
  108.         {
  109.             a[i]++;
  110.  
  111.             cout << "Було знайдено критичний параметр. Процент води повищено. Тепер становить - " << a[i].water;
  112.         }
  113.  
  114.         cout << "\n\n";
  115.     }
  116. }
  117.  
  118. climate_street::climate_street()
  119. {
  120. }
  121.  
  122. climate_street::~climate_street()
  123. {
  124. }
  125.  
  126. climate_build::climate_build()
  127. {
  128. }
  129.  
  130. climate_build::~climate_build()
  131. {
  132. }
  133.  
  134. climate::climate()
  135. {
  136. }
  137.  
  138. climate::~climate()
  139. {
  140. }
  141.  
  142. int main()
  143. {
  144.     climate a[max_size];
  145.     climate_build b[max_size];
  146.     climate_street c[max_size];
  147.  
  148.     for(int i = 0; i < max_size; i++)
  149.         enter_value(a[i], b[i], c[i]);
  150.  
  151.     cout << "Random Value entered.\n";
  152.  
  153.     print_value(a, b, c, max_size);
  154.  
  155.     return 0;
  156. }
  157.  
  158. float frand(float fMin, float fMax)
  159. {
  160.     float f = (float)rand() / RAND_MAX;
  161.     return fMin + f * (fMax - fMin);
  162. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement