Soal
Buatlah program yang meminta dan menyimpan data mahasiswa
yang terdiri dari NIM, nama, nilai tugas, nilai UTS, dan nilai UAS. Data yang
dimasukkan sebanyak n masukkan (n ditentukan oleh pengguna sendiri, maksimal
100) kemudian program akan memberikan pilihan tampilan kepada pengguna, pilihan
tersebut adalah:
1.
Manampilkan semua data
2.
Manampilkan NIM dan nama mahasiswa yang memiliki nilai akhir
tertinggi
3.
Manampilkan NIM dan nama mahasiswa yang memiliki nilai akhir
terendah
4.
Manampilkan NIM dan nama mahasiswa yang memiliki nilai akhir
lebih dari 75
5.
Keluar
Nilai akhir merupakan rata-rata 3 nilai dengan bobot nilai
tugas 25%, nilai UTS 30%, dan nilai UAS 45%.
Pembahasan
“mhs
nilai [100]” Maksud dari pernyataan tersebut adalah pada perintah tersebut akan
menampilkan struct ‘data’ yang sudah dideklarasikan diatas sebelumnya. Ketika
sebuah variabel dideklarasikan maka sebuah memori dialokasikan untuk variabel
tersebut, dengan cara memberi nama memori dengan nama variabel. Larik atau juga
disebut sebagai array adalah kumpulan memori/variabel yang memiliki tipe data
yang sama. Fungsi “for (i=0; i<*n; i++)” fungsi tersebut untuk perulangan
data yang akan dimasukan karena pada penginputan data yang di input lebih dari
satu. “cin>>o[i].nim;” Maksud dari fungsi tersebut untuk menginputkan
data pada data variabel ‘mhs’ yang struct nya nim. Dan pada bagian nama, tugas,
uts, dan uas juga dilakukan seperti itu.
Rumus yang digunakan untuk
menghitung nilai akhir dari mahasiswa:
Ini adalah bagian dari sorting
fungsinya untuk mengurutkan nim, nilai tugas, nilai UTS, nilai UAS, dan nilai
akhir
Ini adalah subprogram output yang menampung output yang telah
diproses.
Fungsi ini merupakan subprogram
yang memproses nilai maksimum dari data yang telah diinputkan. “if
(o[0].tot==o[i].tot)” fungsi tersebut untuk mengecek jika ada nilai yg sama
Fungsi ini merupakan subprogram
yang memproses nilai minimum dari data yang telah diinputkan. “for (int i=0;
i<n-1; i++)” untuk nilai minimum (n-1). karena data yang dimasukkan dimulai dari 0
maka nilai n-1 yang terakhir tidak ditempati
Fungsi ini merupakan subprogram
yang memproses nilai lebih dari 75 dari data yang telah diinputkan.
fungsi main merupakan fungsi yang mengembalikan
nilai integer. switch case menyederhanakan penulisan berulang-ulang if else dan
kondisi-kondisinya. Kesalahan ketik dapat diminimilasir. Selain itu pengecekan
kondisi lebih mudah menggunakan switch case.
Komentar
Posting Komentar