Menu
Coddy logo textTech

Повторение: структура данных Student

Часть раздела Logic & Flow путешествия по C на Coddy — урок 43 из 63.

challenge icon

Задание

Легко

Создайте программу на языке C, которая демонстрирует полный рабочий процесс использования структур на примере системы управления данными студентов. Ваша программа должна:

  1. Определить структуру struct с именем Student со следующими членами:
    • Целое число id для хранения идентификационного номера студента
    • Число с плавающей запятой grade для хранения оценки студента
  2. В функции main создать переменную типа Student с именем student1
  3. Считать ID и оценку студента из входных данных с помощью scanf:
    • Считать целое число для ID и сохранить его в student1.id
    • Считать число с плавающей запятой для оценки и сохранить его в student1.grade
  4. После чтения входных данных выполнить следующую валидацию и расчеты:
    • Если оценка больше 100.0, установить ее равной 100.0
    • Если оценка меньше 0.0, установить ее равной 0.0
    • Рассчитать бонусную оценку, добавив 5.0 к текущей оценке (после валидации)
    • Если бонусная оценка превышает 100.0, установить бонусную оценку равной 100.0
  5. Вывести информацию о студенте в точно таком же формате:
    • Student Information:
    • ID: [id]
    • Original Grade: [grade]
    • Bonus Grade: [bonus_grade]
    • Grade Status: [status]
  6. Статус оценки должен определяться следующим образом:
    • Если исходная оценка 90.0 или выше: Excellent
    • Если исходная оценка от 80.0 до 89.9: Good
    • Если исходная оценка от 70.0 до 79.9: Average
    • Если исходная оценка ниже 70.0: Needs Improvement

Эта задача проверяет ваше понимание определения структур, создания переменных, доступа к членам структуры с помощью оператора «точка», обработки ввода с помощью scanf и условной логики для валидации и обработки данных. Вы попрактикуетесь в полном цикле работы со структурами в практическом сценарии.

Попробуйте сами

#include <stdio.h>

// TODO: Определите здесь структуру Student

int main() {
    // TODO: Создайте переменную типа Student с именем student1
    
    // Чтение входных данных
    int id;
    float grade;
    scanf("%d", &id);
    scanf("%f", &grade);
    
    // TODO: Сохраните введенные значения в членах структуры
    
    // TODO: Реализуйте проверку оценки и расчет бонуса
    
    // TODO: Определите статус оценки
    
    // Вывод результатов
    printf("Student Information:\n");
    printf("ID: %d\n", /* TODO: вывести ID студента */);
    printf("Original Grade: %.1f\n", /* TODO: вывести исходную оценку */);
    printf("Bonus Grade: %.1f\n", /* TODO: вывести бонусную оценку */);
    printf("Grade Status: %s\n", /* TODO: вывести статус оценки */);
    
    return 0;
}

Все уроки раздела Logic & Flow