Mengenai Saya

Foto saya
Kediri, java_script, Indonesia
Selamat datang di dalam situs q,postingan tentang c++, java dan html script serta masih banyak lagi akan nimbrung semua disini

Senin, April 20, 2009

INDEK PERSONAL

#include iostream.h
#include stdlib.h
#include string.h
#include conio.h

class mhs
{
private:
char nama[24];
int jml_mk,nilai[24],sks[24];

public:
int jum_mhs;
mhs();
void input_data();
void nama_mhs(char *);
int jum_matkul();
int jum_sks();
float ip();
float lulus();
};

//Constructor
mhs::mhs()
{
int i;
strcpy(nama,"NULL");
jml_mk=0;
for(i=0; i < 24; i++)
{
nilai[i]=5;
sks[i]=0;
}
}

//Method untuk memasukkan data ke dalam class
void mhs::input_data()
{
int i;
char bf[30];

//Masukkan nama mahasiswa
cout << "Nama Mahasiswa = ";
cin.getline(nama,24);

//Masukkan jumlah mata kuliah
while((jml_mk > 24)||(jml_mk < 1))
{
cout << "Jumlah mata kuliah = ";
cin.getline(bf,30);
jml_mk=atoi(bf);
if((jml_mk > 24)||(jml_mk < 1))
cout << "Masukkan angka 1-24\n\n";
}

for(i=0;i < jml_mk;i++)
{

//Masukkan nilai untuk masing-masing mata kuliah
while((nilai[i] >4)||(strlen(bf) > 1) || (nilai[i] <=0))
{
cout << "\nNilai mata kuliah " << (i+1) << " = ";
cin.getline(bf,30);
nilai[i]=(int)bf[0];
if(nilai[i] < 70) nilai[i]=69-nilai[i];
else nilai[i]=101-nilai[i];
if((nilai[i] > 4)||(strlen(bf) > 1)||(nilai[i] < 0))
cout << "Masukkan huruf A-E atau a-e\n";
}

//Masukkan jumlah sks untuk masing-masing mata kuliah
while((sks[i] > 4)||(sks[i] < 1))
{
cout << "Jumlah SKS mata kuliah " << (i+1) << " = ";
cin.getline(bf,30);
sks[i]=atoi(bf);
if((sks[i] > 4)||(sks[i] < 1))
cout << "Masukkan angka 1-4\n\n";
}

}
}

//Method untuk menampilkan nama
void mhs::nama_mhs(char *s)
{
strcpy(s,nama);
}

//Method untuk menampilkan jumlah mata kuliah
int mhs::jum_matkul()
{
return (jml_mk);
}

//Method untuk menghitung jumlah sks
int mhs::jum_sks()
{
int i,j;
j=0;
for(i=0; i < jml_mk; i++) j+=sks[i];
return(j);
}

//Method untuk menghitung ip
float mhs::ip()
{
int i,j_sks,total;
j_sks=0;
total=0;
for(i=0; i < jml_mk; i++)
{
j_sks+=sks[i];
total+=(nilai[i]*sks[i]);
}
if (total/j_sks>=3)
cout<<"__lulus_______| ";
else
cout<<"__gagal_______| ";
return ((float)total/j_sks);
}


//--------- Akhir dari Class mhs ---------//


//Program utama

int main()
{

//Local Variable
int i,jum_mhs;
char bf[30],nama[24],user[24];
mhs node[10];

//Meminta user untuk memasukkan namanya
cout << "Program Menghitung IP mahasiswa\n\n";

//Meminta user untuk memasukkan jumlah mahasiswa
jum_mhs=0;
while((jum_mhs > 10)||(jum_mhs < 1))
{
cout << "Masukkan Jumlah Mahasiswa yang akan dihitung = ";
cin.getline(bf,30);
jum_mhs=atoi(bf);
if((jum_mhs > 10)||(jum_mhs < 1))
cout << "Masukkan angka 1-10\n\n";
}

//Meminta user untuk memasukkan data masing-masing mahasiswa
for(i=0;i < jum_mhs;i++)
{
cout << "\nDATA MAHASISWA " << (i+1) << endl;
node[i].input_data();
}

//Menampilkan Hasil
cout << endl << endl;
cout << "|--------------------------|-------------|---------|-----------------|------|" << endl;
cout << "| Nama Mahasiswa___________| Jumlah______| Jumlah__| KELULUSAN_______| IP___|" << endl;
cout << "|__________________________| Mata Kuliah | SKS_____| > 3.00__________|______|" << endl;
cout << "|--------------------------|-------------|---------|-----------------|------|" << endl;

for(i=0;i < jum_mhs;i++)
{
cout.setf(ios::left|ios::showpoint);
node[i].nama_mhs(nama);
cout << "|_";
cout.width(25);
cout << nama;
cout << "|______";
cout.width(7);
cout << node[i].jum_matkul();
cout << "|____";
cout.width(5);
cout << node[i].jum_sks();
cout << "|___";
cout.width(6);
cout.precision(3);
cout << node[i].ip();
cout << "_|\n";

}

cout << "|--------------------------|-------------|---------|-----------------|------|" << endl;
cout << endl;
// return (0);
getche();
}

Tidak ada komentar:

Posting Komentar