#include <print>
#include <string>
#include <map>
using namespace std::string_literals;

// Aktien in map ablegen
// Schluessel: Hersteller; Datum: Aktienkurs
std::map<std::string, float> aktien;

// main() Funktion
int main()
{
    // Map mit Daten füllen
    aktien["VW"s] = 12.f;
    aktien["Ford"s] = 34.45f;
    aktien["BMW"s] = 54.45f;
    aktien["Daimler Chrysler"s] = 123.50f;

    // Ausgabe der Aktienwerte mit 2 Nachkommastellen
    for (auto [hersteller, kurs] : aktien)
        std::println("{} Aktie: {:.02f} EUR", hersteller, kurs);

    // VW Aktien um 10.00 erhöhen
    std::println("-- VW Aktie stiegt um 10.00 EUR --");
    aktien["VW"s] += 10.f;

    // VW Aktie ausgeben
    std::println("VW Aktie: {:.02f} EUR", aktien["VW"s]);

    // Element explizit hinzufügen
    std::println("-- Porsche Aktien hinzufuegen --");
    aktien.emplace("Porsche"s,560.0f);

    // Daimler Chrysler Aktie in Daimler umbenennen
    // Zuerst kopieren
    std::println("-- Daimler Chrysler in Daimler umbenennen --");
    aktien["Daimler"s] = aktien["Daimler Chrysler"s];
    // und dann löschen!
    aktien.erase("Daimler Chrysler"s);

    // Alle Aktien ausgeben
    for (auto [hersteller, kurs]: aktien)
        std::println("{} Aktie: {:.02f} EUR", hersteller, kurs);
}
