#include<iostream.h>
#include<ctype.h>
#include<stdlib.h>
#include<iomanip.h>
int b2;
class kelas
{
private :
struct data
{
char nama[10];
int nilai;
int hit;
} siswa[100];
int jumlah_murid;
int dadat;
char *nama_kelas;
public:
kelas(char *p,int j,int rent);
void murid();
void info_kelas();
int keterangan(int d);
float rata_rata();
int max();
int min();
int modus();
};
kelas:: kelas(char *p,int j,int rent)
{
nama_kelas=p;
jumlah_murid=j;
dadat=rent;
}
void kelas::murid()
{
for (int i=0;i<jumlah_murid;i++)
{
cout<<"\n\t FORM MASUKAN DATA NILAI SISWA \n"<<endl;
cout<<"masukan nama Murid ke- "<<i+1<<"= ";cin>>siswa[i].nama;
cout<<"masukan Nilai Murid ke- "<<i+1<<"= ";cin>>siswa[i].nilai;
while (siswa[i].nilai >b2)
{
cout<<"nilai yang anda masukan melebihi batas range nilai"<<endl;
cout<<"masukan Nilai : ";cin>>siswa[i].nilai;
}
siswa[i].hit=siswa[i].nilai;
}
}
float kelas::rata_rata()
{
int hasil;
float coba;
hasil=0;
for (int i=0;i<jumlah_murid;i++)
{
hasil=hasil + siswa[i].nilai;
}
coba= (float)hasil/jumlah_murid;
return coba;
}
int kelas::max()
{
int hasil_max;
hasil_max=0;
for (int i=0;i<jumlah_murid;i++)
{
if (hasil_max< siswa[i].nilai)
hasil_max=siswa[i].nilai;
}
// Untuk mencari Max
return hasil_max;
}
int kelas::min()
{
int hasil_min;
hasil_min=siswa[1].nilai;
for (int i=0;i<jumlah_murid;i++)
{
if (hasil_min > siswa[i].nilai)
hasil_min=siswa[i].nilai;
}
return hasil_min;
}
//untuk mencari modus
int kelas::modus()
{
int count;
for(int a=0 ;a<jumlah_murid-1;a++)
{
for(int b=1 ;b<jumlah_murid;b++)
{
if (siswa[a].hit>siswa[b].hit)
{
int d;
d=siswa[a].hit;
siswa[a].hit=siswa[b].hit;
siswa[b].hit=d;
}
}
}
count=1; int mod=1,mod_nil,mod_data;
siswa[jumlah_murid+1].hit=12121;
for(int p=0 ;p<jumlah_murid;p++)
{
if (siswa[p].hit == siswa[p+1].hit)
{
mod=mod+1;
mod_nil= siswa[p].hit;
}
else
{
if (mod>count)
{
count=mod;
mod_data=mod_nil;
}
mod=1;
}
}
if (count<=1) cout<<"tidak ada modus";
else cout<< "Modus = "<< mod_data;
return 0; ;
}
void kelas::info_kelas()
{
cout<<"\t INFORMASI HASIL ULANGAN"<<endl;
cout<<"\t"<<" kelas= "<<nama_kelas<<endl;
cout<<"**********************************************"<<endl;
cout<<"| NO | Nama Siswa | Nilai | keterangan |"<<endl;
cout<<"**********************************************"<<endl;
for(int i=0;i<jumlah_murid;i++)
{
cout<<"|"<<setw(4)<<i+1<<"|"<<setw(15)<< siswa[i].nama<<"|"<<setw(8)<<siswa[i].nilai<<"|"<<setw(14);kelas::keterangan(siswa[i].nilai);cout<<"|"<<endl;
}
cout<<"**********************************************"<<endl;
cout<<"|"<<setw(22)<<"MAX = "<<" "<<setw(21)<<kelas::max()<<"|"<<endl;
cout<<"|"<<setw(22)<<"MIN = "<<" "<<setw(21)<<kelas::min()<<"|"<<endl;
cout<<"|"<<setw(22)<<"RATA RATA = "<<" "<<setw(21)<<kelas::rata_rata()<<"|"<<endl;
cout<<"|"<<setw(22)<<"MODUS = "<<" "<<setw(21);kelas::modus();cout<<"|"<<endl;
cout<<"**********************************************"<<endl;
}
int kelas::keterangan(int d)
{
if (d<(0.4*dadat))
cout<<"tidak Lulus" ;
else cout<<"LULUS";
return 0;
}
//program utama
int main()
{
char nam_kel[10];
int b1;
char dat1[10],dat2[10];
int teguhp[26]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q',
'r','s','t','u','v','w','x','y','z'} ;
cout<<"\t SELAMAT DATANG DI PROGRAM STATISTIK ULANGAN KELAS \n"<<endl<<endl;;
cout<<"masukan nama kelas = ";cin>>nam_kel;cout<<endl;
cout<<"masukan jumlah murid max=100 = ";cin>>b1;cout<<endl;
cout<<"masukan range tertinggi nilai = ";cin>>b2;cout<<endl;
for(int k=0;k<(strlen(dat2));k++)
{
for(int l=0;l<26;l++)
{
if ((dat2[k])==teguhp[l] )
{
cout<< teguhp[l]<<endl;
cout<<"masukana tidak valid "<<endl;exit(1);
}
}
}
//b1=dat1+1; cout<<" b1 "<<b1<<endl;
//b2=dat2+1; cout<<" b2 "<<b2<<endl;
kelas teguh(nam_kel,b1,b2) ;
teguh.murid() ;
// cout<<teguh.rata_rata();
teguh.info_kelas();
return 0;
}
Cara Menghilangkan Tanda Panah pada Shourtcut
14 tahun yang lalu
Tidak ada komentar:
Posting Komentar