Projekt-Setup
Teil des Abschnitts Logik & Ablauf der Dart-Journey von Coddy. Lektion 33 von 65.
Aufgabe
EinfachDu wirst einen einfachen Einkaufswagenrechner erstellen, der veranschaulicht, wie verschiedene Datenstrukturen in einer realen Anwendung zusammenarbeiten.
Erstelle ein Programm, das die Grundlage für ein Einkaufswagenrechnersystem schafft, indem es die wesentlichen Datenstrukturen initialisiert, die für eine E-Commerce-Anwendung benötigt werden. Dein Programm sollte:
- eine Zeichenfolgeneingabe lesen, die den Namen des Geschäfts darstellt
- mehrere Eingabepaare lesen, die Produktnamen und deren Preise darstellen (die Eingabe endet, wenn du
"products_done"erhältst) - eine Map erstellen, um verfügbare Produkte zu speichern, wobei ihre Namen als Schlüssel und ihre Preise als Werte verwendet werden
- eine leere List erstellen, die den Einkaufswagen darstellt
- die Informationen zur anfänglichen Einrichtung anzeigen und überprüfen, dass die Datenstrukturen korrekt initialisiert wurden
- den Einrichtungsbericht des Geschäfts exakt im unten gezeigten Format ausgeben
Wenn der Geschäftsname beispielsweise "Fresh Market" lautet und die Produkte "Apple" zum Preis von 1.50, "Banana" zum Preis von 0.80, "Orange" zum Preis von 2.00 und "Milk" zum Preis von 3.25 umfassen, sollte dein 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 Geschäftsname "Tech Store" lautet und die Produkte "Laptop" zum Preis von 999.99, "Mouse" zum Preis von 25.50 und "Keyboard" zum Preis von 75.00 umfassen, sollte dein 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 Geschäftsname "Book Corner" lautet und die Produkte "Novel" zum Preis von 12.99, "Magazine" zum Preis von 4.50, "Textbook" zum Preis von 89.00, "Comic" zum Preis von 3.99 und "Journal" zum Preis von 15.75 umfassen, sollte dein 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 customersDein Programm muss eine Map mit Schlüsseln vom Typ String (Produktnamen) und Werten vom Typ double (Preise) sowie eine leere List von Strings für den Einkaufswagen erstellen. Finde die teuersten und günstigsten Artikel, indem du alle Preise in der Produkt-Map vergleichst. Berechne den Durchschnittspreis, indem du die Summe aller Preise durch die Anzahl der Produkte teilst. Runde den Durchschnitt für die Anzeige auf 2 Dezimalstellen. Das Eingabeformat lautet: Geschäftsname, danach abwechselnd Produktnamen und Preise (als Zeichenfolgen, die in double-Werte umgewandelt werden müssen), mit "products_done" als Abschluss.
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Übe selbstständig: Online-Dart-Compiler