Program c++ ini memiliki fungsi menambah data,hapus,edit dan tampil. Bagi yang menbutuhkan silahkan di download, tetapi souce kode ini jauh dari kesempurnaan, mohon untuk diedit ulang,tks
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
#include<string.h>
typedef struct hp
{
char merek[20];
char tipe[20];
char mei[20];
char mee[20];
char berat[20];
char batre[20];
int id;
}hp;
int main()
{
float id;
FILE *fp,*ft;
char another, choice;
hp stu;
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("\nDAFTAR PILIHAN");
printf("\n================");
printf("\n1.TAMBAH DATA ");
printf("\n2.HAPUS DATA ");
printf("\n3.EDIT DATA ");
printf("\n4.TAMPIL DATA ");
printf("\n5.KELUAR ");
printf("\n===================");
printf("\nPILIHLAH SALAH SATU ");
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("\nDATA REGISTRASI MAHASISWA");
printf("\n===================================");
printf("\n Merek : ");scanf("%s",&stu.merek);
printf("\n Tipe : ");scanf("%s",&stu.tipe);
printf("\n Memori Internal : ");scanf("%d",&stu.mei);
printf("\n Memori eksternal : ");scanf("%s",&stu.mee);
printf("\n Berat : ");scanf("%s",&stu.barat);
printf("\n Batre : ");scanf("%s",&stu.batre);
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("\n===========================");
printf("\nDATA YANG AKAN DIHAPUS");
printf("\n===========================");
printf("\n Merek : ");scanf("%s",&stu.merek);
printf("\n Tipe : ");scanf("%s",&stu.tipe);
printf("\n Memori Internal : ");scanf("%d",&stu.mei);
printf("\n Memori eksternal : ");scanf("%s",&stu.mee);
printf("\n Berat : ");scanf("%s",&stu.barat);
printf("\n Batre : ");scanf("%s",&stu.batre);
printf("\n===========================");
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","wb+");
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("\n===============================");
printf("\nDATA TANAH ");
printf("\n===============================");
printf("\n Merek : ");scanf("%s",&stu.merek);
printf("\n Tipe : ");scanf("%s",&stu.tipe);
printf("\n Memori Internal : ");scanf("%d",&stu.mei);
printf("\n Memori eksternal : ");scanf("%s",&stu.mee);
printf("\n Berat : ");scanf("%s",&stu.barat);
printf("\n Batre : ");scanf("%s",&stu.batre);
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 ");
printf("\n=====================================");
while(fread(&stu,recsize,1,fp)==1)
{
printf("\n=====================================");
printf("\nDATA TANAH ");
printf("\n=====================================");
cout<<"\nMerek : "<<stu.merek;
cout<<"\nTipe : "<<stu.tipe;
cout<<"\nMemori Internal : "<<stu.mei;
cout<<"\nMemori Eksternal : "<<stu.mee;
cout<<"\nBerat : "<<stu.berat;
cout<<"\nBatre : "<<stu.batre;
printf("\n=====================================");
}break;
case'5':
{
clrscr();
}
break;
}//switch(choice)
}//while(!(choice=='5'))
}
0 komentar: