Menu
Coddy logo textTech

Resumen: Struct de datos de estudiantes

Parte de la sección Logic & Flow del Journey de C de Coddy — lección 43 de 63.

challenge icon

Desafío

Fácil

Crea un programa en C que demuestre el flujo de trabajo completo del uso de structs con un sistema de gestión de estudiantes. Tu programa debe:

  1. Definir un struct llamado Student con los siguientes miembros:
    • Un entero id para almacenar el número de identificación del estudiante
    • Un flotante grade para almacenar la calificación del estudiante
  2. En la función principal, crea una variable Student llamada student1
  3. Lee el ID y la calificación del estudiante desde la entrada usando scanf:
    • Lee un entero para el ID y almacénalo en student1.id
    • Lee un flotante para la calificación y almacénalo en student1.grade
  4. Después de leer la entrada, realiza la siguiente validación y cálculos:
    • Si la calificación es mayor que 100.0, establécela en 100.0
    • Si la calificación es menor que 0.0, establécela en 0.0
    • Calcula una calificación de bonificación sumando 5.0 a la calificación actual (después de la validación)
    • Si la calificación de bonificación excede 100.0, establece la calificación de bonificación en 100.0
  5. Imprime la información del estudiante en este formato exacto:
    • Student Information:
    • ID: [id]
    • Original Grade: [grade]
    • Bonus Grade: [bonus_grade]
    • Grade Status: [status]
  6. El estado de la calificación debe determinarse de la siguiente manera:
    • Si la calificación original es 90.0 o superior: Excellent
    • Si la calificación original es de 80.0 a 89.9: Good
    • Si la calificación original es de 70.0 a 79.9: Average
    • Si la calificación original es inferior a 70.0: Needs Improvement

Este desafío pone a prueba tu comprensión de la definición de structs, la creación de variables, el acceso a miembros mediante el operador de punto, el manejo de entradas con scanf y la lógica condicional para la validación y el procesamiento de datos. Practicarás el flujo de trabajo completo de trabajar con structs en un escenario práctico.

Pruébalo tú mismo

#include <stdio.h>

// TODO: Define la estructura Student aquí

int main() {
    // TODO: Crea una variable Student llamada student1
    
    // Leer 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 calificación y el cálculo de la bonificación
    
    // TODO: Determina el estado de la calificación
    
    // Mostrar los resultados
    printf("Student Information:\n");
    printf("ID: %d\n", /* TODO: imprimir ID del estudiante */);
    printf("Original Grade: %.1f\n", /* TODO: imprimir calificación original */);
    printf("Bonus Grade: %.1f\n", /* TODO: imprimir calificación con bonificación */);
    printf("Grade Status: %s\n", /* TODO: imprimir estado de la calificación */);
    
    return 0;
}

Todas las lecciones de Logic & Flow