Ringkasan: struct Data Siswa
Termasuk bagian Logika dan Alur dalam perjalanan C di Coddy. Pelajaran 43 dari 63.
Tantangan
MudahBuat program C yang menunjukkan alur kerja lengkap penggunaan struct dalam sistem manajemen siswa. Programmu harus:
- Mendefinisikan
structbernamaStudentdengan anggota berikut:- Integer
iduntuk menyimpan nomor ID siswa - Float
gradeuntuk menyimpan nilai siswa
- Integer
- Di fungsi utama, buat variabel
Studentbernamastudent1 - Baca ID dan nilai siswa dari input menggunakan
scanf:- Baca sebuah integer untuk ID dan simpan di
student1.id - Baca sebuah float untuk nilai dan simpan di
student1.grade
- Baca sebuah integer untuk ID dan simpan di
- Setelah membaca input, lakukan validasi dan perhitungan berikut:
- Jika nilai lebih besar dari 100.0, tetapkan nilainya menjadi 100.0
- Jika nilai kurang dari 0.0, tetapkan nilainya menjadi 0.0
- Hitung nilai bonus dengan menambahkan 5.0 ke nilai saat ini, setelah validasi
- Jika nilai bonus melebihi 100.0, tetapkan nilai bonus menjadi 100.0
- Cetak informasi siswa dalam format yang persis seperti ini:
Student Information:ID: [id]Original Grade: [grade]Bonus Grade: [bonus_grade]Grade Status: [status]
- Status nilai harus ditentukan sebagai berikut:
- Jika nilai asli 90.0 atau lebih:
Excellent - Jika nilai asli dari 80.0 hingga 89.9:
Good - Jika nilai asli dari 70.0 hingga 79.9:
Average - Jika nilai asli di bawah 70.0:
Needs Improvement
- Jika nilai asli 90.0 atau lebih:
Tantangan ini menguji pemahamanmu tentang definisi struct, pembuatan variabel, akses anggota menggunakan operator titik, penanganan input dengan scanf, dan logika percabangan untuk validasi serta pemrosesan data. Kamu akan berlatih menggunakan struct dengan alur kerja lengkap dalam skenario praktis.
Coba sendiri
#include <stdio.h>
// TODO: Definisikan struct Student di sini
int main() {
// TODO: Buat variabel Student bernama student1
// Baca input
int id;
float grade;
scanf("%d", &id);
scanf("%f", &grade);
// TODO: Simpan nilai input dalam anggota struct
// TODO: Terapkan validasi nilai dan perhitungan bonus
// TODO: Tentukan status nilai
// Tampilkan hasilnya
printf("Student Information:\n");
printf("ID: %d\n", /* TODO: tampilkan ID siswa */);
printf("Original Grade: %.1f\n", /* TODO: tampilkan nilai asli */);
printf("Bonus Grade: %.1f\n", /* TODO: tampilkan nilai bonus */);
printf("Grade Status: %s\n", /* TODO: tampilkan status nilai */);
return 0;
}Semua pelajaran di Logika dan Alur
1Dasar-Dasar Pointer
Apa Itu Pointer?Mendeklarasikan PointerOperator Address-Of (&)Operator Dereference (*)Pointer NULLRekap: Dasar-Dasar Pointer4Proyek: Utilitas Teks Sederhana
Gambaran Umum ProyekMenghitung Karakter7Struktur (struct)
Apa Itu struct?Mendeklarasikan structMembuat Variabel structMengakses Anggota structMenginisialisasi structRingkasan: struct Data Siswa2Pointer dan array
Nama array sebagai pointerElemen array dan pointerAritmetika pointerMembandingkan pointerRangkuman: Menelusuri array dengan pointer5Pointer dan Fungsi
Penerusan dengan NilaiMeneruskan Pointer ke FungsiMengubah Variabel melalui PointerContoh Klasik: SwapMeneruskan Array ke FungsiRingkasan: Argumen Pointer Fungsi8Struct dan Pointer
Pointer ke StructOperator Panah (->)Mengirim Struct berdasarkan NilaiMengirim Pointer StructAlokasi Dinamis StructUlasan: Memodifikasi Struct dengan Pointer11Tantangan Rangkuman Akhir
Rangkuman: Penggabungan string DinamisRangkuman: array berisi structRangkuman: Penghitung Frekuensi Kata3Array char dan String
String sebagai array charPenanda akhir nullInput String dengan scanfMenggunakan strlen()Menggunakan strcpy()Menggunakan strcat()Menggunakan strcmp()Ulasan: Fungsi String DasarLatihan sendiri: Compiler C online