PROGRAM KASIR


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
char *barang[] =                                    //array barang dan pointer barang
{
    "NILA KREMES MASE",
    "NASI GORENG MAWT",
    "NASI BAKAR SKSES"
};
int *harga[] ={11500,30000,21500};

int *kode[] ={1065,1066,1067};                             // array kode dan pointer kode
int a, b, c, d, e, f, g, zz, xx, hrg, qtys, totals, pajak, akhir;
int pick[3];
int qty[3];
int total[3];

void inisiasi()                //menampilkan menu awal
{
    printf("=================\n");
    printf("SIMPLE WARUNK QTA\n");
    printf("=================\n\n");
    printf("DAFTAR TERKENAL\n\n");
   
    printf("No.\tKode Beken\tMenu Spesial\t\tPricenya\n");
    int x;
    for(x=1;x<=3;x++)
    {
        printf("%i.\t%i\t\t%s\t%i\n", x, *(kode+3-x), *(barang+3-x), *(harga+3-x));
    }
    c=0;
    zz=1;

}

void menu()                    //proses memilih barang
{
    up:
    c = c+1;   
    in :
    printf("\nKode Beken (0 untuk selesai): ");
    scanf("%i", &pick[c]);                                        //memasukkan kode barang ke dalam array pick
if (pick[c]==0)                                                            //mengakhiri proses transaksi
    {
        if(c==1)                                                //apabila mengakhiri transaksi tetapi belum melakukan transaksi
        {
            printf("\nSilahkan transaksi terlebih dahulu!\n\n");
            printf("DAFTAR TERKENAL\n\n");
   
            printf("No.\tKode Beken\tMenu Spesial\t\tPricenya\n");
            int x;
            for(x=1;x<=3;x++)
            {
            printf("%i.\t%i\t\t%s\t%i\n", x, *(kode+3-x), *(barang+3-x), *(harga+3-x));
            }   
            goto in;
        }
        else                                                    //mengakhiri proses transaksi setelah melakukan transaksi
        {
            c = c-1;
            goto bawah;
        }   
    }
    else if(pick[c]<0 || pick[c]>1067 || pick[c]<1065)                                //jika kode barang tidak dalam range
    {
        printf("Item tidak ditemukan!\n\n");
        printf("DAFTAR TERKENAL\n\n");
   
        printf("No.\tKode Beken\tMenu Spesial\t\tPricenya\n");
        int x;
        for(x=1;x<=3;x++)
        {
        printf("%i.\t%i\t\t%s\t%i\n", x, *(kode+3-x), *(barang+3-x), *(harga+3-x));
        }       
        goto in;
    }
    ulang :
    if (pick[c]==1065)
    {
     pick[c]=1;
    }
    if (pick[c]==1066)
    {
     pick[c]=2;
    }
    if (pick[c]==1067)
    {
     pick[c]=3;
    }   
    printf("Masukkan jumlah : ");
    scanf("%i", &qty[c]);                                        //memasukkan jumlah barang kedalam array qty
   
    hrg = *(harga + pick[c]-1); //ini arry dari hrg
    total[c] = hrg*qty[c];
    for(e=1;e<c;e++)
    {
        if(pick[e]==pick[c])                    //jika kode barang sudah pernah di input sebelumnya
        {
            int jum;
            jum = qty[e] + qty[c];   
            /*if(jum<=-1)                                            //jika jumlah barang kurang dari nol
            {
                total[c] = total[e];
                printf("Jumlah tidak boleh kurang dari nol!\n");
                goto ulang;
            }*/
            total[e] = total[c] + total[e];
            qty[e] = qty[c] + qty [e];
            c= c-1;
            goto down;   
        }
    }
   
    down:
    printf("\nNo.\tKode Beken\tMenu Spesial\t\tCost\tQty\tTotal\n");
    for(d=1;d<=c;d++)
    {
        printf("%i",c);
        printf("%i.\t%i\t\t%s\t%i\t%i\t%i\n", d, *(kode + pick[d]-1), *(barang + pick[d]-1), *(harga + pick[d]-1), qty[d], total[d]);   
    }
        printf("\nDAFTAR TERKENAL\n\n");
   
        printf("No.\tKode Beken\tMenu Spesial\t\tPricenya\n");
        int x;
        for(x=1;x<=3;x++)
        {
        printf("%i.\t%i\t\t%s\t%i\n", x, *(kode+3-x), *(barang+3-x), *(harga+3-x));
        }
    goto up;
    bawah:
    result();                                                    //menampilkan void result
   
}

void result()            //menampilkan hasil akhir
{
    for(d=1;d<=c;d++)                                    //menghitung jumlah barang dan jumlah harga
    {
        qtys = qtys + qty[d];
        totals = totals + total[d];
    }
    pajak = (totals*10)/100;                            //menghitung pajak ppn
    akhir = totals + pajak;                                //menghitung jumlah yang harus dibayar
    printf("\nTransaksi selesai!\n");
    printf("\nNo.\tKode Beken\tMenu Spesial\t\tPricenya\tQty\tTotal\n");
    for(d=1;d<=c;d++)
    {
        printf("%i.\t%i\t\t%s\t%i\t%i\t%i\n", d, *(kode + pick[d]-1), *(barang + pick[d]-1), *(harga + pick[d]-1), qty[d], total[d]);   
    }
    printf("=====================================================================\n");
    printf("TOTAL\t\t\t\t\t\t\t\%i\t%i\n", qtys, totals);
    printf("PPn  10%c\t\t\t\t\t\t\t\t %i\n",'%' , pajak);
    printf("---------------------------------------------------------------------\n");
    printf("TOTAL BAYAR\t\t\t\t\t\t\t%i", akhir);
    printf("\n");
}

int main(int argc, char *argv[])
{
    inisiasi();
    menu();
    getchar();
    getchar();
    return 0;

}



Komentar

Postingan populer dari blog ini

Bahasa C# : cara membuat game POU sederhana dengan visual studio

Perpustakaan (Program aplikasi bahasa C)

Bahasa C# : menggunakan open file dialog pada visual studio