Menu
Coddy logo textTech

Zusammenfassung: Studentendaten-Struct

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

challenge icon

Aufgabe

Einfach

Erstellen Sie ein C-Programm, das den vollständigen Arbeitsablauf der Verwendung von Structs mit einem Studentenverwaltungssystem demonstriert. Ihr Programm sollte:

  1. Definieren Sie ein struct namens Student mit den folgenden Mitgliedern:
    • Ein Integer id, um die ID-Nummer des Studenten zu speichern
    • Ein Float grade, um die Note des Studenten zu speichern
  2. Erstellen Sie in der main-Funktion eine Student-Variable namens student1
  3. Lesen Sie die ID und die Note des Studenten mit scanf von der Eingabe ein:
    • Lesen Sie einen Integer für die ID ein und speichern Sie ihn in student1.id
    • Lesen Sie einen Float für die Note ein und speichern Sie ihn in student1.grade
  4. Führen Sie nach dem Einlesen der Eingabe die folgende Validierung und Berechnungen durch:
    • Wenn die Note größer als 100.0 ist, setzen Sie sie auf 100.0
    • Wenn die Note kleiner als 0.0 ist, setzen Sie sie auf 0.0
    • Berechnen Sie eine Bonusnote, indem Sie 5.0 zur aktuellen Note (nach der Validierung) addieren
    • Wenn die Bonusnote 100.0 überschreitet, setzen Sie die Bonusnote auf 100.0
  5. Geben Sie die Studenteninformationen in genau diesem Format aus:
    • Student Information:
    • ID: [id]
    • Original Grade: [grade]
    • Bonus Grade: [bonus_grade]
    • Grade Status: [status]
  6. Der Notenstatus sollte wie folgt bestimmt werden:
    • Wenn die ursprüngliche Note 90.0 oder höher ist: Excellent
    • Wenn die ursprüngliche Note 80.0 bis 89.9 ist: Good
    • Wenn die ursprüngliche Note 70.0 bis 79.9 ist: Average
    • Wenn die ursprüngliche Note unter 70.0 liegt: Needs Improvement

Diese Herausforderung testet Ihr Verständnis der Struct-Definition, Variablenerstellung, des Member-Zugriffs mit dem Punkt-Operator, der Eingabebehandlung mit scanf und der bedingten Logik für die Datenvalidierung und -verarbeitung. Sie üben den vollständigen Arbeitsablauf der Arbeit mit Structs in einem praktischen Szenario.

Probier es selbst

#include <stdio.h>

// TODO: Definieren Sie hier das Student-Struct

int main() {
    // TODO: Erstellen Sie eine Student-Variable namens student1
    
    // Eingabe lesen
    int id;
    float grade;
    scanf("%d", &id);
    scanf("%f", &grade);
    
    // TODO: Speichern Sie die Eingabewerte in den Struct-Membern
    
    // TODO: Implementieren Sie die Notenvalidierung und Bonusberechnung
    
    // TODO: Bestimmen Sie den Notenstatus
    
    // Ergebnisse ausgeben
    printf("Student Information:\n");
    printf("ID: %d\n", /* TODO: Studenten-ID ausgeben */);
    printf("Original Grade: %.1f\n", /* TODO: ursprüngliche Note ausgeben */);
    printf("Bonus Grade: %.1f\n", /* TODO: Bonusnote ausgeben */);
    printf("Grade Status: %s\n", /* TODO: Notenstatus ausgeben */);
    
    return 0;
}

Alle Lektionen in Logic & Flow