Sabtu, 22 Desember 2012

praktikum 15 versi 4 data barang

praktikum 15 versi 4 data barang

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef struct{int kode_barang; char nama_barang[25]; int jumlah_stock; float harga_barang;}Databrg;
Databrg barang;
FILE *brg;

void RekamFile(FILE *brg);
void AmbilData (FILE *brg);
void HitungTotal(FILE *brg);
void CariHarga (FILE *brg);

int main()
{
    int i;
    char y;

    while (y!='n')
    {
        system("CLS");
        printf("Menu yang kami sediakan : ");
        printf("\n1. Rekam Data barang ");
        printf("\n2. Tampil Isi Arsip ");
        printf("\n3. Hitung stock ");
        printf("\n4. cari harga ");
        printf("\n5. Keluar Program ");
        printf("\n\nMasukkan nomor pilihan menu anda :");scanf("%d", &i);

        switch(i)
        {
            case 1 : RekamFile(brg); break;
            case 2 : AmbilData(brg); break;
            case 3 : HitungTotal(brg); break;
            case 4 : CariHarga(brg); break;
            default: break;
        }

        if (i==5) break;
            printf("\nApakah anda ingin mengulang transaksi y/n : "); scanf("%c", &y); fflush(stdin);
    }
return 0;
}

//rekam file
void RekamFile(FILE *brg)
{
    char x;

    printf("Kode Barang        :");scanf("%d%c",&barang.kode_barang,&x);
    brg=fopen("Dtbrg.txt","wb");fflush(stdin);
    while(barang.kode_barang != 9999)
    {
        printf("nama barang          :");gets(barang.nama_barang); fflush(stdin);
        printf("jumlah stock :");scanf("%d", &barang.jumlah_stock); fflush(stdin);
        printf("harga barang        :");scanf("%f", &barang.harga_barang ); fflush(stdin);
        fwrite(&barang, sizeof(barang),1,brg); fflush(stdin);
        printf("\n");
        printf("kode barang           :");scanf("%d%c",&barang.kode_barang,&x); fflush(stdin);
    }
    fclose(brg);
}

//Ambil data dari arsip
void AmbilData (FILE *brg)
{
    brg=fopen("Dtbrg.txt","rb");
    fread(&barang, sizeof(barang), 1, brg);
        printf("\n===================================================\n");
        printf("kode\tNama\t\tjumlah\tharga\n");
        printf("===================================================\n");
    while(!feof(brg))
    {
        printf("%d\t", barang.kode_barang);
        printf("%s\t\t", barang.nama_barang);
        printf("%d\t", barang.jumlah_stock);
        printf("%.0f\t", barang.harga_barang);
        printf("\n");
        fread(&barang, sizeof(barang), 1, brg);
    }
    fclose(brg );
    fflush(stdin);
        printf("===================================================\n");
}

//hitung total barang
void HitungTotal(FILE *brg)
{
    int total_barang;
    float Total_Harga;
    brg=fopen("Dtbrg.txt","rb");
    fread(&barang, sizeof(barang), 1, brg);
    total_barang = 0;
    Total_Harga = 0;
    while(!feof(brg))
    {
        total_barang = total_barang + barang.jumlah_stock;
        Total_Harga = Total_Harga + (barang.jumlah_stock * barang.harga_barang);
        fread(&barang, sizeof(barang), 1, brg);
    }
    fclose(brg );
    printf("\nTotal barang adalah : %d", total_barang);
    printf("\nTotal Harga Adalah : %.0f\n", Total_Harga);
    fflush(stdin);
}


//cari harga
void CariHarga(FILE *brg)
{
    int KodeBrg;
    printf("Masukkan Kode barang : "); scanf("%d", &KodeBrg);
    brg=fopen("Dtbrg.txt","rb");
    fread(&barang, sizeof(barang), 1, brg);
    while(!feof(brg))
    {
        if (barang.kode_barang ==KodeBrg)
        {
            printf("Harga Barangnya adalah : %.0f\n", barang.harga_barang); break;
        }
        else printf("kode Barang tidak di temukan\n");
        fread(&barang, sizeof(barang), 1, brg);
    }
    fclose(brg );
    fflush(stdin);
}

Tidak ada komentar:

Posting Komentar