contoh program database mahasiswa

14 11 2008

#include<iostream.h>
#include<conio.h>
#include<fstream.h>
#include<iomanip.h>
#include<dos.h>
#include<stdio.h>

const Nmaks=100;

struct{
char nim [10];
char nama[20];
char matkul[20];
double uts;
char grade;
double uas;
double total;
}data[Nmaks];

int k,N,pil;
char nama_file[12];
double ttl=0;

void input();
void tambah();
void tampil();

void main()
{
clrscr();
pil=1;
while(pil!=4){

cout<<”";
cout<<setw(10)<<”================================”<<endl;
cout<<setw(20)<<”MENU UTAMA”<<endl;
cout<<setw(10)<<”================================”<<endl;
cout<<setw(10)<<”1. Input Data Mahasiswa”<<endl;
cout<<setw(10)<<”2. Tambah Data Mahasiswa”<<endl;
cout<<setw(10)<<”3. Tampil Data Mahasiswa”<<endl;
cout<<setw(10)<<”4. Keluar Program”<<endl;
cout<<setw(10)<<”================================”<<endl;
cout<<setw(10)<<”Pilih nomor menu (1/2/3/4): “;cin >>pil;

if(pil==4)
break;
clrscr();

switch(pil)
{
case 1 :
input();
cout<<”Tekan Enter untuk kembali ke MENU”;
getch();
clrscr();
continue;

case 2 : tambah();
cout<<”Tekan Enter untuk kembali ke MENU”;
getch();
clrscr();
continue;
case 3 :
clrscr();
tampil();
cout<<”Tekan Enter untuk kembali ke MENU”;
getch();
clrscr();
continue;

}
}
}

void input()
{

clrscr();

cout<<”Nama file : “;cin>>nama_file;
clrscr();
cout<<”Jumlah Mahasiswa : “;cin>>N;
clrscr();

for(k=0;k<N;k++){
cout<<”NIM    : “;cin>>data[k].nim;
cout<<”Nama Mahasiswa    : “;cin>>data[k].nama;
cout<<”Mata Kuliah    : “;cin>>data[k].matkul;
cout<<”UTS    : “;cin>>data[k].uts;
cout<<”UAS    : “;cin>>data[k].uas;

data[k].total=data[k].uts*0.45+data[k].uas*0.55;
if (data[k].total >= 80)
data[k].grade =’A';
else if (data[k].total >= 75)
data[k].grade = ‘B’;
else if (data[k].total >=65)
data[k].grade =’C';
else if (data[k].total >= 55)
data[k].grade = ‘D’;
else data[k].grade = ‘E’;
cout<<”Grade         : “<<data[k].grade;
clrscr();
}

//buka file untuk merekam data-data belanja
ofstream fdata(nama_file);   /* fdata merupakan objek file dimana */
/* data-data belanja direkam */

fdata<<setw(10)<<”"<<”Data Mahasiswa”<<endl;
fdata<<endl;

fdata<<”======================================================”<<endl;
fdata<<”NO.”
<<setw(5)<<”NIM”
<<setw(10)<<”Nama “
<<setw(8)<<”Mata Kuliah”
<<setw(5)<<”UTS”
<<setw(5)<<”UAS”
<<setw(8)<<”Grade”<<endl;
fdata<<”======================================================”<<endl;
for(k=0;k<N;k++)
{
fdata<<setiosflags(ios::left)<<setw(3)<<(k+1);
fdata<<setiosflags(ios::left)<<setw(8)<<data[k].nim;
fdata<<setiosflags(ios::left)<<setw(15)<<data[k].nama ;
fdata<<setiosflags(ios::right)<<setw(8)<<data[k].matkul;
fdata<<setiosflags(ios::right)<<setw(8)<<data[k].uts;
fdata<<setiosflags(ios::right)<<setw(5)<<data[k].uas;
fdata<<setiosflags(ios::right)<<setw(8)<<data[k].grade<<endl;

}
fdata<<”\n====================================================”<<endl;
fdata<<endl;
//tutup file
fdata.close();
}

void tampil()
{
clrscr();

const int MAKS=80;
char penyangga[MAKS];
char nama_file[12];

cout<<”Nama file : “;cin>>nama_file;
clrscr();

ifstream fdata(nama_file);

if(fdata.good())
{

while(!fdata.eof())        //baca seluruh data
{
fdata.getline(penyangga,MAKS);

cout<<penyangga<<endl<<endl;
}
}
else
cout<<”Maaf file dengan nama “<<nama_file<<” tidak ada”<<endl;

fdata.close();
}

void tambah()
{
clrscr();

cout<<”Tambahan Jumlah Mahasiswa  : “;cin>>N;
clrscr();

//masukkan data belanja menggunakan konsep larik
for(k=0;k<N;k++){
cout<<”NIM   : “;cin>>data[k].nim;
cout<<”Nama Mahasiswa   : “;cin>>data[k].nama;
cout<<”Mata Kuliah  : “;cin>>data[k].matkul;
cout<<”UTS      : “;cin>>data[k].uts;
cout<<”UAS      : “;cin>>data[k].uas;

data[k].total=data[k].uts*0.45+data[k].uas*0.55;
if (data[k].total >= 80)
data[k].grade =’A';
else if (data[k].total >= 75)
data[k].grade = ‘B’;
else if (data[k].total >=65)
data[k].grade =’C';
else if (data[k].total >= 55)
data[k].grade = ‘D’;
else data [k].grade = ‘E’;
cout<<”Grade         : “<<data[k].grade;

clrscr();
}

ofstream fdata(nama_file,ios::app);        /* menambah arsip dari */
/* pemasukan data */

for(k=0;k<N;k++)
{
fdata<<setiosflags(ios::left)<<setw(3)<<(k+1);
fdata<<setiosflags(ios::left)<<setw(8)<<data[k].nim;
fdata<<setiosflags(ios::left)<<setw(15)<<data[k].nama ;
fdata<<setiosflags(ios::right)<<setw(8)<<data[k].matkul;
fdata<<setiosflags(ios::right)<<setw(3)<<data[k].uts;
fdata<<setiosflags(ios::right)<<setw(3)<<data[k].uas;
fdata<<setiosflags(ios::right)<<setw(8)<<data[k].grade;

}

fdata.close();
}


Actions

Information

Leave a comment