Sebelum UAS semester 2 ini, bener2 disibukan dengan banyak tugas-tugas ampe lupa posting di blog *lebay*,hehe..
Berikut ini tugas yang akhirnya selesai dengan bertapa selama berminggu-minggu. Nich aku kasih source codenya dalam bahasa C++, silakan buat temen-temen yang mau copy ini ato mau menambahkan, semoga saya dapat pahala, amien.. hehehe..
Berikut programnya...
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
#include<string.h>
typedef struct student
{
char fname[20];
char lname[20];
char fak[20];
char jur[20];
char address[20];
int id;
int age;
}student;
int main()
{
float id;
FILE *fp,*ft;
char another, choice;
student stu;
char fname[20];
char lname[20];
long int recsize;
fp=fopen("master.DAT","rb+");
if(fp==NULL)
{
fp=fopen("master.DAT","wb+");
if(fp==NULL)
{
printf("File gagal diakses");
}
}
recsize=sizeof(stu);
while(!(choice=='5'))
{
printf("\n ");
printf("\n================");
printf("\nMENU TRANSAKSI");
printf("\n================");
printf("\n1.Tambah data");
printf("\n2.Hapus data");
printf("\n3.Edit data");
printf("\n4.Tampil data");
printf("\n5.Keluar");
printf("\n================");
printf("\nPilihan [1..5]: ");
fflush(stdin);
scanf("%c",&choice);
printf("\n================");
switch(choice)
{
case'1':
fseek(fp,0,SEEK_END);
another='Y';
while(another=='Y'||another=='y')
{
clrscr();
printf("\n===============");
printf("\n TAMBAH DATA ");
printf("\n===============");
printf("\nNama lengkap : ");scanf("%s%s",&stu.fname,&stu.lname);
printf("\nUmur : ");scanf("%d",&stu.age);
printf("\nAlamat : ");scanf("%s",&stu.address);
printf("\nNPM : ");scanf("%d",&stu.id);
printf("\nFakultas : ");scanf("%s",&stu.fak);
printf("\nJurusan : ");scanf("%s",&stu.jur);
fwrite(&stu,recsize,1,fp);
printf("\n===============");
printf("\nMau tambah data lagi[Y/T]? ");
fflush(stdin);
another=getchar();
}break;
case'2':
another='Y';
while(another=='Y'||another=='y')
{
clrscr();
printf("\n");
printf("\nNPM yang akan dihapus: ");scanf("%d",&id);
ft=fopen("TEMP.DAT","wb");
rewind(fp);
while(fread(&stu,recsize,1,fp)==1)
{
if(stu.id!=0)
fwrite(&stu,recsize,1,ft);
}
fclose(fp);
fclose(ft);
remove("master.DAT");
rename("TEMP.DAT","master.DAT");
fp=fopen("master.DAT","rb+");
printf("\nMau Hapus data lagi[Y/T]?");
fflush(stdin);
another=getchar();
}break;
case'3':
another='Y';
while(another=='Y'||another=='y')
{
clrscr();
printf("\n");
printf("Nama yang akan diedit: ");scanf("%s",stu.fname);
printf("\n===================================");
printf("\n\n Maaf");
printf("\nProgram dalam perbaikan!!");
printf("\n===================================");
printf("\nMau edit data lagi[Y/T]?");
fflush(stdin);
another=getchar();
}break;
case'4':
rewind(fp);
clrscr();
printf("\n===============");
printf("\n DAFTAR DATA");
while(fread(&stu,recsize,1,fp)==1)
{
printf("\n=====================================");
cout<<"\nNPM : "<<stu.id;
printf("\n=====================================");
cout<<"\nNama lengkap : "<<stu.fname<<stu.lname;
cout<<"\nUmur : "<<stu.age;
cout<<"\nAlamat : "<<stu.address;
cout<<"\nFakultas : "<<stu.fak;
cout<<"\nJurusan : "<<stu.jur;
}break;
case'5':
fclose(fp);
break;
}//switch(choice)
}//while(!(choice=='5'))
}//int main()
Posted by
Deni Prast
18 July 2010
Subscribe to:
Post Comments (Atom)




0 comments:
Post a Comment