Program C++ Pengelolaan Data Toko Komputer Txt Borland 5.2

Selamat Siang Kali Ini Mr Stolid Ingin Memposting Coding/  Program C++ Pengelolaan Data Toko Komputer TxtKebetulan Baru-Baru Ini Mr Stolid Dapat Tugas Dari Kampus Membuat Program C++ Pengelolaan Data Toko Komputer Txt Mengunakan Borland C++ Owh Iya Coding Ini Cuma dapat di gunakan Borland 5.2 aja ya :D.  Oke Deh Gak  Usah Panjang Lebar Lagi Berikut 
Codingnya :

#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include <stdlib.h>
#include <iostream.h>
#include <iomanip.h>
#include <windows.h>
//deklarai fungsi
  void buka();
  void baca();
  void cari2();
  void tambah();
  void tampil();
  void cari();
  void edit();
  void hapus();
 struct barang
 {
 char Barang[20];
    int no,kb,Diskon, Harga, Jumbel, Totbay;
 };
barang brg;
  FILE *pf;
  int menu;
  char back2menu, jawab;
  int i,j,nomor, record,record_ubah,hasil_baca, banding;
  float z;
  int tdkketemu;
  int jmlbrg=1;;
  long int ofset_byte;
int main(int argc, char *argv[])
{ do
{system("cls");
system("COLOR 9");
   cout<<"\t\t\t\    PROGRAM TOKO KOPUTER"<<endl;
   cout<<"\t\t\t\tMULIA ABADI"<<endl;
   cout<<"==============================================================================="<<endl;
   cout<<endl;
   cout<<"\t\t\t\t\   MENU"<<endl;
   cout<<"\t\t\t\ ======================"<<endl;
   cout<<"\t\t\t\  1.TAMBAH DATA BARANG"<<endl;
   cout<<"\t\t\t\  2.TAMPILKAN DATA"<<endl;
   cout<<"\t\t\t\  3.EDIT DATA"<<endl;
   cout<<"\t\t\t\  4.HAPUS DATA"<<endl;
   cout<<"\t\t\t\  5.Keluar"<<endl;
   cout<<"\t\t\t\ ======================"<<endl;
   printf("\t\t\t  Pilih : ");scanf("%i",&menu);

   switch(menu)
   {
      case 1 : tambah();break;
      case 2 : tampil();break;;
      case 3 : edit(); break;
      case 4 : hapus(); break;
      case 5 : exit(1);break;
   }
   printf("\n\n");
   printf("\t\t\tTekan Y untuk kembali ke Main Menu : ");
   back2menu=getche();
   }
   while((back2menu=='Y')||(back2menu=='y'));
  system("PAUSE");
  return 0;
}
void buka()
{
     //Buka File
     if((pf=fopen("data1.txt","at"))==NULL)
     {
         printf("Fatal Error : Data Tidak Dapat dibaca!\n");
         exit(1);
     }
}
void baca()
{
     //baca File
     if((pf=fopen("data1.txt","rt"))==NULL)
     {
       printf("Fatal Error : Data Tidak Dapat dibaca!\n");
       exit(1);

     }
}
void tambah()
{
clrscr();
     buka();
     FILE *pf2;
     pf2  = fopen("printout1.txt","a");
     //do
     //{
char pil;
cout<<"\t\t\t\              MENU"<<endl;
   cout<<"\t\t\t\       TAMBAH DATA BARANG"<<endl;
cout<<"==============================================================================="<<endl;
cout<<"==============="<<endl;
cout<<"Daftar Barang |"<<endl;
cout<<"==============="<<endl;
cout<<" \t\t\t             Data ke-"<<jmlbrg<<endl;
cout<<" \t\t==================================================="<<endl;
cout<<" \t\t| Kode Barang   | Nama Barang      | Harga Satuan |"<<endl;
cout<<" \t\t=================================================="<<endl;
cout<<" \t\t|     1         | Laptop Acer 722   | Rp 2900000  |"<<endl;
cout<<" \t\t|     2         | Printer           | Rp 3500000  |"<<endl;
cout<<" \t\t|     3         | Proyektor         | Rp 5600000  |"<<endl;
cout<<" \t\t|     4         | Modem TP-LINK     | Rp 500000   |"<<endl;
cout<<" \t\t|     5         | LCD Monitor       | Rp 500000   |"<<endl;
cout<<" \t\t|     6         | Speaker           | Rp 250000   |"<<endl;
cout<<" \t\t|     7         | Komputer          | Rp 5200000  |"<<endl;
cout<<" \t\t=================================================="<<endl<<endl;

         cout<<" \t\tKode Barang   : ";cin>>brg.kb;
       switch(brg.kb)
{
case 1:
     strcpy(brg.Barang,"Laptop Acer 722");
     brg.Harga=2900000;
     break;
case 2:
     strcpy(brg.Barang,"Printer");
     brg.Harga=3500000;
     break;
case 3:
     strcpy(brg.Barang,"Proyektor");
     brg.Harga=5600000;
     break;
case 4:
     strcpy(brg.Barang,"Modem TP-LINK ");
     brg.Harga=500000;
     break;
case 5:
     strcpy(brg.Barang,"LCD Monitor");
     brg.Harga=500000;
     break;
case 6:
     strcpy(brg.Barang,"Speaker");
    brg.Harga=250000;
     break;
case 7:
     strcpy(brg.Barang,"Komputer");
     brg.Harga=5200000;
     break;
default:
     strcpy(brg.Barang,"Kode Salah!");
     brg.Harga=0;
     break;
}
cout<<" \t\tNama Barang   : "<<brg.Barang<<endl;
cout<<" \t\tHarga Barang  : Rp "<<brg.Harga<<endl;
cout<<" \t\tJumlah Barang : ";cin>>brg.Jumbel;
if (brg.Jumbel>=10)
     {
     brg.Diskon=brg.Harga*brg.Jumbel*0.2;
     }
     else
     {
     if (brg.Jumbel<=10)
     {
     brg.Diskon=0;
     }
     }
cout<<" \t\tDiskon        : Rp "<<brg.Diskon<<endl;
brg.Totbay=brg.Harga*brg.Jumbel-brg.Diskon;
cout<<" \t\tTotal Bayar   : Rp "<<brg.Totbay;
cout<<endl<<endl;

cout<<" \t\t\t     Tambah Data Lagi(Y/T) : ";cin>>pil;
if(pil=='Y' || pil=='y')
if (pf2 != NULL)
 {
 cout<<" \t\tKode Barang   : ";cin>>brg.kb;
       switch(brg.kb)
{
case 1:
     strcpy(brg.Barang,"Laptop Acer 722");
     brg.Harga=2900000;
     break;
case 2:
     strcpy(brg.Barang,"Printer");
     brg.Harga=3500000;
     break;
case 3:
     strcpy(brg.Barang,"Proyektor");
     brg.Harga=5600000;
     break;
case 4:
     strcpy(brg.Barang,"Modem TP-LINK ");
     brg.Harga=500000;
     break;
case 5:
     strcpy(brg.Barang,"LCD Monitor");
     brg.Harga=500000;
     break;
case 6:
     strcpy(brg.Barang,"Speaker");
    brg.Harga=250000;
     break;
case 7:
     strcpy(brg.Barang,"Komputer");
     brg.Harga=5200000;
     break;
default:
     strcpy(brg.Barang,"Kode Salah!");
     brg.Harga=0;
     break;
}
cout<<" \t\tNama Barang   : "<<brg.Barang<<endl;
cout<<" \t\tHarga Barang  : Rp "<<brg.Harga<<endl;
cout<<" \t\tJumlah Barang : ";cin>>brg.Jumbel;
if (brg.Jumbel>=10)
     {
     brg.Diskon=brg.Harga*brg.Jumbel*0.2;
     }
     else
     {
     if (brg.Jumbel<=10)
     {
     brg.Diskon=0;
     }
     }
cout<<" \t\tDiskon        : Rp "<<brg.Diskon<<endl;
brg.Totbay=brg.Harga*brg.Jumbel-brg.Diskon;
cout<<" \t\tTotal Bayar   : Rp "<<brg.Totbay;
cout<<" \t\t\t     Tambah Data Lagi(Y/T) : ";cin>>pil;
 }
         brg.no=record;
         fwrite(&brg,sizeof(brg),1,pf);
         fclose(pf);
}
void tampil()
{
     clrscr();
     baca();
     nomor=1;
cout<<"                ==================================              "<<endl;
cout<<"                --== LAPORAN JUAL BELI BARANG ==--              "<<endl;
cout<<"                ==================================              "<<endl;
cout<<" ------------------------------------------------------------------------------"<<endl;
cout<<"|No| Kode |   Nama Barang   |    Harga   | Jumlah |    Diskon  | Total Bayar "<<endl;
cout<<" ------------------------------------------------------------------------------"<<endl;
for(;;)
{
fread(&brg,sizeof(brg),1,pf);
       if(feof(pf))break;
cout<<setiosflags(ios::left)<<"| "<<setw(1)<<nomor++;
cout<<"|  "<<setiosflags(ios::left)<<setw(4)<<brg.kb;
cout<<"| "<<setiosflags(ios::left)<<setw(16)<<brg.Barang;
cout<<"| "<<setiosflags(ios::left)<<"Rp."<<setw(8)<<brg.Harga;
cout<<"|  "<<setiosflags(ios::left)<<setw(6)<<brg.Jumbel;
cout<<"| "<<setiosflags(ios::left)<<"Rp."<<setw(8)<<brg.Diskon;
cout<<"|  "<<setiosflags(ios::left)<<"Rp."<<setw(10)<<brg.Totbay<<endl;
}
  //tutup File
     fclose(pf);
cout<<"------------------------------------------------------------------------------"<<endl;
}
void baca_edit()
{
    if((pf=fopen("data1.txt","rt+"))==NULL)
     {
       printf("Fatal Error : Data Tidak Dapat dibaca!\n");
       exit(1);
     }
}
void edit(){
clrscr();
     baca_edit();
     int pos = 0 * sizeof(brg);
     rewind(pf);

     cout<<" \t\tMasukan Kode Barang   : ";cin>>brg.kb;
     tdkketemu=1;
     while(!feof(pf))
     {
        if(brg.kb)
         {
             tdkketemu=0;
             cout<<"Barang Di Temukan";
             record_ubah=brg.no;
             ofset_byte=(record_ubah-1)*sizeof(brg);
             fseek(pf,ofset_byte, SEEK_SET);
             hasil_baca=fread(&brg,sizeof(brg),1,pf);
             brg.kb ;
             if(hasil_baca==0)
             {
                cout<<" Kode Barang Tidak Ada !";
             }
             else
             {
             printf("             MENU    \n");
             printf("          EDIT BARANG   \n");
             printf("    ---------------------------------------  \n");
             cout<<" Kode Barang       : "<<brg.kb<<endl;
             cout<<" Nama Barang       :   "<<brg.Barang<<endl;
             cout<<" Harga Barang      : "<<brg.Harga<<endl;
             cout<<" Jumblah Barang    : "<<brg.Jumbel<<endl;;
             cout<<" Diskon Di Peroleh : "<<brg.Diskon<<endl;
             cout<<" Total Bayar      : "<<brg.Totbay<<endl;

             printf("    ---------------------------------------  \n");
             printf("\n\n");
             printf("----------------------------------------------------\n");
             printf(" Data Yang Akan Diubah\n");
             printf("----------------------------------------------------\n");
            cout<<" \t\tJumlah Barang : ";cin>>brg.Jumbel;
            if (brg.Jumbel>=10)
            {
            brg.Diskon=brg.Harga*brg.Jumbel*0.2;
            }
            else
            {
            if (brg.Jumbel<=10)
            {
            brg.Diskon=0;
             }
             }
           cout<<" \t\tDiskon        : Rp "<<brg.Diskon<<endl;
           brg.Totbay=brg.Harga*brg.Jumbel-brg.Diskon;
           cout<<" \t\tTotal Bayar   : Rp "<<brg.Totbay;
             }
             brg.no=record_ubah;
             fseek(pf,ofset_byte,SEEK_SET);
             fwrite(&brg,sizeof(brg),1,pf);
             break;
         }
         else
         {
             fread(&brg,sizeof(brg),1,pf);
         }
     }
     if(tdkketemu==1)
     {
         printf("    Data Tidak Ditemukan !");
     }
     //Tutup File
     fclose(pf);
}
void hapus()
{
     FILE *pfHapus;
     long int pstr1, pstr2;
     int banding;
     long int reqkb;
     do{
     system("cls");
     baca();
     printf(" --------------------------------------------------------------\n");
     printf(" ------------------------HAPUS DATA BARANG-----------------------\n");
     printf(" --------------------------------------------------------------\n");
     cout<<" \t\tKode Barang   : ";cin>>reqkb;
     tdkketemu=1;
     while(!feof(pf))
     {
        if(reqkb==brg.kb)
         {
             tdkketemu=0;
             system("cls");
             printf("Musik Ditemukan!");
             record_ubah=brg.no;
             printf("            Data Musik    \n");
             printf("              Pencarian Musik     \n");
             printf("    ---------------------------------------  \n");
             cout<<" Kode Barang  : "<<brg.kb<<endl;
             cout<<" Nama Barang        : "<<brg.Barang<<endl;
             cout<<" Harga Barang        : "<<brg.Harga<<endl;
             cout<<" Jumblah Barang        : "<<brg.Jumbel<<endl;;
             cout<<" Diskon       : "<<brg.Diskon<<endl;
             cout<<" Total Bayar        : "<<brg.Totbay<<endl;
             printf("    ---------------------------------------  \n");
             brg.no=record_ubah;
             for(;;){
             fread(&brg, sizeof(brg), 1, pf);
             if(feof(pf))break;
             pstr1 = reqkb;
             pstr2 = brg.kb;
             if (pstr1==pstr2)
             {
              banding=0;
              }else
              {
              banding=1;
              }
              if(banding != 0){
              //open file
              if((pfHapus = fopen("Temp1.txt", "at")) == NULL){
              system("cls");
              printf("File tidak dapat dibaca !!\n");
              exit(1);
              }
              fwrite(&brg,sizeof(brg),1,pfHapus);
              fclose(pfHapus);
              }
              }
              fclose(pf);
              //rename file temp dengan current name
              remove("data1.txt");
              rename("Temp1.txt", "data1.txt");
             break;
         }
         else
         {
             fread(&brg,sizeof(brg),1,pf);
         }
     }
     if(tdkketemu==1)
     {
         printf("    Data Barang Tidak Ditemukan !");
     }
     cout << "Data telah dihapus. \n";
     printf("\n\n Mau menghapus data lagi (Y/T)");
     jawab = getche();
}while (jawab=='Y'||jawab=='y');
getche();
}


Post a Comment

0 Comments