KHS

#include <iostream>

#include <string>


using namespace std;


struct MataKuliah {

    string namaMataKuliah;

    int sks;

    char nilai;

};


const int MAX_MATAKULIAH = 5;


void tampilkanIPK(const MataKuliah matkul[], int jumlahMatkul) {

    int totalSKS = 0;

    double totalBobotNilai = 0.0;

    int i = 0;


    while (i < jumlahMatkul) {

        int sks = matkul[i].sks;

        char nilai = matkul[i].nilai;


        totalSKS += sks;


        switch (nilai) {

            case 'A':

                totalBobotNilai += 4.0 * sks;

                break;

            case 'B':

                totalBobotNilai += 3.0 * sks;

                break;

            case 'C':

                totalBobotNilai += 2.0 * sks;

                break;

            case 'D':

                totalBobotNilai += 1.0 * sks;

                break;

            case 'E':

                totalBobotNilai += 0.0 * sks;

                break;

            default:

                cout << "Nilai tidak valid untuk mata kuliah: " << matkul[i].namaMataKuliah << endl;

                return;

        }


        i++;

    }


    double ipk = totalBobotNilai / totalSKS;


    cout << "IPK: " << ipk << endl;

}


int main() {

    MataKuliah matkul[MAX_MATAKULIAH];

    int jumlahMatkul;


    cout << "Masukkan jumlah mata kuliah: ";

    cin >> jumlahMatkul;


    cin.ignore(); // Mengabaikan karakter newline dalam buffer input


    int i = 0;

    while (i < jumlahMatkul) {

        cout << "Masukkan nama mata kuliah ke-" << (i + 1) << ": ";

        getline(cin, matkul[i].namaMataKuliah);


        cout << "Masukkan jumlah SKS mata kuliah ke-" << (i + 1) << ": ";

        cin >> matkul[i].sks;


        cout << "Masukkan nilai mata kuliah ke-" << (i + 1) << ": ";

        cin >> matkul[i].nilai;


        cin.ignore(); // Mengabaikan karakter newline dalam buffer input


        i++;

    }


    cout << endl;

    cout << "----- Kartu Hasil Studi -----" << endl;

    cout << endl;


    i = 0;

    while (i < jumlahMatkul) {

        cout << "Mata Kuliah ke-" << (i + 1) << ": " << matkul[i].namaMataKuliah << endl;

        cout << "SKS: " << matkul[i].sks << endl;

        cout << "Nilai: " << matkul[i].nilai << endl;

        cout << endl;


        i++;

    }


    cout << "-------------------------------" << endl;

    cout << endl;


    tampilkanIPK(matkul, jumlahMatkul);


    return 0;

}


Komentar

Postingan populer dari blog ini

Program Menentukan Jenis Kelamin Menggunakan C++