Menu
Coddy logo textTech

Projekt: Kontakt-Struct definieren

Teil des Abschnitts Logic & Flow der C-Journey von Coddy. Lektion 50 von 63.

challenge icon

Aufgabe

Einfach

Sie werden ein einfaches Tool zur Kontakterfassung erstellen, das zeigt, wie Structs verwandte Daten in realen Anwendungen organisieren können.

Erstellen Sie ein C-Programm, das ein Contact-Struct definiert, um Kontaktinformationen zu speichern. Ihr Programm sollte:

  1. Ein struct namens Contact mit den folgenden Mitgliedern definieren:
    • Ein Zeichen-Array name mit der Größe 50, um den Namen des Kontakts zu speichern
    • Ein Zeichen-Array phone mit der Größe 20, um die Telefonnummer des Kontakts zu speichern
    • Ein Zeichen-Array email mit der Größe 40, um die E-Mail-Adresse des Kontakts zu speichern
    • Ein Integer age, um das Alter des Kontakts zu speichern
  2. In der main-Funktion:
    • Eine Contact-Variable namens person erstellen
    • Die folgenden Eingabewerte lesen und sie den Struct-Mitgliedern unter Verwendung des Punkt-Operators zuweisen:
      • Einen String für den Namen lesen und ihn person.name zuweisen
      • Einen String für die Telefonnummer lesen und ihn person.phone zuweisen
      • Einen String für die E-Mail lesen und ihn person.email zuweisen
      • Einen Integer für das Alter lesen und ihn person.age zuweisen
    • Nach dem Einlesen aller Werte die folgenden Validierungsprüfungen durchführen:
      • Wenn das Alter kleiner als 0 oder größer als 120 ist, Invalid age ausgeben und das Programm beenden
      • Wenn die Länge der Telefonnummer weniger als 10 Zeichen beträgt, Invalid phone number ausgeben und das Programm beenden
    • Wenn alle Validierungen bestanden sind, die Kontaktinformationen in genau diesem Format ausgeben:
      • Contact Information:
      • Name: [name]
      • Phone: [phone]
      • Email: [email]
      • Age: [age]
    • Zusätzliche Informationen berechnen und ausgeben:
      • Die Länge des Namens mit strlen() im Format Name length: [length] ausgeben
      • Die Alterskategorie bestimmen und ausgeben:
        • Wenn das Alter zwischen 0 und 17 liegt: Category: Minor
        • Wenn das Alter zwischen 18 und 64 liegt: Category: Adult
        • Wenn das Alter 65 oder höher ist: Category: Senior

Diese Herausforderung testet Ihr Verständnis der Struct-Definition, der Deklaration von Mitgliedern mit geeigneten Datentypen und Größen, des Zugriffs auf Struct-Mitglieder mit dem Punkt-Operator, der Eingabevalidierung und der Verwendung von String-Funktionen wie strlen() mit Struct-Mitgliedern. Sie üben das Erstellen einer praktischen Datenstruktur, die als Grundlage für ein Kontaktverwaltungssystem dienen könnte.

Probier es selbst

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

// TODO: Definieren Sie hier das Contact-Struct

int main() {
    // TODO: Erstellen Sie eine Contact-Variable namens person
    
    // Eingabewerte lesen
    scanf("%s", /* TODO: person.name zuweisen */);
    scanf("%s", /* TODO: person.phone zuweisen */);
    scanf("%s", /* TODO: person.email zuweisen */);
    scanf("%d", /* TODO: person.age zuweisen */);
    
    // TODO: Schreiben Sie unten Ihren Validierungs- und Ausgabecode
    
    return 0;
}

Alle Lektionen in Logic & Flow

Übe selbstständig: Online-C-Compiler