Menu
Coddy logo textTech

Podsumowanie: struktura danych studenta

Część sekcji Logika i sterowanie przepływem ścieżki C w Coddy. Lekcja 43 z 63.

challenge icon

Wyzwanie

Łatwy

Utwórz program w C, który demonstruje pełny przebieg pracy ze strukturami w systemie zarządzania danymi uczniów. Twój program powinien:

  1. Zdefiniować struct o nazwie Student z następującymi składowymi:
    • Liczbę całkowitą id do przechowywania numeru identyfikacyjnego ucznia
    • Liczbę zmiennoprzecinkową grade do przechowywania oceny ucznia
  2. W funkcji main utworzyć zmienną typu Student o nazwie student1
  3. Odczytać z wejścia numer identyfikacyjny i ocenę ucznia za pomocą scanf:
    • Odczytać liczbę całkowitą jako numer identyfikacyjny i zapisać ją w student1.id
    • Odczytać liczbę zmiennoprzecinkową jako ocenę i zapisać ją w student1.grade
  4. Po odczytaniu danych wejściowych przeprowadzić następującą walidację i obliczenia:
    • Jeśli ocena jest większa niż 100.0, ustawić ją na 100.0
    • Jeśli ocena jest mniejsza niż 0.0, ustawić ją na 0.0
    • Obliczyć ocenę bonusową, dodając 5.0 do bieżącej oceny (po walidacji)
    • Jeśli ocena bonusowa przekracza 100.0, ustawić ją na 100.0
  5. Wyświetlić informacje o uczniu w dokładnie takim formacie:
    • Student Information:
    • ID: [id]
    • Original Grade: [grade]
    • Bonus Grade: [bonus_grade]
    • Grade Status: [status]
  6. Określić status oceny w następujący sposób:
    • Jeśli pierwotna ocena wynosi 90.0 lub więcej: Excellent
    • Jeśli pierwotna ocena wynosi od 80.0 do 89.9: Good
    • Jeśli pierwotna ocena wynosi od 70.0 do 79.9: Average
    • Jeśli pierwotna ocena jest niższa niż 70.0: Needs Improvement

To wyzwanie sprawdza Twoje rozumienie definicji struktur, tworzenia zmiennych, dostępu do składowych za pomocą operatora kropki, obsługi danych wejściowych za pomocą scanf oraz logiki warunkowej służącej do walidacji i przetwarzania danych. Przećwiczysz pełny przebieg pracy ze strukturami w praktycznym scenariuszu.

Spróbuj swoich sił

#include <stdio.h>

// TODO: Zdefiniuj tutaj strukturę Student

int main() {
    // TODO: Utwórz zmienną typu Student o nazwie student1
    
    // Wczytaj dane wejściowe
    int id;
    float grade;
    scanf("%d", &id);
    scanf("%f", &grade);
    
    // TODO: Zapisz wartości wejściowe w polach struktury
    
    // TODO: Zaimplementuj sprawdzanie poprawności oceny i obliczanie premii
    
    // TODO: Określ status oceny
    
    // Wyświetl wyniki
    printf("Student Information:\n");
    printf("ID: %d\n", /* TODO: wypisz identyfikator studenta */);
    printf("Original Grade: %.1f\n", /* TODO: wypisz pierwotną ocenę */);
    printf("Bonus Grade: %.1f\n", /* TODO: wypisz ocenę po dodaniu premii */);
    printf("Grade Status: %s\n", /* TODO: wypisz status oceny */);
    
    return 0;
}

Wszystkie lekcje w sekcji Logika i sterowanie przepływem

Poćwicz samodzielnie: Kompilator C online