Menu
Coddy logo textTech

Recapitulação: Struct de Dados de Aluno

Parte da seção Lógica e Fluxo do Journey de C da Coddy. Lição 43 de 63.

challenge icon

Desafio

Fácil

Crie um programa em C que demonstre o fluxo de trabalho completo do uso de structs com um sistema de gerenciamento de estudantes. Seu programa deve:

  1. Definir uma struct chamada Student com os seguintes membros:
    • Um inteiro id para armazenar o número de identificação do estudante
    • Um float grade para armazenar a nota do estudante
  2. Na função principal, criar uma variável Student chamada student1
  3. Ler o ID e a nota do estudante da entrada usando scanf:
    • Ler um inteiro para o ID e armazená-lo em student1.id
    • Ler um float para a nota e armazená-lo em student1.grade
  4. Após ler a entrada, realizar as seguintes validações e cálculos:
    • Se a nota for maior que 100.0, defini-la como 100.0
    • Se a nota for menor que 0.0, defini-la como 0.0
    • Calcular uma nota bônus adicionando 5.0 à nota atual (após a validação)
    • Se a nota bônus exceder 100.0, defini-la como 100.0
  5. Imprimir as informações do estudante exatamente neste formato:
    • Student Information:
    • ID: [id]
    • Original Grade: [grade]
    • Bonus Grade: [bonus_grade]
    • Grade Status: [status]
  6. O status da nota deve ser determinado da seguinte forma:
    • Se a nota original for 90.0 ou superior: Excellent
    • Se a nota original estiver entre 80.0 e 89.9: Good
    • Se a nota original estiver entre 70.0 e 79.9: Average
    • Se a nota original for inferior a 70.0: Needs Improvement

Este desafio testa sua compreensão da definição de structs, da criação de variáveis, do acesso a membros usando o operador ponto, do tratamento de entradas com scanf e da lógica condicional para validação e processamento de dados. Você praticará o fluxo de trabalho completo de uso de structs em um cenário prático.

Experimente você mesmo

#include <stdio.h>

// TODO: Defina a struct Student aqui

int main() {
    // TODO: Crie uma variável Student chamada student1
    
    // Ler entrada
    int id;
    float grade;
    scanf("%d", &id);
    scanf("%f", &grade);
    
    // TODO: Armazene os valores de entrada nos membros da struct
    
    // TODO: Implemente a validação da nota e o cálculo do bônus
    
    // TODO: Determine o status da nota
    
    // Exibir os resultados
    printf("Student Information:\n");
    printf("ID: %d\n", /* TODO: imprimir o ID do estudante */);
    printf("Original Grade: %.1f\n", /* TODO: imprimir a nota original */);
    printf("Bonus Grade: %.1f\n", /* TODO: imprimir a nota com bônus */);
    printf("Grade Status: %s\n", /* TODO: imprimir o status da nota */);
    
    return 0;
}

Todas as lições de Lógica e Fluxo

Pratique por conta própria: Compilador de C online