Customer List
Customer List
Author
Peter Bauer, Stefan Schraml

German variant below

Introduction

Your task is to implement a customer list. The focus is on administrative functions (initializing, adding customers to the list) and simple overview functions (list length, listing customers with specific revenues).

Data Structures

CustomerList

The CustomerList has a maximum of 13 entries. The CustomerList is a struct with the following fields:

  • length (int): The number of entries in the list.
  • customers (array of pointers to struct CustomerListEntry): see below.

CustomerListEntry

A CustomerListEntry contains all data related to a customer, including:

  • id (int): The unique customer ID.
  • customer_name (const pointer to a char (const char* customer_name)): The name of the customer.
  • revenue (int): The revenue generated with the customer, measured in €1000.

Functions

  • init_customer_list(): Sets the number of entries to 0.
  • get_length(): Returns the number of entries in the list.
  • create_customer(): Creates a new customer.
  • add_customer(): Adds a single entry to the list.
  • add_customers(): Adds multiple entries to the list.
  • get_customer_with_index(): Retrieves the customer at a specific index in the list.
  • get_customer_with_id(): Searches for a customer with a specific ID.
  • get_customers_with_revenue(): Finds customers within specific revenue bounds.
  • get_customer_with_highest_revenue(): Finds the customer with the highest revenue.
  • get_customer_with_lowest_revenue(): Finds the customer with the lowest revenue.
  • get_top_n_customers_revenue(): Finds the top n customers with the highest revenue.
  • get_bottom_n_customers_revenue(): Finds the bottom n customers with the lowest revenue.
  • get_customer_id(): Retrieves the ID of a customer.

Einführung

Sie haben die Aufgabe eine Kundenliste zu implementieren. Wir beschränken uns auf Verwaltungsfunktionen (Initialisieren, Kunden in die Liste einzutragen) und kleine Überblicksfunktionen (Länge der Liste, Auflisten von Kunden mit bestimmten Umsätzen).

Die Datenstrukturen

CustomerList

Die CustomerList hat eine maximale Anzahl von 13 Einträgen. Die CustomerList ist ein struct mit den Feldern

  • length (int)
  • customers (Array von Pointern auf ein struct CustomerListEntry): siehe unten

CustomerListEntry

Ein CustomerListEntry hält alle Daten, die zu einem Kunden gehören, welche sind:

  • id (int): Die eindeutige Kundennummer.
  • customer_name (const Pointer auf ein char (const char* customer_name))
  • revenue (int): Der Umsatz, der mit dem Kunden erzielt wurde in 1000 €

Funktionen

  • init_customer_list(): Setzt die Anzahl der Einträge auf 0.
  • get_length(): Gibt die Anzahl der Einträge zurück.
  • create_customer(): Erstellt einen neuen Kunden.
  • add_customer(): Fügt einen Eintrag hinzu.
  • add_customers(): Fügt mehrere Einträge hinzu.
  • get_customer_with_index(): Liefert den Kunden mit dem Index innerhalb der Liste.
  • get_customer_with_id(): Sucht einen Kunden mit einer bestimmten ID.
  • get_customers_with_revenue(): Sucht Kunden innerhalb bestimmter Umsatzgrenzen.
  • get_customer_with_highest_revenue(): Sucht den Kunden mit dem höchsten Umsatz.
  • get_customer_with_lowest_revenue(): Sucht den Kunden mit dem niedrigsten Umsatz.
  • get_top_n_customers_revenue(): Sucht die n Kunden mit dem höchsten Umsatz.
  • get_bottom_n_customers_revenue(): Sucht die n Kunden mit dem niedrigsten Umsatz
  • get_customer_id(): Liefert die ID eines Kunden.