Advertisement
DearOohDeer

Metrolog w terenie C++

Mar 21st, 2021 (edited)
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.15 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3.  
  4. float Mniejszy(float A, float B);
  5. float Wieksza(float A , float B);
  6.  
  7. int main() {
  8.     float Temp = 0, Temp_Najwyz_Uj = 0, Temp_Najniz_Uj = 0, Srednia = 0, Temp_Najwyz_Dod = 0, Temp_Najniz_Dod = 0;
  9.     int Licz_Dod = 0, Licz_Uj = 0, Licz_Zero = 0, Licz_Odczyt = 0;
  10.     std::cout <<std::endl << "Witaj w programie pomocniczym ''Metrologia Prosta''." <<std::endl;
  11.     std::cout << "Warotsci odczytu moga byc tylko z przedzialu od -100 do 100."<< std::endl;
  12.     std::cout << "Podanie wartosci spoza tego przedzialu zakonczy program."<< std::endl;
  13.  
  14.     do {
  15.  
  16.         std::cout << "Podaj warotsc odczytu >>";
  17.         if (Licz_Odczyt != 0)
  18.         {
  19.             std::cout << "Podaj wiecej niz 100 lub mniej niz -100 by zakonczyc." << std::endl;
  20.         }
  21.         std::cin >> Temp;
  22.  
  23.         if (Temp > 0.0 && Temp <= 100.0) {
  24.             Licz_Odczyt++;
  25.             Licz_Dod++;
  26.             if (Mniejszy(Temp, Temp_Najniz_Dod) != 0)
  27.             {
  28.                 Temp_Najniz_Dod = Mniejszy(Temp, Temp_Najniz_Dod);
  29.             }
  30.             if (Wieksza(Temp, Temp_Najwyz_Dod) != 0)
  31.             {
  32.                 Temp_Najwyz_Dod = Wieksza(Temp, Temp_Najwyz_Dod);
  33.             }
  34.             Srednia += Temp;
  35.         } else if (Temp < 0.0 && Temp >= -100.0) {
  36.             Licz_Odczyt++;
  37.             Licz_Uj++;
  38.  
  39.             if (Mniejszy(Temp, Temp_Najniz_Uj) != 0) {
  40.                 Temp_Najniz_Uj = Mniejszy(Temp, Temp_Najniz_Uj);
  41.             }
  42.             if (Wieksza(Temp, Temp_Najwyz_Uj) != 0) {
  43.                 Temp_Najwyz_Uj = Wieksza(Temp, Temp_Najwyz_Uj);
  44.             }
  45.             Srednia += Temp;
  46.         } else if (Temp == 0.0) {
  47.             Licz_Zero++;
  48.             Licz_Odczyt++;
  49.         }
  50.  
  51.     } while (Temp <= 100.0 && Temp >= -100.0);
  52.  
  53.     if (Licz_Odczyt != 0)
  54.     {
  55.         Srednia = Srednia / Licz_Odczyt;
  56.         std::cout << "Otrzymano Nastepujace wyniki" << std::endl;
  57.         std::cout << "Srednia to: " <<Srednia<< std::endl;
  58.         if(Licz_Dod !=0 )
  59.         {
  60.             std::cout << "Najwyzsza temperatura wsrod dodatnich to: " << Temp_Najwyz_Dod << std::endl
  61.                       << "Najnizsza temperatura wsrod dodatnich to: " << Temp_Najniz_Dod << std::endl;
  62.         }
  63.         if(Licz_Uj != 0)
  64.         {
  65.             std::cout << "Najwyzsza temperatura wsrod ujemnych to: "<<Temp_Najwyz_Uj  << std::endl << "Najnizsza temperatura wsrod ujemnych to: "<< Temp_Najniz_Uj<< std::endl;
  66.         }
  67.         std::cout << "Liczba odczytow Dodatnich to: "<<Licz_Dod << std::endl << "Liczba odczytow Ujemnych to: "<<Licz_Uj << std::endl <<"Liczba odczytow zerowych to: "<< Licz_Zero << std::endl;
  68.     }else
  69.     {
  70.         std::cout<<"Nie podano zadnych odczytow!"<< std::endl;
  71.     }
  72.     return 0;
  73. }
  74.  
  75. float Mniejszy(float A, float B) {
  76.     if (A < B || B == 0)
  77.     {
  78.         return A;
  79.     }
  80.     else if (B<A && B != 0)
  81.     {
  82.         return B;
  83.     }
  84.     else
  85.     {
  86.         return 0;
  87.     }
  88. }
  89.  
  90. float Wieksza(float A , float B)
  91. {
  92.     if (A > B || B == 0 )
  93.     {
  94.         return A;
  95.     }
  96.     else if (B>A && B != 0)
  97.     {
  98.         return B;
  99.     }
  100.     else
  101.     {
  102.         return 0;
  103.     }
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement