You are on page 1of 9

TUGAS

BASPROG
I WAYAN SUARYANA PUTRA

F1B011042

#include <iostream.h>
#include <fstream.h>
#include <iomanip.h>
struct Mahasiswa
{
int No;
char Nrp[15];
char Nama[20];
float Tugas;
float UTS;
float UAS;
char Nilai;
};
void Input(Mahasiswa* mhs, int jumData)
{
for(int i=0; i<jumData; i++)
{
mhs[i].No=i+1;
cout<<"No : "<<mhs[i].No<<endl;
cout<<"Nrp : ";
cin>>mhs[i].Nrp;
cout<<"Nama : ";
cin>>mhs[i].Nama;
cout<<"Tugas : ";
cin>>mhs[i].Tugas;
cout<<"UTS : ";
cin>>mhs[i].UTS;
cout<<"UAS : ";

cin>>mhs[i].UAS;
mhs[i].Nilai='\0';
cout<<endl;
}
}
void ProsesData(Mahasiswa* mhs,int jumData)
{
float nilai;
for(int i=0; i<jumData; i++)
{
nilai=(mhs[i].Tugas*0.3)+(mhs[i].UTS*0.3)+(mhs[i].UAS*0.4);
if(nilai>85)
mhs[i].Nilai='\A';
else if(nilai<85 && nilai>=75)
mhs[i].Nilai='\B';
else if(nilai<75 && nilai >=60)
mhs[i].Nilai='\C';
else if(nilai<60 && nilai >=50)
mhs[i].Nilai='\D';
else if(nilai<50)
mhs[i].Nilai='\E';
}
}
void Cetak(Mahasiswa* mhs, int jumData)
{
cout<<"-----------------------------------------------------------------------------\n";
cout<<"No Nrp

Nama

Tugas UTS UAS Nilai\n";

cout<<"-----------------------------------------------------------------------------\n";

for(int i=0; i<jumData; i++)


{
cout.setf(ios::right);
cout<<setw(3)<<mhs[i].No<<" ";
cout.setf(ios::left);
cout<<setw(8)<<mhs[i].Nrp<<" ";
cout<<setw(20)<<mhs[i].Nama<<" ";
cout.setf(ios::right);
cout<<setw(4)<<mhs[i].Tugas<<" ";
cout<<setw(4)<<mhs[i].UTS<<" ";
cout<<setw(4)<<mhs[i].UAS<<" ";
cout<<setw(1)<<mhs[i].Nilai<<endl;
}
cout<<"-------------------------------------------------------------------------------\n";
}
int TulisFile(const char* fileName,Mahasiswa* mhs, int jumData)
{
ofstream tulisFile(fileName, ios::binary);
if(!tulisFile)
{
cout<<"baca File gagal ";
return 0;
}
for(int i=0; i<jumData; i++)
{
tulisFile<<mhs[i].No<<" "
<<mhs[i].Nrp<<" "
<<mhs[i].Nama<<" "

<<mhs[i].Tugas<<" "
<<mhs[i].UTS<<" "
<<mhs[i].UAS<<" "
<<mhs[i].Nilai<<endl;
}
tulisFile.close();
return 1;
}
int BacaFile(const char* fileName, Mahasiswa* mhs, int& jumData)
{
ifstream bacaFile(fileName,ios::binary);
if(!bacaFile)
{
cout<<"baca File gagal ";
return 0;
}
int i=0;
while(bacaFile)
{
bacaFile>>mhs[i].No
>>mhs[i].Nrp
>>mhs[i].Nama
>>mhs[i].Tugas
>>mhs[i].UTS
>>mhs[i].UAS
>>mhs[i].Nilai;
i++;
}

jumData=i-1;
bacaFile.close();
return 1;
}
void main()
{
{

cout<<" "<<endl;
cout<<"\t||||||||||||||||||||||||||||||||||||||||||||||||||"<<endl;
cout<<"\t|||
cout<<"\t\t

|||"<<endl;
PROGRAM"<<endl;

cout<<"\t\t PENGISIAN NILAI MAHASISWA "<<endl;


cout<<"\t|||

|||"<<endl;

cout<<"\t||||||||||||||||||||||||||||||||||||||||||||||||||"<<endl;
cout<<" "<<endl;
cout<<" "<<endl;

int jumData;
char c;
char fileName[12];
Mahasiswa* mhs=new Mahasiswa[100];
cout<<"Program mengisi Nilai Mahasiswa\n";
cout<<"-------------------------------\n\n";
cout<<"Input data dari keyboard tekan huruf I\n";
cout<<"Baca data dari file tekan huruf B\n\n";
cout<<"Pilih I atau B : ";
cin>>c;
if(c=='I' || c=='i')
{

cout<<"\nMasukkan jumlah data : ";


cin>>jumData;
Input(mhs,jumData);
ProsesData(mhs,jumData);
Cetak(mhs,jumData);
cout<<"Save to file [y/n] : ";
cin>>c;
if(c=='Y' || c=='y')
{
cout<<"Masukkan nama file : ";
cin>>fileName;
if(!TulisFile(fileName,mhs,jumData))
return;
}
else
{
cout<<"Keluar dari program ";
return;
}
}

else if(c=='B' || c=='b')


{
cout<<"\nMasukkan nama file : ";
cin>>fileName;
if(!BacaFile(fileName,mhs,jumData))
return;

Cetak(mhs,jumData);
}
else
{
cout<<"Keluar dari program ";
return;
}
}
getch();

You might also like