Özet: Öğrenci Verisi Struct'ı
Coddy'nin C Journey'sinin Mantık & Akış bölümünün bir parçası. Ders 43 / 63.
Görev
KolayBir öğrenci yönetim sistemiyle struct kullanımının eksiksiz iş akışını gösteren bir C programı oluştur. Programın şunları yapmalıdır:
- Aşağıdaki üyelerle
structadlı birStudenttanımla:- Öğrencinin kimlik numarasını saklamak için bir tamsayı
id - Öğrencinin notunu saklamak için bir kayan noktalı sayı
grade
- Öğrencinin kimlik numarasını saklamak için bir tamsayı
- main işlevinde
Studentadlı birstudent1değişkeni oluştur scanfkullanarak öğrencinin kimlik numarasını ve notunu girdiden oku:- Kimlik numarası için bir tamsayı oku ve bunu
student1.idiçinde sakla - Not için bir kayan noktalı sayı oku ve bunu
student1.gradeiçinde sakla
- Kimlik numarası için bir tamsayı oku ve bunu
- Girdiyi okuduktan sonra aşağıdaki doğrulama ve hesaplamaları gerçekleştir:
- Not 100.0'dan büyükse 100.0 olarak ayarla
- Not 0.0'dan küçükse 0.0 olarak ayarla
- Geçerli notu temel alarak mevcut nota 5.0 ekleyip bonus notu hesapla
- Bonus notu 100.0'ı aşarsa bonus notunu 100.0 olarak ayarla
- Öğrenci bilgilerini tam olarak şu biçimde yazdır:
Student Information:ID: [id]Original Grade: [grade]Bonus Grade: [bonus_grade]Grade Status: [status]
- Not durumu aşağıdaki şekilde belirlenmelidir:
- Orijinal not 90.0 veya üzerindeyse:
Excellent - Orijinal not 80.0 ile 89.9 arasındaysa:
Good - Orijinal not 70.0 ile 79.9 arasındaysa:
Average - Orijinal not 70.0'ın altındaysa:
Needs Improvement
- Orijinal not 90.0 veya üzerindeyse:
Bu meydan okuma, struct tanımlama, değişken oluşturma, nokta operatörünü kullanarak üyelere erişme, scanf ile girdi işleme ve veri doğrulama ile işleme için koşullu mantık anlayışını sınar. Pratik bir senaryoda struct'larla çalışmanın eksiksiz iş akışını uygulayacaksın.
Kendin dene
#include <stdio.h>
// TODO: Burada Student yapısını (struct) tanımlayın
int main() {
// TODO: student1 adında bir Student değişkeni oluşturun
// Girdiyi oku
int id;
float grade;
scanf("%d", &id);
scanf("%f", &grade);
// TODO: Girdi değerlerini yapı (struct) üyelerine kaydedin
// TODO: Not doğrulama ve bonus hesaplamasını uygulayın
// TODO: Not durumunu belirleyin
// Sonuçları yazdır
printf("Student Information:\n");
printf("ID: %d\n", /* TODO: öğrenci ID'sini yazdır */);
printf("Original Grade: %.1f\n", /* TODO: orijinal notu yazdır */);
printf("Bonus Grade: %.1f\n", /* TODO: bonus notu yazdır */);
printf("Grade Status: %s\n", /* TODO: not durumunu yazdır */);
return 0;
}Mantık & Akış bölümündeki tüm dersler
1Pointer Temelleri
Pointer Nedir?Pointer TanımlamaAdres Operatörü (&)Dereference Operatörü (*)NULL Pointer'larÖzet: Pointer Temelleri4Proje: Basit Metin Aracı
Projeye Genel BakışKarakter Sayma7Yapılar (structs)
Struct Nedir?Struct TanımlamaStruct Değişkenleri OluşturmaStruct Üyelerine ErişmeStruct BaşlatmaÖzet: Öğrenci Verisi Struct'ı2İşaretçiler ve Diziler
İşaretçi Olarak Dizi İsimleriDizi Elemanları - İşaretçilerİşaretçi Aritmetiğiİşaretçilerin KarşılaştırılmasıÖzet: İşaretçi ile Dizi Gezinme5İşaretçiler ve Fonksiyonlar
Değer ile GeçmeFonksiyonlara İşaretçi Göndermeİşaretçiler ile Değişkenleri DeğiştirmeKlasik Bir Örnek: SwapFonksiyonlara Dizi GöndermeÖzet: Fonksiyon İşaretçi Argümanları8Yapılar ve İşaretçiler
Yapılara İşaretçilerOk Operatörü (->)Yapıları Değer ile AktarmaYapı İşaretçilerini AktarmaYapıların Dinamik TahsisiÖzet: Yapıyı Değiştirme - Ptr11Son Tekrar Görevleri
Tekrar: Dinamik String BirleştirmeTekrar: Struct DizisiTekrar: Kelime Frekans Sayacı3Karakter Dizileri ve Stringler
char Dizisi Olarak StringlerNull Sonlandırıcıscanf ile String Girişistrlen() Kullanımıstrcpy() Kullanımıstrcat() Kullanımıstrcmp() KullanımıÖzet: Temel String FonksiyonlarıKendi başına pratik yap: Online C derleyicisi