Alle Herausforderungen
Einfach 0 gelöst 0% Erfolgsquote

Eine Rechnung formatieren

Gib Rechnungszeilen und eine Summe aus, wobei Beträge in Cent gespeichert und als Dollar mit Cent formatiert werden.

Das lernst du

  • Geld als ganze Cent speichern
  • Cent als Dollar mit zwei Nachkommastellen formatieren
  • Berichtszeilen und eine Summe erstellen

Problem

Geld wird meist als ganze Cent gespeichert, um Rundungsfehler zu vermeiden, und erst bei der Anzeige als Dollar formatiert.

Schreibe für jeden Artikel die Zeile <name> x<quantity> = <amount>, wobei amount = quantity × Preis in Cent ist. Schreibe nach den Artikeln Total = <amount> mit der Summe aller Zeilen.

Formatiere jeden Betrag als Dollar, einen Punkt und genau zwei Ziffern Cent, zum Beispiel 5 → 0.05 und 1250 → 12.50.

Implementiere format_invoice(names, quantities, cents).

Eingabe

names, quantities, cents: Zueinander passende Listen, die jeden Artikel beschreiben.

Ausgabe

Gib die Artikelzeilen gefolgt von der Summenzeile zurück.

Einschränkungen

0 ≤ Anzahl der Artikel ≤ 1,000

1 ≤ quantity ≤ 1,000; 0 ≤ cents ≤ 10^6

Beispiele

Beispiel 1
Eingabe:
cents = [250, 375]
names = ["Tea", "Cake"]
quantities = [2, 1]

Erwartete Ausgabe:
expected = ["Tea x2 = 5.00", "Cake x1 = 3.75", "Total = 8.75"]
Eingabe:
std::vector<long long> cents = {250, 375};
std::vector<std::string> names = {"Tea", "Cake"};
std::vector<long long> quantities = {2, 1};

Erwartete Ausgabe:
std::vector<std::string> expected = {"Tea x2 = 5.00", "Cake x1 = 3.75", "Total = 8.75"};
Eingabe:
long[] cents = new long[] {250, 375};
string[] names = new string[] {"Tea", "Cake"};
long[] quantities = new long[] {2, 1};

Erwartete Ausgabe:
string[] expected = new string[] {"Tea x2 = 5.00", "Cake x1 = 3.75", "Total = 8.75"};

Erläuterung

2 × 250 = 500 Cent sind 5.00 und 375 Cent sind 3.75; die Summe ist 875 Cent: ["Tea x2 = 5.00", "Cake x1 = 3.75", "Total = 8.75"].

Beispiel 2
Eingabe:
cents = [5]
names = ["Gum"]
quantities = [3]

Erwartete Ausgabe:
expected = ["Gum x3 = 0.15", "Total = 0.15"]
Eingabe:
std::vector<long long> cents = {5};
std::vector<std::string> names = {"Gum"};
std::vector<long long> quantities = {3};

Erwartete Ausgabe:
std::vector<std::string> expected = {"Gum x3 = 0.15", "Total = 0.15"};
Eingabe:
long[] cents = new long[] {5};
string[] names = new string[] {"Gum"};
long[] quantities = new long[] {3};

Erwartete Ausgabe:
string[] expected = new string[] {"Gum x3 = 0.15", "Total = 0.15"};

Erläuterung

3 × 5 = 15 Cent, geschrieben als 0.15: ["Gum x3 = 0.15", "Total = 0.15"].

So gehst du vor

Versuch es zuerst allein und öffne dann einen Hinweis nach dem anderen.

Hinweis 1

Rechne durchgehend mit ganzen Cent.

Hinweis 2

Teile Cent in Dollar (cents / 100) und den Rest (cents % 100).

Hinweis 3

Gib die Cent immer zweistellig aus, also 5 Cent als 0.05.

Erwartete Komplexität

Zeit O(Anzahl der Artikel), zusätzlicher Speicher O(Anzahl der Artikel)

Referenzen

Diese Aufgabe wurde für CodeUtility angepasst. Beachte die oben genannten Vorgaben und Einschränkungen.

Von anderen lernen

Community-Lösungen

Noch keine veröffentlichten Lösungen. Löse die Aufgabe und teile als Erster eine Lösung.