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
Posting Komentar