Menu
Coddy logo textTech

Wiederholung: Array von Structs

Teil des Abschnitts Logik & Ablauf der C-Journey von Coddy. Lektion 62 von 63.

challenge icon

Aufgabe

Einfach

Erstelle ein C-Programm, das ein Produktinventarsystem mithilfe eines Arrays von Strukturen verwaltet. Dein Programm sollte:

  1. Eine struct namens Product mit den folgenden Mitgliedern definieren:
    • Ein Zeichenarray name mit der Größe 30
    • Ein Gleitkommawert price
    • Eine Ganzzahl stock
  2. Eine Funktion namens findMostExpensive schreiben, die:
    • Ein Array aus struct Product und eine Ganzzahl size als Parameter entgegennimmt
    • Eine Ganzzahl zurückgibt, die den Index des Produkts mit dem höchsten Preis darstellt
    • Eine Schleife verwendet, um alle Produkte zu durchlaufen und ihre Preise zu vergleichen
    • Den Index des ersten gefundenen Produkts mit dem höchsten Preis zurückgibt
  3. Eine Funktion namens calculateTotalValue schreiben, die:
    • Ein Array aus struct Product und eine Ganzzahl size als Parameter entgegennimmt
    • Eine Gleitkommazahl zurückgibt, die den Gesamtwert des Inventars darstellt
    • Den Gesamtwert berechnet, indem sie für jedes Produkt (price × stock) summiert
  4. Eine Funktion namens findLowStock schreiben, die:
    • Ein Array aus struct Product, eine Ganzzahl size und eine Ganzzahl threshold als Parameter entgegennimmt
    • Eine Ganzzahl zurückgibt, die die Anzahl der Produkte mit einem Bestand unterhalb des Schwellenwerts darstellt
    • Eine Schleife verwendet, um die Produkte zu zählen, deren Bestand kleiner als der Schwellenwert ist
  5. In der main-Funktion:
    • Ein Array aus 3 struct Product namens inventory erstellen
    • Eingaben für jedes Produkt in dieser Reihenfolge einlesen: Name, Preis, Bestand
    • Das Array mit den Eingabedaten füllen
    • Die Informationen jedes Produkts in diesem exakten Format ausgeben: Product [index]: [name] - Price: [price], Stock: [stock]
    • Die Funktion findMostExpensive aufrufen und das Ergebnis in diesem exakten Format ausgeben: Most expensive product: [name]
    • Die Funktion calculateTotalValue aufrufen und das Ergebnis mit genau 2 Dezimalstellen in diesem exakten Format ausgeben: Total inventory value: [total_value]
    • Eine Ganzzahl einlesen, die den Schwellenwert für einen niedrigen Bestand darstellt
    • Die Funktion findLowStock mit dem Schwellenwert aufrufen und das Ergebnis in diesem exakten Format ausgeben: Products with low stock: [count]
    • Prüfen, ob das teuerste Produkt einen Bestand von mehr als 10 hat:
      • Wenn ja: Most expensive product is well stocked ausgeben
      • Wenn nein: Most expensive product needs restocking ausgeben

Diese Herausforderung testet deine Fähigkeit, mit Arrays von Strukturen zu arbeiten, Funktionen zu implementieren, die Strukturarrays verarbeiten, und verschiedene Berechnungen und Vergleiche mit strukturierten Daten durchzuführen. Du übst die Array-Indizierung mit Strukturen, das Entwerfen von Funktionen zur Datenverarbeitung und das Kombinieren mehrerer Operationen zur Analyse von Inventarinformationen.

Probier es selbst

#include <stdio.h>
#include <string.h>

// TODO: Definieren Sie hier die Struktur Product

// TODO: Implementieren Sie hier die Funktion findMostExpensive

// TODO: Implementieren Sie hier die Funktion calculateTotalValue

// TODO: Implementieren Sie hier die Funktion findLowStock

int main() {
    // Array mit 3 Produkten erstellen
    struct Product inventory[3];
    
    // Eingabe für jedes Produkt einlesen
    for (int i = 0; i < 3; i++) {
        scanf("%s", inventory[i].name);
        scanf("%f", &inventory[i].price);
        scanf("%d", &inventory[i].stock);
    }
    
    // TODO: Informationen jedes Produkts ausgeben
    
    // TODO: Das teuerste Produkt finden und ausgeben
    
    // TODO: Gesamtwert des Inventars berechnen und ausgeben
    
    // Schwellenwert für niedrigen Lagerbestand einlesen
    int threshold;
    scanf("%d", &threshold);
    
    // TODO: Produkte mit geringem Lagerbestand finden und ausgeben
    
    // TODO: Überprüfen, ob das teuerste Produkt ausreichend vorrätig ist
    
    return 0;
}

Alle Lektionen in Logik & Ablauf

Übe selbstständig: Online-C-Compiler