Advertisement
Guest User

wyebani

a guest
Mar 22nd, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.79 KB | None | 0 0
  1. // Czas.cpp: Określa punkt wejścia dla aplikacji konsoli.
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include <iostream>
  6. #include <string.h>
  7.  
  8. using namespace std;
  9.  
  10. class Czas {
  11.     int godzina;
  12.     int minuta;
  13.    
  14. public:
  15.     Czas(const int godzina=0, const int minuta=0);
  16.     void ZmienGodzine(const int godzina);
  17.     void ZmienMinute(const int minuta);
  18.     void JakoNapis(char *czas) const;
  19. };
  20.  
  21.  
  22. class MiejscePostojowe {
  23.     char rejestracja[20];
  24.     bool stan;
  25.     Czas przyjazd;
  26.     Czas odjazd;
  27.  
  28. public:
  29.     MiejscePostojowe(char *rejestracja, const int godzina, const int minuta);
  30.     void Zwolnij(const int godzina, const int minuta);
  31.     void Wyswietl() const;
  32. };
  33.  
  34. int main()
  35. {
  36.     MiejscePostojowe m1("STA1829", 12, 30);
  37.     MiejscePostojowe m2("SK19232", 0, 60);
  38.     MiejscePostojowe m3("SY15V12", 50, 12);
  39.    
  40.     m1.Wyswietl();
  41.  
  42.     cout << endl << endl;
  43.  
  44.     m2.Wyswietl();
  45.  
  46.     cout << endl << endl;
  47.  
  48.     m3.Wyswietl();
  49.  
  50.     cout << endl << endl;
  51.  
  52.     cout << "--------------------------------------------------------" << endl;
  53.  
  54.     m1.Zwolnij(14, 49);
  55.     m2.Zwolnij(23, 80);
  56.     m3.Zwolnij(90, 90);
  57.  
  58.     m1.Wyswietl();
  59.  
  60.     cout << endl << endl;
  61.  
  62.     m2.Wyswietl();
  63.  
  64.     cout << endl << endl;
  65.  
  66.     m3.Wyswietl();
  67.  
  68.     cout << endl << endl;
  69.  
  70.     cout << "--------------------------------------------------------" << endl;
  71.     return 0;
  72. }
  73.  
  74. Czas::Czas(const int godzina, const int minuta) {
  75.     if (godzina < 0) this->godzina = 0;
  76.     else if (godzina > 24) this->godzina = 24;
  77.     else this->godzina = godzina;
  78.  
  79.     if (minuta < 0) this->minuta = 0;
  80.     else if (minuta > 59) this->minuta = 59;
  81.     else this->minuta = minuta;
  82. }
  83.  
  84. void Czas::ZmienGodzine(const int godzina) {
  85.     if (godzina < 0) this->godzina = 0;
  86.     else if (godzina > 24) this->godzina = 24;
  87.     else this->godzina = godzina;
  88. }
  89.  
  90. void Czas::ZmienMinute(const int minuta) {
  91.     if (minuta < 0) this->minuta = 0;
  92.     else if (minuta > 59) this->minuta = 59;
  93.     else this->minuta = minuta;
  94. }
  95.  
  96. void Czas::JakoNapis(char *czas) const {
  97.     sprintf(czas, "%02d:%02d", this->godzina, this->minuta);
  98. }
  99.  
  100. MiejscePostojowe::MiejscePostojowe(char *rejestracja, const int godzina, const int minuta) {
  101.     strcpy(this->rejestracja, rejestracja);
  102.     stan = false;
  103.     przyjazd.ZmienGodzine(godzina);
  104.     przyjazd.ZmienMinute(minuta);
  105. }
  106.  
  107. void MiejscePostojowe::Zwolnij(const int godzina, const int minuta) {
  108.     stan = true;
  109.     odjazd.ZmienGodzine(godzina);
  110.     odjazd.ZmienMinute(minuta);
  111. }
  112.  
  113. void MiejscePostojowe::Wyswietl() const {
  114.     char czas[6] = { 0 };
  115.  
  116.     if (stan) cout << "Stan: Miejsce wolne" << endl;
  117.     else cout << "Stan: Miejsce zajete" << endl;
  118.  
  119.     cout << "Rejestracja: " << rejestracja << endl;
  120.  
  121.     przyjazd.JakoNapis(czas);
  122.     cout << "Godzina przyjazdu: " << czas << endl;
  123.  
  124.     odjazd.JakoNapis(czas);
  125.  
  126.     if (strcmp(czas, "00:00")==0) cout << "Godzina odjazdu: Nie znana!" << endl;
  127.     else cout << "Godzina odjazdu: " << czas << endl;
  128. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement