Program Penjualan Buku
·
Menampilkan Daftar pilihan
-Daftar Komik(1)
-Tampilkan Hasil Penjualan(2)
-Menu Keluar(3)
·
Pilih Menu(1)
-Nomor Buku
-Judul Buku
-Tahun Terbit
-Harga
·
Output Menu (1)
-Judul
-Tahun
-Harga
-Jumlah
Beli Lagi ( Y / T )
·
Output Menu (2)
-Judul
-Tahun
-Harga
-Jumlah
-Total Biaya
-Pembayaran
-Kembalian
·
Keluar
macam - macam tipe data apa saja yang di pakai dalam program struk kasir
beserta penjelasan dan fungsi dari tipe - tipe data tersebut :
v Header
v Header
1. Header <stdio.h> digunakan sebagai inputan dan outputan dan berfungsi untuk menampilkan perintah:
Printf
|
Merupakan
fungsi keluaran. Bentuk umum : printf (“tulisan”);
|
Scanf
|
Merupakan
fungsi masukan . Bentuk umum : scanf (“%c”, karakter);
|
2. Header <windows.h> Fungsinya
adalah untuk memanggil perintah-perintah yang ada pada command prompt seperti echo, color, attrib, dll
Fungsi gotoxy digunakan untuk menempatkan kursor ditempat yang tidak dapat di capai bila kita hanya menggunakan sekuensi program saja. Jika kita gunakan gotoxy, maka kita dapat meletakan kursor kita dimana saja sesuai dengan titik koorninatnya.
Fungsi gotoxy mempunyai dua
parameter. Parameter tersebut adalah koordinat dimana kita ingin meletakan
kursor. Titik pojok kiri atas mempunyai titik koordinat [0,0]. Jika ingin
menggeser kekanan maka x ditambahkan sesuai dengan posisi yang kmu inginkan.
Jika ingin menggeser ke bawah maka y ditambahkan.
·
Membuat
Titik Kordinat
Fungsi gotoxy digunakan untuk menempatkan kursor ditempat
yang tidak dapat di capai bila kita hanya menggunakan sekuensi program saja.
Jika kita gunakan gotoxy, maka kita dapat meletakan kursor kita dimana saja
sesuai dengan titik koorninatnya.
COORD
kordinat={0,0};
void
gotoxy(int x, int y)
{
kordinat.X=x;
kordinat.Y=y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),kordinat);
}
|
·
Membuat
Array Of Struct
Array Merupakan
Deretan data yang tipenya sama, sedangkan Struct
merupakan kelompok data yang bertipe berbeda. jika ingin membuat suatu deretan
data yang tipenya berbeda maka digunakan gabungan antara array dan struct.
struct
datakomik
{
char *merek, *tipe;
int harga, total;
int jumlah;
};
struct datakomik data[20];
|
·
Deklarasi
Digunakan
untuk menginput/masukan tipe data :
int i,n,no, bayar, kembali;
int total_biaya=0;
|
·
Membuat
Fungsi
Digunakan untuk mengerjakan suatu tugas
tertentu dan letaknya terpisah dari program yang memanggilnya.
void jual()
{
int no;
i=1;
char lagi;
do{
//int i=1;
printf("\nInput no komik :
"); scanf("%d",&no);
if (no==1)
{
data[i].merek="Bahasa
Indonesia";
data[i].tipe="2016";
data[i].harga=53000;
printf("Judul : %s\n",data[i].merek);
printf("Tahun : %s\n",data[i].tipe);
printf("Harga : %d\n",data[i].harga);
printf("Jumlah :
");
scanf("%d",&data[i].jumlah);
fflush(stdin);
data[i].total=data[i].harga*data[i].jumlah;
total_biaya=data[i].total+total_biaya;
n=n+1;
} else
if (no==2)
{
data[i].merek="Bahasa
Inggris";
data[i].tipe="2016";
data[i].harga=42000;
printf("Judul : %s\n",data[i].merek);
printf("Tahun : %s\n",data[i].tipe);
printf("Harga : %d\n",data[i].harga);
printf("Jumlah :
"); scanf("%d",&data[i].jumlah); fflush(stdin);
data[i].total=data[i].harga*data[i].jumlah;
total_biaya=data[i].total+total_biaya;
n=n+1;
}else
if (no==3)
{
data[i].merek="Matematika";
data[i].tipe="2017";
data[i].harga=38000;
printf("Judul : %s\n",data[i].merek);
printf("Tahun : %s\n",data[i].tipe);
printf("Harga : %d\n",data[i].harga);
printf("Jumlah :
"); scanf("%d",&data[i].jumlah); fflush(stdin);
data[i].total=data[i].harga*data[i].jumlah;
total_biaya=data[i].total+total_biaya;
n=n+1;
}else
if (no==4)
{
data[i].merek="IPA";
data[i].tipe="2017";
data[i].harga=45000;
printf("Judul : %s\n",data[i].merek);
printf("Tahun : %s\n",data[i].tipe);
printf("Harga : %d\n",data[i].harga);
printf("Jumlah :
"); scanf("%d",&data[i].jumlah); fflush(stdin);
data[i].total=data[i].harga*data[i].jumlah;
total_biaya=data[i].total+total_biaya;
n=n+1;
}else
if (no==5)
{
data[i].merek="IPS";
data[i].tipe="2018";
data[i].harga=39000;
printf("Judul : %s\n",data[i].merek);
printf("Tahun : %s\n",data[i].tipe);
printf("Harga : %d\n",data[i].harga);
printf("Jumlah :
"); scanf("%d",&data[i].jumlah); fflush(stdin);
data[i].total=data[i].harga*data[i].jumlah;
total_biaya=data[i].total+total_biaya;
n=n+1;
}else
if (no==6)
{
data[i].merek="Bahasa
Jepang";
data[i].tipe="2018";
data[i].harga=36000;
printf("Judul : %s\n",data[i].merek);
printf("Tahun : %s\n",data[i].tipe);
printf("Harga : %d\n",data[i].harga);
printf("Jumlah :
"); scanf("%d",&data[i].jumlah); fflush(stdin);
data[i].total=data[i].harga*data[i].jumlah;
total_biaya=data[i].total+total_biaya;
n=n+1;
}
i++;
//total_biaya=data[i].total;
printf("\nBeli lagi (Y/T)
: "); scanf("%s",&lagi); //fflush(stdin);
}while (lagi!='T');
getch();
}
void output()
{
system("cls");
printf("+==========================================================================+\n");
printf("| No | Judul
| Tahun |
Harga | Jumlah | Total |\n");
printf("|-------------------------------------------------------|------------------|\n");
for(i=1;i<=n;i++)
{
printf("| |
| | | | Rp. |\n");
gotoxy(3, i+2);
printf("%d\n",i);
gotoxy(8, i+2);
printf("%s\n", data[i].merek);
gotoxy(20, i+2);
printf("%s\n", data[i].tipe);
gotoxy(35, i+2);
printf("%d\n", data[i].harga);
gotoxy(50, i+2);
printf("%d\n", data[i].jumlah);
gotoxy(62, i+2); printf("%d\n",
data[i].total);
//n=1;
}
printf("|-------------------------------------------------------|------------------|\n");
printf("|
Total Biaya | Rp.
|\n");
printf("|-------------------------------------------------------|------------------|\n");
printf("|
Pembayaran | Rp. |\n");
printf("|
Kembalian | Rp. |\n");
printf("+==========================================================================+\n");
gotoxy(62, i+3);
printf("%d\n", total_biaya);
gotoxy(62, i+5);
scanf("%i", &bayar);
if(bayar<total_biaya){
gotoxy(62,
i+6);printf("--------");
gotoxy(30,
i+8);printf("Maaf, uang anda tidak mencukupi");
}
else
{
kembali=bayar-total_biaya;fflush(stdin);
gotoxy(62, i+6); printf("%d", kembali);
}
getch();
}
void main()
{
int pil;
do{
system("cls");
printf("+================================+\n");
printf("| PENJUALAN BUKU |\n");
printf("|--------------------------------|\n");
printf("| 1. Daftar
BUKU |\n");
printf("| 2. Tampilkan
hasil penjualan |\n");
printf("| 0.
Keluar |\n");
printf("|--------------------------------|\n");
printf("| Pilih menu
: |\n");
printf("+================================+\n");
gotoxy(15,7);
scanf("%d",&pil);
switch(pil)
{
case 1 : {daftar();
break;}
case 2 : {output();
break;}
case 0 : break;
default : gotoxy(1,9);
printf("Pilihan salah"); getch();
}
}while (pil!=0);
}
·
Source
Code
#include <stdio.h>
#include <windows.h>
COORD kordinat={0,0};
void gotoxy(int x, int y)
{
kordinat.X=x;
kordinat.Y=y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),kordinat);
}
struct datakomik
{
char *merek, *tipe;
int harga, total;
int jumlah;
};
struct datakomik data[20];
//array
of record
int i,n,no, bayar, kembali;
int total_biaya=0;
void daftar()
{
system("cls");
printf("+===========================================================+\n");
printf("| No | Judul |Tahun Terbit| Harga
|\n");
printf("|===========================================================|\n");
printf("| 1 |
Bahasa Indonesia | 2016
| Rp. 53000 |\n");
printf("| 2 |
Bahasa Inggris | 2016
| Rp. 42000 |\n");
printf("| 3 |
Matematika | 2017
| Rp. 38000 |\n");
printf("| 4 |
IPA | 2017
| Rp. 45000 |\n");
printf("| 5 |
IPS | 2018
| Rp. 39000 |\n");
printf("| 6 |
Bahasa Jepang | 2018
| Rp. 36000 |\n");
printf("|----|----------------------------|------------|------------|\n");
printf("+===========================================================+\n");
jual();
getch();
}
void jual()
{
int no;
i=1;
char lagi;
do{
//int i=1;
printf("\nInput no komik :
"); scanf("%d",&no);
if (no==1)
{
data[i].merek="Bahasa
Indonesia";
data[i].tipe="2016";
data[i].harga=53000;
printf("Judul : %s\n",data[i].merek);
printf("Tahun : %s\n",data[i].tipe);
printf("Harga : %d\n",data[i].harga);
printf("Jumlah :
");
scanf("%d",&data[i].jumlah);
fflush(stdin);
data[i].total=data[i].harga*data[i].jumlah;
total_biaya=data[i].total+total_biaya;
n=n+1;
} else
if (no==2)
{
data[i].merek="Bahasa
Inggris";
data[i].tipe="2016";
data[i].harga=42000;
printf("Judul : %s\n",data[i].merek);
printf("Tahun : %s\n",data[i].tipe);
printf("Harga : %d\n",data[i].harga);
printf("Jumlah :
"); scanf("%d",&data[i].jumlah); fflush(stdin);
data[i].total=data[i].harga*data[i].jumlah;
total_biaya=data[i].total+total_biaya;
n=n+1;
}else
if (no==3)
{
data[i].merek="Matematika";
data[i].tipe="2017";
data[i].harga=38000;
printf("Judul : %s\n",data[i].merek);
printf("Tahun : %s\n",data[i].tipe);
printf("Harga : %d\n",data[i].harga);
printf("Jumlah :
"); scanf("%d",&data[i].jumlah); fflush(stdin);
data[i].total=data[i].harga*data[i].jumlah;
total_biaya=data[i].total+total_biaya;
n=n+1;
}else
if (no==4)
{
data[i].merek="IPA";
data[i].tipe="2017";
data[i].harga=45000;
printf("Judul : %s\n",data[i].merek);
printf("Tahun : %s\n",data[i].tipe);
printf("Harga : %d\n",data[i].harga);
printf("Jumlah :
"); scanf("%d",&data[i].jumlah); fflush(stdin);
data[i].total=data[i].harga*data[i].jumlah;
total_biaya=data[i].total+total_biaya;
n=n+1;
}else
if (no==5)
{
data[i].merek="IPS";
data[i].tipe="2018";
data[i].harga=39000;
printf("Judul : %s\n",data[i].merek);
printf("Tahun : %s\n",data[i].tipe);
printf("Harga : %d\n",data[i].harga);
printf("Jumlah :
"); scanf("%d",&data[i].jumlah); fflush(stdin);
data[i].total=data[i].harga*data[i].jumlah;
total_biaya=data[i].total+total_biaya;
n=n+1;
}else
if (no==6)
{
data[i].merek="Bahasa
Jepang";
data[i].tipe="2018";
data[i].harga=36000;
printf("Judul : %s\n",data[i].merek);
printf("Tahun : %s\n",data[i].tipe);
printf("Harga : %d\n",data[i].harga);
printf("Jumlah :
"); scanf("%d",&data[i].jumlah); fflush(stdin);
data[i].total=data[i].harga*data[i].jumlah;
total_biaya=data[i].total+total_biaya;
n=n+1;
}
i++;
//total_biaya=data[i].total;
printf("\nBeli lagi (Y/T)
: "); scanf("%s",&lagi); //fflush(stdin);
}while (lagi!='T');
getch();
}
void output()
{
system("cls");
printf("+==========================================================================+\n");
printf("| No | Judul
| Tahun |
Harga | Jumlah | Total |\n");
printf("|-------------------------------------------------------|------------------|\n");
for(i=1;i<=n;i++)
{
printf("| |
| | | | Rp. |\n");
gotoxy(3, i+2);
printf("%d\n",i);
gotoxy(8, i+2);
printf("%s\n", data[i].merek);
gotoxy(20, i+2);
printf("%s\n", data[i].tipe);
gotoxy(35, i+2);
printf("%d\n", data[i].harga);
gotoxy(50, i+2);
printf("%d\n", data[i].jumlah);
gotoxy(62, i+2);
printf("%d\n", data[i].total);
//n=1;
}
printf("|-------------------------------------------------------|------------------|\n");
printf("|
Total Biaya | Rp. |\n");
printf("|-------------------------------------------------------|------------------|\n");
printf("|
Pembayaran | Rp. |\n");
printf("| Kembalian | Rp. |\n");
printf("+==========================================================================+\n");
gotoxy(62, i+3);
printf("%d\n", total_biaya);
gotoxy(62, i+5);
scanf("%i", &bayar);
if(bayar<total_biaya){
gotoxy(62,
i+6);printf("--------");
gotoxy(30,
i+8);printf("Maaf, uang anda tidak mencukupi");
}
else
{
kembali=bayar-total_biaya;fflush(stdin);
gotoxy(62, i+6); printf("%d", kembali);
}
getch();
}
void main()
{
int pil;
do{
system("cls");
printf("+================================+\n");
printf("| PENJUALAN BUKU |\n");
printf("|--------------------------------|\n");
printf("| 1. Daftar BUKU |\n");
printf("| 2. Tampilkan
hasil penjualan |\n");
printf("| 0.
Keluar |\n");
printf("|--------------------------------|\n");
printf("| Pilih menu
: |\n");
printf("+================================+\n");
gotoxy(15,7);
scanf("%d",&pil);
switch(pil)
{
case 1 : {daftar();
break;}
case 2 : {output();
break;}
case 0 : break;
default : gotoxy(1,9);
printf("Pilihan salah"); getch();
}
}while (pil!=0);
}