Menu
Coddy logo textTech

Récapitulatif : Struct de données étudiant

Fait partie de la section Logique & Flux du Journey C de Coddy. Leçon 43 sur 63.

challenge icon

Défi

Facile

Créez un programme en C qui montre le flux de travail complet de l'utilisation des structures avec un système de gestion des é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'identifiant et la note de l'étudiant à partir de l'entrée à l'aide de scanf :
    • Lire un entier pour l'identifiant 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 la validation et les calculs suivants :
    • Si la note est supérieure à 100.0, la définir à 100.0
    • Si la note est inférieure à 0.0, la définir à 0.0
    • Calculer une note bonus en ajoutant 5.0 à la note actuelle (après validation)
    • Si la note bonus dépasse 100.0, la définir à 100.0
  5. Afficher les informations de l'étudiant dans ce format exact :
    • Student Information:
    • ID: [id]
    • Original Grade: [grade]
    • Bonus Grade: [bonus_grade]
    • Grade Status: [status]
  6. Le statut de la note doit être déterminé comme suit :
    • Si la note originale est supérieure ou égale à 90.0 : 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 d'une 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 mettrez en pratique le flux de travail complet lié à l'utilisation des structures dans un scénario concret.

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 Logique & Flux

Entraînez-vous par vous-même : Compilateur C en ligne