fcamuso

Corso C++ 23 - lezione 28

May 9th, 2026
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.47 KB | None | 0 0
  1. import std;
  2.  
  3. auto oggi() -> std::string {
  4.     auto time_point_100ns = std::chrono::system_clock::now();
  5.     auto time_point_gg = std::chrono::floor<std::chrono::days>(time_point_100ns);
  6.     return std::format("{:%d/%m/%Y}", time_point_gg );
  7. }
  8.  
  9. struct Movimento {
  10.     std::string data{ oggi() };
  11.     int importo{}; 
  12. };
  13.  
  14. auto main() -> int
  15. {
  16.     //CREAZIONE
  17.     // vector con zero elementi
  18.     //std::vector<Movimento> movimenti{};
  19.    
  20.     //con lista di inizializzazione non vuota
  21.     std::vector<Movimento> movimenti{
  22.            {},
  23.            {"12-01-2026", 340},
  24.            Movimento{ "13-1-26", -800},
  25.            Movimento{.data = "14-1-26", .importo = -200}
  26.     };
  27.  
  28.     //AGGIUNGERE ELEMENTI
  29.     movimenti.push_back(Movimento{"09-07-2026", -180 });
  30.     movimenti.push_back({"09-07-2026", -360});
  31.  
  32.     Movimento m{ "ULTIMO", -540 };
  33.     movimenti.push_back(m);
  34.  
  35.    
  36.     //auto [data, importo] = movimenti.emplace_back("09-07-2027", 300);
  37.     //std::println("Il vector contiene ora {} elementi", movimenti.size());
  38.     //std::println("Il vector ha ora una capienza di {} elementi", movimenti.capacity());
  39.  
  40.     //movimenti = std::vector<Movimento>();
  41.     //movimenti.resize(10000);
  42.  
  43.     //for (int i = 0, old_capacity=movimenti.capacity(); i < 10000; i++)
  44.     //{
  45.     //  movimenti.push_back({});
  46.     //  if (old_capacity < movimenti.capacity())
  47.     //  {
  48.     //      std::println("N. elementi: {}. Vecchia capacity: {} - nuova capacity: {}",
  49.     //          movimenti.size(), old_capacity, movimenti.capacity());
  50.  
  51.     //      old_capacity = movimenti.capacity();
  52.     //  }
  53.     //}
  54.  
  55.     //movimenti.resize(100);
  56.     //std::println("N. elementi: {}. Capacity: {}",
  57.     //  movimenti.size(), movimenti.capacity());
  58.  
  59.     //INSERIMENTO
  60.     movimenti.insert(movimenti.begin(), {"PRIMO", 100}); //movimenti[0]
  61.     movimenti.insert(movimenti.begin() + 2, { "TERZO", 100 }); //movimenti[2]
  62.  
  63.     movimenti.insert(movimenti.begin() + 2, 5, { "CLONI DI TERZO", 100 });
  64.  
  65.     movimenti.insert(movimenti.end() - 2, movimenti.begin(), movimenti.begin() + 5);
  66.  
  67.     movimenti.insert(movimenti.begin(), { {"1", 0}, {"2", 0}, {"3", 0} });
  68.  
  69.    
  70.  
  71.     for (auto mov : movimenti)
  72.     {
  73.         std::println("Data: {} - Importo: {}", mov.data, mov.importo);
  74.         //data = "xxx"; importo = 777;
  75.     }
  76.  
  77.  
  78.     //for (auto [data, importo] : movimenti)
  79.     //{
  80.     //  std::println("Data: {} - Importo: {}", data, importo);
  81.     //}
  82.  
  83.     //
  84.     //
  85.     ////std::vector<Movimento> movimenti2(10);
  86.     //std::vector<Movimento> movimenti2(10, {"1-1-2020", 500});
  87.     //for (auto [data, importo] : movimenti2)
  88.     //{
  89.     //  std::println("Data: {} - Importo: {}", data, importo);
  90.     //}
  91.  
  92.  
  93. }
  94.  
Advertisement
Add Comment
Please, Sign In to add comment