Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Muhammad Balya Khaidir
- #include <iostream>
- #include <iomanip>
- #include <string.h>
- using namespace std;
- struct Data {
- int Tugas,N_Tugas,UTS,N_UTS,UAS,N_UAS,N_akhir,absen;
- float N_absen;
- string grade;
- long int nim;
- char nama[50];
- char gender;
- string gender1;
- }f[50];
- struct matakuliah {
- int kode_mtk[50];
- string nama_mtk[50];
- }c;
- struct dosen {
- int kode_dosen[50];
- string nama_dosen[50];
- }d;
- struct kelas {
- int kode_kelas[50];
- string kelas[50];
- }e;
- int main (){
- Data temp1;
- matakuliah temp2;
- dosen temp3;
- kelas temp4;
- int x,z,i,j,a,m;
- string pass,user;
- char y;
- //=========================================================================login screen
- awal2:
- cout<<"User Name : ";
- cin>>user;
- if(user=="Admin" || user=="admin"){
- cout<<"Password : ";
- cin>>pass;
- if(pass=="12345"){
- system("cls");
- cout<<"Selamat! Anda Telah Memasuki Home Admin."<<endl;
- awal:
- cout<<"Masukkan jumlah mahasiswa : ";
- cin>>x;
- if(x<=5){
- cout<<"================================"<<endl;
- goto inputan;
- }
- else{
- cout<<"Mahasiswa Kebanyakan Oe Nanti Pusing!"<<endl;
- cout<<"Max 5 Aja Oe!"<<endl<<endl;
- goto awal;
- }
- //=========================================================================input
- inputan:
- for(int z=1;z<=x;z++){
- cout<<"Masukkan NIM Mahasiswa ke "<<z<<" : ";
- cin>>f[z].nim;
- cout<<"Masukkan Nama Mahasiswa ke "<<z<<" : ";
- cin>>f[z].nama;
- cout<<"Masukkan Jenis Kelamin (L/P) : ";
- cin>>f[z].gender;
- if(f[z].gender=='l' || f[z].gender=='L'){
- f[z].gender1 = "Laki-Laki";
- }
- else if(f[z].gender=='p' || f[z].gender=='P'){
- f[z].gender1 = "Perempuan";
- }
- cout<<"Masukkan Kode Kelas untuk "<<x<<" Mahasiswa : ";
- cin>>e.kode_kelas[z];
- switch(e.kode_kelas[z]){
- case 106:
- e.kelas[z] = "03TPLE006";
- break;
- default:
- e.kelas[z] = "...";
- }
- cout<<"Masukkan Kode Dosen Untuk Kode Kelas "<<e.kode_kelas[z]<<" : ";
- cin>>d.kode_dosen[z];
- switch(d.kode_dosen[z]){
- case 15:
- d.nama_dosen[z] = "Niki Ratama";
- c.nama_mtk[z] = "Structure Data";
- break;
- default:
- d.nama_dosen[z] = "...";
- c.nama_mtk[z] = "...";
- }
- cout<<"========================================"<<endl;
- //========================================================================inputan nilai
- cout<<"Masukkan nilai Absensi "<<f[z].nama<<" : "; //hitung nilai absensi
- do{
- cin>>f[z].absen;
- }while(f[z].absen>14);
- f[z].N_absen = (f[z].absen*10)/14;
- cout<<"Masukkan nilai Tugas "<<f[z].nama<<" : "; //hitung nilai tugas
- cin>>f[z].Tugas;
- if(f[z].Tugas>100)
- {
- f[z].N_Tugas = 20;
- cout<<"Masukkan nilai UTS "<<f[z].nama<<" : "; //hitung nilai UTS
- cin>>f[z].UTS;
- if(f[z].UTS>100)
- {
- f[z].N_UTS = 30;
- cout<<"Masukkan nilai UAS "<<f[z].nama<<" : "; //hitung nilai UAS
- cin>>f[z].UAS;
- cout<<endl;
- if(f[z].UAS>100)
- {
- f[z].N_UAS = 40;
- f[z].N_akhir = f[z].N_absen+f[z].N_Tugas+f[z].N_UTS+f[z].N_UAS;
- }
- else
- {
- f[z].N_UAS = (f[z].UAS*40)/100;
- f[z].N_akhir = f[z].N_absen+f[z].N_Tugas+f[z].N_UTS+f[z].N_UAS;
- }
- }
- else
- {
- f[z].N_UTS = (f[z].UTS*30)/100;
- cout<<"Masukkan nilai UAS "<<f[z].nama<<" : "; //hitung nilai UAS
- cin>>f[z].UAS;
- cout<<endl;
- if(f[z].UAS>100)
- {
- f[z].N_UAS = 40;
- f[z].N_akhir = f[z].N_absen+f[z].N_Tugas+f[z].N_UTS+f[z].N_UAS;
- }
- else
- {
- f[z].N_UAS = (f[z].UAS*40)/100;
- f[z].N_akhir = f[z].N_absen+f[z].N_Tugas+f[z].N_UTS+f[z].N_UAS;
- }
- }
- }
- else
- {
- f[z].N_Tugas = (f[z].Tugas*20)/100; //hitung nilai Tugas
- cout<<"Masukkan nilai UTS "<<f[z].nama<<" : "; //hitung nilai UTS
- cin>>f[z].UTS;
- if(f[z].UTS>100)
- {
- f[z].N_UTS = 30;
- cout<<"Masukkan nilai UAS "<<f[z].nama<<" : "; //hitung nilai UAS
- cin>>f[z].UAS;
- cout<<endl;
- if(f[z].UAS>100)
- {
- f[z].N_UAS = 40;
- f[z].N_akhir = f[z].N_absen+f[z].N_Tugas+f[z].N_UTS+f[z].N_UAS;
- }
- else
- {
- f[z].N_UAS = (f[z].UAS*40)/100;
- f[z].N_akhir = f[z].N_absen+f[z].N_Tugas+f[z].N_UTS+f[z].N_UAS;
- }
- }
- else
- {
- f[z].N_UTS = (f[z].UTS*30)/100;
- cout<<"Masukkan nilai UAS "<<f[z].nama<<" : "; //hitung nilai UAS
- cin>>f[z].UAS;
- cout<<endl;
- if(f[z].UAS>100)
- {
- f[z].N_UAS = 40;
- f[z].N_akhir = f[z].N_absen+f[z].N_Tugas+f[z].N_UTS+f[z].N_UAS;
- }
- else
- {
- f[z].N_UAS = (f[z].UAS*40)/100;
- f[z].N_akhir = f[z].N_absen+f[z].N_Tugas+f[z].N_UTS+f[z].N_UAS;
- }
- }
- }
- }
- //=======================================================================================output
- system("cls");
- cout<<"* Tabel Identitas Mahasiswa : "<<endl;
- cout<<"|============|=================================|===========|"<<endl;
- cout<<"|"<<setw(8)<<"NIM"<<setw(5)<<"|"<<setw(18)<<"NAMA"<<setw(16)<<"|"<<setw(8)<<"GENDER"<<setw(4)<<"|"<<endl;
- cout<<"|============|=================================|===========|"<<endl;
- for(int z=1;z<=x;z++){
- cout<<"|"<<setiosflags(ios::left)<<setw(12)<<f[z].nim<<"|"<<setiosflags(ios::left)<<setw(33)<<strupr(f[z].nama)<<"|"<<setiosflags(ios::left)<<setw(11)<<f[z].gender1<<"|"<<endl;
- }
- cout<<"|============|=================================|===========|"<<endl;
- cout<<"\n"<<endl;
- cout<<"* Tabel Jadwal Perkuliahan Mahasiswa : "<<endl;
- cout<<"|=================================|=========|============|===============|"<<endl;
- cout<<"|"<<setiosflags(ios::left)<<setw(33)<<"NAMA MAHASISWA"<<"|"<<setiosflags(ios::left)<<setw(9)<<"KELAS"<<"|"<<setiosflags(ios::left)<<setw(12)<<"NAMA DOSEN"<<"|"<<setiosflags(ios::left)<<setw(15)<<"NAMA MATKUL"<<"|"<<endl;
- cout<<"|=================================|=========|============|===============|"<<endl;
- //sorting bubble sort ascending
- for(i=0;i<=x;i++){
- for(m=1;m<x-i;m++){
- if(strcmp(f[m].nama, f[m+1].nama)>0){
- //tukar nama
- strcpy(temp1.nama,f[m].nama);
- strcpy(f[m].nama,f[m+1].nama);
- strcpy(f[m+1].nama,temp1.nama);
- //tukar kelas
- temp4.kelas[m]=e.kelas[m];
- e.kelas[m]=e.kelas[m+1];
- e.kelas[m+1]=temp4.kelas[m];
- //tukar nama dosen
- temp3.nama_dosen[m]=d.nama_dosen[m];
- d.nama_dosen[m]=d.nama_dosen[m+1];
- d.nama_dosen[m+1]=temp3.nama_dosen[m];
- //tukar nama matkul
- temp2.nama_mtk[m]=c.nama_mtk[m];
- c.nama_mtk[m]=c.nama_mtk[m+1];
- c.nama_mtk[m+1]=temp2.nama_mtk[m];
- //tukar nilai akhir
- temp1.N_akhir=f[m].N_akhir;
- f[m].N_akhir=f[m+1].N_akhir;
- f[m+1].N_akhir=temp1.N_akhir;
- //tukar grade
- temp1.grade=f[m].grade;
- f[m].grade=f[m+1].grade;
- f[m+1].grade=temp1.grade;
- }
- }
- }
- for(int z=1;z<=x;z++){
- cout<<"|"<<setiosflags(ios::left)<<setw(33)<<strupr(f[z].nama)<<"|"<<setiosflags(ios::left)<<setw(9)<<e.kelas[z]<<"|"<<setiosflags(ios::left)<<setw(12)<<d.nama_dosen[z]<<"|"<<setiosflags(ios::left)<<setw(15)<<c.nama_mtk[z]<<"|"<<endl;
- }
- cout<<"|=================================|=========|============|===============|"<<endl;
- cout<<"\n"<<endl;
- cout<<"* Tabel Nilai Mahasiswa : "<<endl;
- cout<<"|=================================|===============|============|=====|"<<endl;
- cout<<"|"<<setiosflags(ios::left)<<setw(33)<<"NAMA MAHASISWA"<<"|"<<setiosflags(ios::left)<<setw(15)<<"MATA KULIAH"<<"|"<<setiosflags(ios::left)<<setw(12)<<"NILAI AKHIR"<<"|"<<setiosflags(ios::left)<<setw(5)<<"GRADE"<<"|"<<endl;
- cout<<"|=================================|===============|============|=====|"<<endl;
- //sorting buble sort descending
- for(i=0;i<=x;i++){
- for(j=1;j<x-i;j++){
- if(f[j].N_akhir<f[j+1].N_akhir){
- //tukar nilai akhir
- temp1.N_akhir=f[j].N_akhir;
- f[j].N_akhir=f[j+1].N_akhir;
- f[j+1].N_akhir=temp1.N_akhir;
- //tukar grade
- temp1.grade=f[j].grade;
- f[j].grade=f[j+1].grade;
- f[j+1].grade=temp1.grade;
- //tukar nama
- strcpy(temp1.nama,f[j].nama);
- strcpy(f[j].nama,f[j+1].nama);
- strcpy(f[j+1].nama,temp1.nama);
- //tukar matkul
- temp2.nama_mtk[j]=c.nama_mtk[j];
- c.nama_mtk[j]=c.nama_mtk[j+1];
- c.nama_mtk[j+1]=temp2.nama_mtk[j];
- }
- }
- }
- for(int z=1;z<=x;z++){
- if(f[z].N_akhir>=80)
- {
- f[z].grade = "A";
- }
- else if(f[z].N_akhir>=70)
- {
- f[z].grade = "B";
- }
- else if(f[z].N_akhir>=60)
- {
- f[z].grade = "C";
- }
- else if(f[z].N_akhir>=55)
- {
- f[z].grade = "D";
- }
- else
- {
- f[z].grade = "E";
- }
- cout<<"|"<<setiosflags(ios::left)<<setw(33)<<strupr(f[z].nama)<<"|"<<setiosflags(ios::left)<<setw(15)<<c.nama_mtk[z]<<"|"<<setiosflags(ios::left)<<setw(12)<<f[z].N_akhir<<"|"<<setiosflags(ios::left)<<setw(5)<<f[z].grade<<"|"<<endl;
- }
- cout<<"|=================================|===============|============|=====|"<<endl;
- cout<<"\n";
- cout<<"Ingin Mengulang Lagi?(Y/N)";
- cin>>y;
- if(y=='Y' || y=='y')
- {system("cls");
- goto awal;}
- else if(y=='N' || y=='n')
- {goto akhir;}
- akhir:
- exit(0);
- }
- else{
- cout<<"Password Salah! Silahkan Masukkan Password Yang Benar!"<<"\n"<<endl;
- goto awal2;
- }
- }
- else{
- cout<<"Anda Adalah Orang Asing! Masukkan User Yang Benar"<<"\n"<<endl;
- goto awal2;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement