Advertisement
Razorspined

122211

Jan 19th, 2023
1,056
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.74 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4.  
  5. using namespace std;
  6.  
  7. class Kola {
  8. public:
  9.     // "S", "M", "L"
  10.     // "small", "medium", "large"
  11.     string size;
  12.     int number;
  13.  
  14.     Kola() {}
  15.  
  16.     Kola(string s, int n) {
  17.         size = s;
  18.         number = n;
  19.     }
  20. };
  21.  
  22. class ParkingSpace {
  23. private:
  24.     string size;
  25.     bool taken;
  26.     int number;
  27.    
  28. public:
  29.     friend class Parking;
  30.  
  31.     ParkingSpace() {
  32.    
  33.     }
  34.  
  35.     ParkingSpace(string s) {
  36.         size = s;
  37.         taken = false;
  38.     }
  39.  
  40.     // int/string/void?     function1           ()              {}
  41.     // return type          name            parameters          body
  42.     vector<int> funkci1() {
  43.         return { 0,0,0 };
  44.     }
  45.  
  46.     void operator+(Kola k) {
  47.         if (size == k.size) {
  48.             taken = true;
  49.             number = k.number;
  50.         }
  51.     }
  52. };
  53.  
  54. class Parking {
  55. public:
  56.     vector<ParkingSpace*> parkomesta;
  57.  
  58.     void totalSpaces() {
  59.         auto small = 0;
  60.         int medium = 0;
  61.         int large = 0;
  62.  
  63.         for (ParkingSpace* space : parkomesta) {
  64.             if (space->size == "S") small++;
  65.             if (space->size == "M") medium++;
  66.             if (space->size == "L") large++;
  67.         }
  68.         cout << small << "," << medium << "," << large << endl;
  69.     }
  70.  
  71.     void freeSpaceBySize(string s) {
  72.         int counter = 0;
  73.         // &&
  74.         for (ParkingSpace* space : parkomesta) {
  75.             if (s == space->size && space->taken == false) counter++;
  76.         }
  77.  
  78.         cout << counter << endl;
  79.     }
  80.  
  81.     vector<ParkingSpace> function2() {
  82.         vector<ParkingSpace> result;
  83.  
  84.         for (ParkingSpace* space : parkomesta) {
  85.             if (space->taken == false) result.push_back(*space);
  86.         }
  87.         return result;
  88.     }
  89. };
  90.  
  91. int main() {
  92.     Kola k;
  93.     k.size = "S";
  94.     k.number = 123456;
  95.  
  96.     Kola k2("M", 123456);
  97.  
  98.     ParkingSpace p1("S");
  99.     ParkingSpace p2("M");
  100.     ParkingSpace p3("L");
  101.  
  102.     Parking p;
  103.     p.parkomesta = { &p1, &p2, &p3, &p2 };
  104.     p.totalSpaces();
  105.     p.freeSpaceBySize("M");
  106.  
  107.     p2 + k2;
  108. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement