Guest User

Contoh Program C++ Menghitung IPK Mahasiswa

a guest
Dec 5th, 2020
125
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <conio.h>
  3. using namespace std;
  4.  
  5. int HitungIPK (char x, int y);
  6.  
  7. int main()
  8. {
  9.        cout<<"\t\tMENGHITUNG INDEX PRESTASI (IP)"<<endl;
  10.        cout<<"\t........... Develop by www.idnpedia.com ..........."<<endl;
  11.        cout<<"\t.................NIM 20.02.0611................"<<endl <<endl;
  12.        int nilai;
  13.        string hasil;
  14.        int jumlahMK, jumlahMhs, jumlahsks, a,b,c;
  15.  
  16.        float ip_plus,ipp, ippp;
  17.        char hitunglagi, kls;
  18.        jumlahsks=0;
  19.        ippp=0;
  20.  
  21.        struct mahasiswa
  22.        {
  23.               char nama[25];
  24.               int nim;
  25.               float ipk;
  26.        };
  27.  
  28.        struct matakuliah
  29.        {
  30.               int kodeMK;
  31.               char namaMK[25];
  32.               char nilai;
  33.               int sks;
  34.        };
  35.  
  36.        mahasiswa mhs;
  37.        matakuliah makul;
  38.  
  39.  
  40.        do {
  41.               cout<<"======================================================"<<endl<<endl;
  42.               cout<<"\tMasukkan Nama Anda\t= ";
  43.               cin>>mhs.nama;
  44.               cout<<"\tMasukkan NIM Anda\t: ";
  45.               cin>>mhs.nim;
  46.              
  47.               cout<<" \tJumlah Matakuliah\t: ";
  48.               cin>>jumlahMK;
  49.               cout<<endl;
  50.               cout<<"======================================================"<<endl<<endl;
  51.  
  52.              cout << "Inputkan Data" << endl;
  53.  
  54.               for(b=0; b<jumlahMK; b++)
  55.               {
  56.                      cout<<b+1;
  57.                      cout<<"    Nama Matkul \t: ";
  58.                      cin>>makul.namaMK;
  59.                      cout<<"    Bobot SKS\t: ";
  60.                      cin>>makul.sks;
  61.                      
  62.                      cout<<"    Nilai Akhir : ";
  63.                      cin>>nilai;
  64.                      
  65.                      if(nilai >= 90 && nilai <= 100){
  66.             hasil = "A";
  67.         }
  68.         else if(nilai >= 82 && nilai <= 89) {
  69.             hasil = "A-";
  70.         }
  71.         else if(nilai >= 62 && nilai <= 81) {
  72.             hasil = "B";
  73.         }
  74.         else if(nilai >= 42 && nilai <= 61) {
  75.             hasil = "C";
  76.         }
  77.         else if(nilai >= 22 && nilai <= 41) {
  78.             hasil = "D";
  79.         }
  80.         else if(nilai >= 0 && nilai <= 21) {
  81.             hasil = "E";
  82.         }
  83.         cout<< "    Nilai Huruf: "<<hasil<<endl;
  84.                      
  85.                      cout<<"    Ketik Ulang (A,B,C,D,E) : ";
  86.                      cin>>makul.nilai;
  87.                      
  88.                      cout<<"=================================================== \n";
  89.                      
  90.                      cout<<endl;
  91.  
  92.                      jumlahsks=jumlahsks+makul.sks;
  93.                      ipp= HitungIPK(makul.nilai, makul.sks);
  94.                      ippp+=ipp;
  95.  
  96.               }
  97.               mhs.ipk = ippp/jumlahsks;
  98.               cout<<"=================================================== \n";
  99.               cout<<"Total SKS Diambil Anda \t\t : "<<jumlahsks<<endl;
  100.               cout<<"IP Anda \t\t\t:"<<mhs.ipk<<endl<<endl;
  101.               cout<<"=================================================== \n";
  102.  
  103.  
  104.               cout<<"Mau hitung lagi kak? (y /n) = ";
  105.               cin>>hitunglagi;
  106.  
  107.        }while(hitunglagi=='y' || hitunglagi=='Y');
  108.      
  109.  
  110.        system("pause");
  111.        return 0;
  112. }
  113.      
  114.        int HitungIPK (char x, int y)
  115. {
  116.        int ip;
  117.        switch(x)
  118.        {
  119.        case 'A':
  120.               ip=4*y;
  121.               break;
  122.        case 'B':
  123.                      ip=3*y;
  124.                      break;
  125.        case 'C':
  126.                      ip=2*y;
  127.                      break;
  128.        case 'D':
  129.                      ip=1*y;
  130.                      break;
  131.        case 'E':
  132.                      ip=0*y;
  133.                      break;
  134.        default:
  135.               ip=0;
  136.               break;
  137.        }
  138.        return ip;
  139. }
RAW Paste Data