18 July 2010

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()

0 comments:

Post a Comment

Time

Anda pengunjung ke-

TRANSLATOR

Followers

My tweet

SUPPORTED BY:

Cafe Bisnis Online
SANDY NET
Image by Deni Prast