Menu
Coddy logo textTech

Récapitulatif : Struct de données étudiant

Fait partie de la section Logic & Flow du Journey C de Coddy — leçon 43 sur 63.

challenge icon

Défi

Facile

Créez un programme C qui illustre le flux de travail complet de l'utilisation des structures avec un système de gestion d'étudiants. Votre programme doit :

  1. Définir une struct nommée Student avec les membres suivants :
    • Un entier id pour stocker le numéro d'identification de l'étudiant
    • Un flottant grade pour stocker la note de l'étudiant
  2. Dans la fonction principale, créer une variable Student nommée student1
  3. Lire l'ID et la note de l'étudiant à partir de l'entrée standard en utilisant scanf :
    • Lire un entier pour l'ID et le stocker dans student1.id
    • Lire un flottant pour la note et le stocker dans student1.grade
  4. Après avoir lu l'entrée, effectuer les validations et calculs suivants :
    • Si la note est supérieure à 100.0, la fixer à 100.0
    • Si la note est inférieure à 0.0, la fixer à 0.0
    • Calculer une note bonus en ajoutant 5.0 à la note actuelle (après validation)
    • Si la note bonus dépasse 100.0, fixer la note bonus à 100.0
  5. Afficher les informations de l'étudiant exactement dans ce format :
    • Student Information:
    • ID: [id]
    • Original Grade: [grade]
    • Bonus Grade: [bonus_grade]
    • Grade Status: [status]
  6. Le statut de la note (grade status) doit être déterminé comme suit :
    • Si la note originale est de 90.0 ou plus : Excellent
    • Si la note originale est comprise entre 80.0 et 89.9 : Good
    • Si la note originale est comprise entre 70.0 et 79.9 : Average
    • Si la note originale est inférieure à 70.0 : Needs Improvement

Ce défi teste votre compréhension de la définition de structure, de la création de variables, de l'accès aux membres à l'aide de l'opérateur point, de la gestion des entrées avec scanf, et de la logique conditionnelle pour la validation et le traitement des données. Vous pratiquerez le flux de travail complet de manipulation des structures dans un scénario pratique.

Essayez vous-même

#include <stdio.h>

// TODO: Définir la structure Student ici

int main() {
    // TODO: Créer une variable Student nommée student1
    
    // Lire l'entrée
    int id;
    float grade;
    scanf("%d", &id);
    scanf("%f", &grade);
    
    // TODO: Stocker les valeurs d'entrée dans les membres de la structure
    
    // TODO: Implémenter la validation de la note et le calcul du bonus
    
    // TODO: Déterminer le statut de la note
    
    // Afficher les résultats
    printf("Student Information:\n");
    printf("ID: %d\n", /* TODO: afficher l'ID de l'étudiant */);
    printf("Original Grade: %.1f\n", /* TODO: afficher la note originale */);
    printf("Bonus Grade: %.1f\n", /* TODO: afficher la note bonus */);
    printf("Grade Status: %s\n", /* TODO: afficher le statut de la note */);
    
    return 0;
}

Toutes les leçons de Logic & Flow