Menu
Coddy logo textTech

Riepilogo: struct dei dati dello studente

Fa parte della sezione Logica e flusso del percorso C di Coddy. Lezione 43 di 63.

challenge icon

Sfida

Facile

Crea un programma C che mostri il flusso di lavoro completo dell’uso delle struct con un sistema di gestione degli studenti. Il programma deve:

  1. Definire una struct chiamata Student con i seguenti membri:
    • Un intero id per memorizzare il numero ID dello studente
    • Un float grade per memorizzare il voto dello studente
  2. Nella funzione main, creare una variabile Student chiamata student1
  3. Leggere l’ID e il voto dello studente dall’input usando scanf:
    • Leggere un intero per l’ID e memorizzarlo in student1.id
    • Leggere un float per il voto e memorizzarlo in student1.grade
  4. Dopo aver letto l’input, eseguire le seguenti operazioni di convalida e calcolo:
    • Se il voto è maggiore di 100.0, impostarlo a 100.0
    • Se il voto è minore di 0.0, impostarlo a 0.0
    • Calcolare un voto bonus aggiungendo 5.0 al voto corrente (dopo la convalida)
    • Se il voto bonus supera 100.0, impostare il voto bonus a 100.0
  5. Stampare le informazioni dello studente in questo formato esatto:
    • Student Information:
    • ID: [id]
    • Original Grade: [grade]
    • Bonus Grade: [bonus_grade]
    • Grade Status: [status]
  6. Determinare lo stato del voto come segue:
    • Se il voto originale è pari o superiore a 90.0: Excellent
    • Se il voto originale è compreso tra 80.0 e 89.9: Good
    • Se il voto originale è compreso tra 70.0 e 79.9: Average
    • Se il voto originale è inferiore a 70.0: Needs Improvement

Questa sfida verifica la tua comprensione della definizione di struct, della creazione di variabili, dell’accesso ai membri usando l’operatore punto, della gestione dell’input con scanf e della logica condizionale per la convalida e l’elaborazione dei dati. Ti eserciterai nel flusso di lavoro completo per lavorare con le struct in uno scenario pratico.

Provalo tu

#include <stdio.h>

// TODO: Define aquí la estructura Student

int main() {
    // TODO: Crea una variable Student llamada student1
    
    // Lee la entrada
    int id;
    float grade;
    scanf("%d", &id);
    scanf("%f", &grade);
    
    // TODO: Almacena los valores de entrada en los miembros de la estructura
    
    // TODO: Implementa la validación de la nota y el cálculo de la bonificación
    
    // TODO: Determina el estado de la nota
    
    // Muestra los resultados
    printf("Student Information:\n");
    printf("ID: %d\n", /* TODO: imprime el ID del estudiante */);
    printf("Original Grade: %.1f\n", /* TODO: imprime la nota original */);
    printf("Bonus Grade: %.1f\n", /* TODO: imprime la nota con bonificación */);
    printf("Grade Status: %s\n", /* TODO: imprime el estado de la nota */);
    
    return 0;
}

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore C online