Projekt-Setup
Teil des Abschnitts Logik & Ablauf der Dart-Journey von Coddy — Lektion 33 von 65.
Aufgabe
EinfachSie werden einen einfachen Warenkorb-Rechner erstellen, der zeigt, wie verschiedene Datenstrukturen in einer realen Anwendung zusammenarbeiten.
Erstellen Sie ein Programm, das die Grundlage für ein Warenkorb-Rechnersystem schafft, indem es die wesentlichen Datenstrukturen initialisiert, die für eine E-Commerce-Anwendung benötigt werden. Ihr Programm sollte:
- Eine String-Eingabe lesen, die den Namen des Geschäfts darstellt
- Mehrere Paare von Eingaben lesen, die Produktnamen und deren Preise darstellen (die Eingabe endet, wenn Sie
"products_done"erhalten) - Eine Map erstellen, um verfügbare Produkte mit ihren Namen als Schlüssel und Preisen als Werte zu speichern
- Eine leere List erstellen, die den Warenkorb darstellt
- Die anfänglichen Einrichtungsinformationen anzeigen und überprüfen, ob die Datenstrukturen ordnungsgemäß initialisiert wurden
- Den Einrichtungsbericht des Geschäfts im exakt unten gezeigten Format ausgeben
Wenn der Name des Geschäfts beispielsweise "Fresh Market" lautet und die Produkte "Apple" mit dem Preis 1.50, "Banana" mit dem Preis 0.80, "Orange" mit dem Preis 2.00, "Milk" mit dem Preis 3.25 umfassen, sollte Ihr Programm Folgendes ausgeben:
Store: Fresh Market
Product Catalog Setup:
Available Products: {Apple: 1.5, Banana: 0.8, Orange: 2.0, Milk: 3.25}
Shopping Cart Initialized: []
System Status:
Total products available: 4
Cart status: Empty
Most expensive item: Milk ($3.25)
Cheapest item: Banana ($0.80)
Average product price: $1.84
Setup Status: Shopping cart system ready for customersWenn der Name des Geschäfts "Tech Store" lautet und die Produkte "Laptop" mit dem Preis 999.99, "Mouse" mit dem Preis 25.50, "Keyboard" mit dem Preis 75.00 umfassen, sollte Ihr Programm Folgendes ausgeben:
Store: Tech Store
Product Catalog Setup:
Available Products: {Laptop: 999.99, Mouse: 25.5, Keyboard: 75.0}
Shopping Cart Initialized: []
System Status:
Total products available: 3
Cart status: Empty
Most expensive item: Laptop ($999.99)
Cheapest item: Mouse ($25.50)
Average product price: $366.83
Setup Status: Shopping cart system ready for customersWenn der Name des Geschäfts "Book Corner" lautet und die Produkte "Novel" mit dem Preis 12.99, "Magazine" mit dem Preis 4.50, "Textbook" mit dem Preis 89.00, "Comic" mit dem Preis 3.99, "Journal" mit dem Preis 15.75 umfassen, sollte Ihr Programm Folgendes ausgeben:
Store: Book Corner
Product Catalog Setup:
Available Products: {Novel: 12.99, Magazine: 4.5, Textbook: 89.0, Comic: 3.99, Journal: 15.75}
Shopping Cart Initialized: []
System Status:
Total products available: 5
Cart status: Empty
Most expensive item: Textbook ($89.00)
Cheapest item: Comic ($3.99)
Average product price: $25.25
Setup Status: Shopping cart system ready for customersIhr Programm muss eine Map mit String-Schlüsseln (Produktnamen) und double-Werten (Preisen) sowie eine leere List von Strings für den Warenkorb erstellen. Finden Sie die teuersten und günstigsten Artikel, indem Sie alle Preise in der Produkt-Map vergleichen. Berechnen Sie den Durchschnittspreis, indem Sie die Summe aller Preise durch die Anzahl der Produkte dividieren. Runden Sie den Durchschnitt für die Anzeige auf 2 Dezimalstellen. Das Eingabeformat ist: Name des Geschäfts, dann abwechselnd Produktnamen und Preise (als Strings, die in doubles umgewandelt werden müssen), endend mit "products_done".
Probier es selbst
import 'dart:io';
void main() {
// Geschäftsnamen lesen
String? storeName = stdin.readLineSync();
// Datenstrukturen initialisieren
Map<String, double> products = {};
List<String> shoppingCart = [];
// Produkte lesen bis "products_done"
while (true) {
String? input = stdin.readLineSync();
if (input == "products_done") {
break;
}
String productName = input!;
String? priceInput = stdin.readLineSync();
double price = double.parse(priceInput!);
// Produkt zur Map hinzufügen
products[productName] = price;
}
// TODO: Schreiben Sie Ihren Code unten, um Statistiken zu berechnen und den Bericht zu erstellen
// Den Bericht zur Einrichtung des Geschäfts drucken
// Ihre Ausgabe sollte genau dem in den Beispielen gezeigten Format entsprechen
}Alle Lektionen in Logik & Ablauf
1Fortgeschrittene Listenmanipulation
Listen-Eigenschaften: first & lastListen-Status: isEmpty & isNotEmptyEine Liste umkehrenHinzufügen zu einer Liste: insertElemente aus Liste entfernen: removeWhereSuchen in einer Liste: indexOfEine Liste sortierenEine Liste mischenZusammenfassung – Listen-Organizer4Fortgeschrittene Map-Manipulation
Über eine Map iterierenPrüfen auf Schlüssel und WerteMap-Eigenschaften: keys & valuesBedingtes Hinzufügen: putIfAbsentEinträge aus einer Map entfernenVerschachtelte MapsRückblick – Inventar-Update7Fortgeschrittene Funktionen
Anonyme FunktionenFunktionen als Argumente übergebenClosures verstehenEinführung in die RekursionRekursive Funktion: CountdownRekursive Funktion: FakultätZusammenfassung – List Processor10Abschluss-Herausforderungen
Herausforderung: NotensortiererHerausforderung: VokalzählerHerausforderung: FizzBuzz2Funktionale Listenoperationen
Transformieren mit 'map'Filtern mit 'where''.toList()' verwendenBedingungen prüfen mit 'any'Bedingungen mit 'every'Suchen mit 'firstWhere'Zusammenfassung – Datenfilterung5Projekt: Warenkorb-Rechner
Projekt-SetupArtikel zum Warenkorb hinzufügen3Sets
Was ist ein Set?Ein Set erstellenHinzufügen und Entfernen in SetsPrüfen auf Elemente in einem SetEine Liste in ein Set umwandelnSet-VereinigungSet-SchnittmengeSet-DifferenzRückblick – Einzigartige Gästeliste