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