Sabtu, 09 Januari 2010

Program Menghitung Nilai Mahasiswa

#include <iostream.h>
#include <string.h>
#include <iomanip.h>
class mahasiswa
{
    private:
        char nama[25];
        char huruf;
        int nilai_absen;
        int nilai_tugas;
        int nilai_uts;
        int nilai_uas;
        double nm_ab;
        double nm_tu;
        double nm_uts;
        double nm_uas;
        double hasil;   
    public:
        void    inisialisasi();
        void     tabel();       
};



int main()
{
    mahasiswa data[100];
    char mk[25];
    int jumlah;
    cout<<"=================================================="<<endl;
    cout<<"SEKOLAH TINGGI INFORMATIKA KOMPUTER    "<<endl;
    cout<<"=================================================="<<endl;
    cout<<"Masukkan Nama mata kuliah Anda !"; cin.get(mk,(sizeof(mk)));
    cout<<"Masukkan jumlah mahasiswa !"; cin >>jumlah;
    cout<<endl;

    for (int i=1;i<=jumlah;i++)
    {
        cout<<"Data ke-"<<i<<endl;
        data[i].inisialisasi();
        cout<<endl;
    }

   
    cout<<"SEKOLAH TINGGI INFORMATIKA KOMPUTER    "<<endl;
    cout<<"Mata kuliah      : "<<mk<<endl;
    cout<<"=====================================================================\n";
    cout<<"No     Nama Mahasiswa                       NILAI            \n";
    cout<<"                           ------------------------------------------ \n";
    cout<<"                           Absen   Tugas    UTS     UAS   NILAI HURUF    \n";
    cout<<"=====================================================================\n";
    for (int j=1;j<=jumlah;j++)
    {
        cout<<setw(3)<<j;data[j].tabel();
        cout<<endl;
    }
    cout<<"=====================================================================\n";
   
}

    void    mahasiswa::inisialisasi()
    {
       
        cout <<"Masukan nama mahasiswa  : "; cin >> nama;
         l1:cout <<"Masukkan nilai absen    : "; cin >> nilai_absen;
            if ((nilai_absen >100)&&(nilai_absen <0))
            {
                cout<<"Maaf!!! nilai dalam Skala 0-100 \n";
                cout<<"silahkan ulangi lagi \n";
                goto l1;
            }
         l2:cout <<"Masukkan nilai tugas    : "; cin >> nilai_tugas;
            if ((nilai_tugas >100)&&(nilai_tugas <0))
            {
                cout<<"Maaf!!! nilai dalam Skala 0-100 \n";
                cout<<"silahkan ulangi lagi \n";
                goto l2;
            }
         l3:cout <<"Masukkan nilai UTS      : "; cin >> nilai_uts;
            if ((nilai_uts >100)&&(nilai_uts <0))
            {
                cout<<"Maaf!!! nilai dalam Skala 0-100 \n";
                cout<<"silahkan ulangi lagi \n";
                goto l3;
            }
         l4:cout <<"Masukkan nilai UAS      : "; cin >> nilai_uas;
            if ((nilai_uas >100)&&(nilai_uas <0))
            {
                cout<<"Maaf!!! nilai dalam Skala 0-100 \n";
                cout<<"silahkan ulangi lagi \n";
                goto l4;
            }
   
        // Penginputan nilai murni
        nm_ab=    nilai_absen    *0.1;
        nm_tu=    nilai_tugas    *0.2;
        nm_uts=    nilai_uts    *0.3;
        nm_uas=    nilai_uas    *0.4;
        hasil=    nm_ab + nm_tu + nm_uts +nm_uas ;

        // pengkonfersian hasil keseluruhan kedalam nilai huruf
        if (hasil >= 80)
        {
            huruf = 'A';
        }
        else if ((hasil >= 70) && (hasil < 80))
        {
            huruf = 'B';
        }
        else if ((hasil >= 56) && (hasil < 70))
        {
            huruf = 'C';
        }
        else if ((hasil >= 46) && (hasil < 56))
        {
            huruf ='D';
        }
        else
        {
            huruf ='E';
        }
    }
    void mahasiswa::tabel()
    {
        cout << setw(20)<<nama<<setw(8)<<nilai_absen<<setw(8)<<nilai_tugas<<setw(8)<<nilai_uts<<
        setw(8)<<nilai_uas<<setw(10)<<huruf;
    }
   

Tidak ada komentar:

Posting Komentar