Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string.h>
- #include <iomanip>
- using namespace std;
- double get_harkat(char);
- char get_nilai(int);
- main(){
- typedef struct {
- char nama[30],
- dosen[30],
- nilai,
- kode[10];
- int sks;
- }matakuliah;
- typedef struct{
- char nama[30];
- int nim,
- jumlah_matkul;
- double ipk;
- matakuliah matkul[100];
- }mahasiswa;
- int jum_mhs,
- nilai,
- jum_sks;
- double jum_harkat;
- cout<<"berapa mahasiswa yang ingin di input? : ";cin>>jum_mhs;
- mahasiswa mhs[jum_mhs];
- for(int i=0;i<jum_mhs;i++){
- jum_sks=0;
- jum_harkat=0;
- cin.ignore();
- cout<<"input data mahasiswa ke "<<i+1<<endl;
- cout<<"masukan nama : ";cin.getline(mhs[i].nama,30);
- cout<<"masukan nim : ";cin>>mhs[i].nim;
- cout<<"masukan jumlah matakuliah : ";cin>>mhs[i].jumlah_matkul;
- for(int j=0;j<mhs[i].jumlah_matkul;j++){
- cin.ignore();
- cout<<" input mata kuliah ke "<<j+1<<endl;;
- cout<<" nama matakuliah : ";cin.getline(mhs[i].matkul[j].nama,30);
- cout<<" nama dosen : ";cin.getline(mhs[i].matkul[j].dosen,30);
- cout<<" kode matakuliah : ";cin.getline(mhs[i].matkul[j].kode,10);
- cout<<" nilai : ";cin>>nilai;
- mhs[i].matkul[j].nilai = get_nilai(nilai);
- cout<<" Jumlah sks : ";cin>>mhs[i].matkul[j].sks;
- jum_sks+=mhs[i].matkul[j].sks;
- jum_harkat+= get_harkat(mhs[i].matkul[j].nilai)*mhs[i].matkul[j].sks;
- }
- mhs[i].ipk= jum_harkat/jum_sks;
- }
- cout<<"========================================================="<<endl;
- for(int i =0;i<jum_mhs;i++){
- cout<<"Data mahasiswa ke "<<i+1<<" : "<<endl;
- cout<<"nama : "<<mhs[i].nama<<endl;
- cout<<"nim : "<<mhs[i].nim<<endl;
- cout<<"jumlah matakuliah : "<<mhs[i].jumlah_matkul<<endl;
- cout<<"ipk : "<<setprecision(3)<<mhs[i].ipk<<endl;
- cout<<"Data mata kuliah"<<endl;
- cout<<"=========================================================="<<endl;
- cout<<" Nama | DOSEN | KODE | NILAI | SKS "<<endl;
- cout<<"=========================================================="<<endl;
- for(int j=0;j<mhs[i].jumlah_matkul;j++){
- cout<<setw(10)<<mhs[i].matkul[j].nama<<setw(15)<<mhs[i].matkul[j].dosen<<setw(12);
- cout<<mhs[i].matkul[j].kode<<setw(10)<<mhs[i].matkul[j].nilai;
- cout<<setw(9)<<mhs[i].matkul[j].sks<<endl;
- }
- cout<<"=========================================================="<<endl;
- }
- }
- char get_nilai(int x){
- return(x>80&&x<=100?'A':x>=65&&x<80?'B':x>40&&x<=65?'C':x>=20&&x<40?'D':'E');
- }
- double get_harkat(char x){
- return(x=='A'?4.0:x=='B'?3.0:x=='C'?2.0:x=='D'?1.0:0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement