Zusammenfassung: Studentendaten-Struct
Teil des Abschnitts Logik & Ablauf der C-Journey von Coddy. Lektion 43 von 63.
Aufgabe
EinfachErstelle ein C-Programm, das den vollständigen Ablauf der Verwendung von struct mit einem Studentenverwaltungssystem demonstriert. Dein Programm sollte:
- Eine
structnamensStudentmit den folgenden Mitgliedern definieren:- Eine Ganzzahl
idzum Speichern der ID-Nummer des Studenten - Eine Gleitkommazahl
gradezum Speichern der Note des Studenten
- Eine Ganzzahl
- In der Hauptfunktion eine
Student-Variable namensstudent1erstellen - Die ID und die Note des Studenten mithilfe von
scanfaus der Eingabe lesen:- Eine Ganzzahl für die ID lesen und in
student1.idspeichern - Eine Gleitkommazahl für die Note lesen und in
student1.gradespeichern
- Eine Ganzzahl für die ID lesen und in
- Nach dem Lesen der Eingabe die folgende Validierung und Berechnungen durchführen:
- Wenn die Note größer als 100.0 ist, sie auf 100.0 setzen
- Wenn die Note kleiner als 0.0 ist, sie auf 0.0 setzen
- Eine Bonusnote berechnen, indem 5.0 zur aktuellen Note (nach der Validierung) addiert werden
- Wenn die Bonusnote 100.0 überschreitet, die Bonusnote auf 100.0 setzen
- Die Informationen des Studenten in genau diesem Format ausgeben:
Student Information:ID: [id]Original Grade: [grade]Bonus Grade: [bonus_grade]Grade Status: [status]
- Der Notenstatus sollte wie folgt bestimmt werden:
- Wenn die ursprüngliche Note 90.0 oder höher ist:
Excellent - Wenn die ursprüngliche Note zwischen 80.0 und 89.9 liegt:
Good - Wenn die ursprüngliche Note zwischen 70.0 und 79.9 liegt:
Average - Wenn die ursprüngliche Note unter 70.0 liegt:
Needs Improvement
- Wenn die ursprüngliche Note 90.0 oder höher ist:
Diese Aufgabe testet dein Verständnis der struct-Definition, der Erstellung von Variablen, des Zugriffs auf Mitglieder mithilfe des Punktoperators, der Eingabeverarbeitung mit scanf sowie der bedingten Logik zur Datenvalidierung und -verarbeitung. Du übst den vollständigen Ablauf 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 Logik & Ablauf
1Zeiger-Grundlagen
Was ist ein Zeiger?Zeiger deklarierenDer Adressoperator (&)Der Dereferenzierungsoperator (*)NULL-ZeigerZusammenfassung: Zeiger-Grundlagen4Projekt: Einfaches Text-Tool
ProjektübersichtZeichen zählen7Strukturen (structs)
Was ist ein Struct?Deklarieren eines StructsErstellen von Struct-VariablenZugriff auf Struct-MemberInitialisieren von StructsZusammenfassung: Studentendaten-Struct2Pointer und Arrays
Array-Namen als PointerArray-Elemente - PointerPointer-ArithmetikPointer vergleichenWiederholung: Array-Durchlauf mit Pointern5Zeiger und Funktionen
Wertübergabe (Pass-by-Value)Zeiger an Funktionen übergebenVariablen über Zeiger ändernEin klassisches Beispiel: SwapArrays an Funktionen übergebenZusammenfassung: Zeiger als Funktionsargumente8Structs und Zeiger
Zeiger auf StructsDer Pfeiloperator (->)Structs per Wert übergebenÜbergabe von Struct-ZeigernDynamische Allokation von StructsZusammenfassung: Struct ändern - Ptr11Finale Wiederholungsaufgaben
Wiederholung: Dynamische String-KonkatenationWiederholung: Array von StructsWiederholung: Wortfrequenz-Zähler3Character-Arrays und Strings
Strings als char-ArraysDer Null-TerminatorString-Eingabe mit scanfVerwendung von strlen()Verwendung von strcpy()Verwendung von strcat()Verwendung von strcmp()Zusammenfassung: Grundlegende String-FunktionenÜbe selbstständig: Online-C-Compiler