Advertisement
kaunas163

C++ Pamoka 13 (1 video)

Apr 26th, 2014
258
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.74 KB | None | 0 0
  1. /* U2-2. Liftas
  2.  
  3. * Sukurkite klasė Studentas, kuri turėtų kintamuosius amžiui ir ūgiui saugoti.
  4. Trys studentai nutarė treniruotis žaisti krepšinį. Raskite, koks aukščiausio
  5. sudento amžius ir koks jaunausio studento ūgis.
  6.  
  7. * Papildykite klasę Studentas kintamuoju, skirtu studento svoriui saugoti.
  8. Sukurkite klasę Liftas, kuri turėtų kintamuosius lifto keliamosios galios reikšmei
  9. ir talpai saugoti. Per kelis kartus visi studentai pakils liftu į reikiamą
  10. aukštą?
  11.  
  12. * Papildykite klasę Liftas metodais Dėti(), kurie leistų keisti lifo keliamąją galią
  13. ir talpą. Ar visi studentai vienu metu bus pakelti į reikiamą aukštį, jeigu lifto
  14. keliamoji galia bus padvigubina? O jeigu talpa bus padvigubinta?
  15. */
  16.  
  17. #include <iostream>
  18. using namespace std;
  19.  
  20. class Studentas
  21. {
  22. private:
  23.     int amzius; // studento amžius
  24.     double ugis;    // studento ūgis, m
  25. public:
  26.     void Deti(int am, double ug) { amzius = am; ugis = ug; }
  27.     int ImtiAmziu()     { return amzius; }
  28.     double ImtiUgi()    { return ugis; }
  29. };
  30.  
  31. void Ivedimas(Studentas S[], int kiek);
  32. int Auksciausio_amzius(Studentas S[], int kiek);
  33. double Jauniausio_ugis(Studentas S[], int kiek);
  34.  
  35. int main() {
  36.     setlocale(LC_ALL, "Lithuanian");
  37.  
  38.     int kiek = 3;       // kiek studentų
  39.     Studentas studentai[3]; // studentų masyvas
  40.  
  41.     Ivedimas(studentai, kiek);
  42.     cout << "Aukščiausio studento amžius: " << Auksciausio_amzius(studentai, kiek)
  43.         << "\nJauniausio studento ūgis: " << Jauniausio_ugis(studentai, kiek) << " m.\n";
  44.  
  45.     return 0;
  46. }
  47.  
  48. /* Funkcija, leidžianti įvesti duomenis apie studentus
  49. S[] - nurodytas masyvas į kurį dedu duomenis
  50. kiek - kiek studentų */
  51. void Ivedimas(Studentas S[], int kiek) {
  52.     int amzius; double ugis;
  53.     cout << "Įveskite duomenis apie tris studentus.\n\n"
  54.         << "Amžius Ūgis\n\n";
  55.     for (int i = 0; i < kiek; i++)
  56.     {
  57.         cout << i+1 << "-as studentas.\n";
  58.         cin >> amzius >> ugis;
  59.         S[i].Deti(amzius, ugis);
  60.         cout << endl;
  61.     }
  62.     cout << endl;
  63. }
  64.  
  65. /* Ieško koks yra aukščiausio studento amžius
  66. S[] - masyvas, kuriame yra duomenys apie studentus
  67. kiek - kiek studentų */
  68. int Auksciausio_amzius(Studentas S[], int kiek) {
  69.  
  70.     int amzius = S[0].ImtiAmziu();
  71.     double ugis = S[0].ImtiUgi();
  72.  
  73.     for (int i = 0; i < kiek; i++)
  74.     {
  75.         if (S[i].ImtiUgi() > ugis)
  76.         {
  77.             ugis = S[i].ImtiUgi();
  78.             amzius = S[i].ImtiAmziu();
  79.         }
  80.     }
  81.     return amzius;
  82. }
  83.  
  84. /* Ieško koks yra jaunausio studento ūgis
  85. S[] - masyvas, kuriame yra duomenys apie studentus
  86. kiek - kiek studentų */
  87. double Jauniausio_ugis(Studentas S[], int kiek) {
  88.  
  89.     int amzius = S[0].ImtiAmziu();
  90.     double ugis = S[0].ImtiUgi();
  91.  
  92.     for (int i = 0; i < kiek; i++)
  93.     {
  94.         if (S[i].ImtiAmziu() < amzius)
  95.         {
  96.             amzius = S[i].ImtiAmziu();
  97.             ugis = S[i].ImtiUgi();
  98.         }
  99.     }
  100.     return ugis;
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement