Menu
Coddy logo textTech

Wiederholung – Lager verwalten

Teil des Abschnitts Logik & Ablauf der C#-Journey von Coddy. Lektion 54 von 66.

challenge icon

Aufgabe

Mittel

Erstelle ein Lagerbestandsverwaltungssystem mithilfe von Wörterbüchern. Deine Aufgabe ist es, die Methode ManageWarehouse zu implementieren, die die folgenden Vorgänge ausführt:

  1. Gib zuerst alle Artikel und ihre Mengen im Format "Item: [item], Quantity: [quantity]" aus.
  2. Prüfe, ob "apples" im Bestand vorhanden ist, und gib Folgendes aus: "Apples in stock: [True/False]"
  3. Füge der Menge von "bananas" 10 hinzu, wenn sie vorhanden sind (verwende eine direkte Wertänderung).
  4. Entferne alle Artikel, deren Menge 0 beträgt.
  5. Gib die Gesamtzahl der verschiedenen Artikel im Lager aus.
  6. Gib schließlich das aktualisierte Bestandswörterbuch zurück.
REQUIRED OUTPUT FORMAT: [Your translated content here]

Probier es selbst

using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;

class Program
{
    public static Dictionary<string, int> ManageWarehouse(Dictionary<string, int> inventory)
    {
        // Dein Code hier
        
        return inventory;
    }
    
    static void Main(string[] args)
    {
        Dictionary<string, int> inventory = new Dictionary<string, int>();
        
        // Erste Zeile lesen, um zu prüfen, ob es sich um das JSON-Format handelt
        string firstLine = Console.ReadLine();
        
        // Prüfen, ob die Eingabe im JSON-Format vorliegt
        if (firstLine != null && firstLine.StartsWith("{") && firstLine.EndsWith("}"))
        {
            try
            {
                // JSON-Eingabe verarbeiten
                string jsonContent = firstLine.Substring(1, firstLine.Length - 2);
                
                // Nach Kommas trennen, die nicht innerhalb von Anführungszeichen stehen
                string pattern = @",(?=(?:[^""]*""[^""]*"")*[^""]*$)";
                string[] entries = Regex.Split(jsonContent, pattern);
                
                foreach (string entry in entries)
                {
                    // Schlüssel und Wert mittels Regex extrahieren
                    Match match = Regex.Match(entry, @"""([^""]+)""\s*:\s*(\d+)");
                    if (match.Success)
                    {
                        string keyMatch = match.Groups[1].Value;
                        int valueMatch = int.Parse(match.Groups[2].Value);
                        inventory.Add(keyMatch, valueMatch);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Error parsing JSON input: {ex.Message}");
                return;
            }
        }
        else
        {
            // Process traditional input format
            int n = int.Parse(firstLine);
            for (int i = 0; i < n; i++)
            {
                string[] parts = Console.ReadLine().Split(':');
                inventory.Add(parts[0], int.Parse(parts[1]));
            }
        }
        
        Dictionary<string, int> result = ManageWarehouse(inventory);
        
        // Print updated inventory
        Console.WriteLine("Updated Inventory:");
        foreach (var item in result)
        {
            Console.WriteLine($"{item.Key}: {item.Value}");
        }
    }
}

Alle Lektionen in Logik & Ablauf

Übe selbstständig: Online-C#-Compiler