#include <iostream>
#include <fstream>
#include <strstream>
#include <stdio.h>
#include <conio.h>
#define besar_array 100
int main()
{
Menu :
char buffer1[2048];
char daftar1[2048];
istrstream ostr1(buffer1, 2048);
char values1[30][besar_array];
int c=0;
int a; int b; int j,k,l,m,n,o; float y,p,kem;
int z=0; int x=0;
int s;
char nama[100];
char pass[100];
char nama1[100];
ifstream fin("master.txt");
fin.getline(buffer1, 2048);
ifstream daftar("masterdb.txt");
ofstream registrasi;
registrasi.open("master.txt", ios::app);
ofstream bukti1;
bukti1.open("bukti.txt",ios::app);
while(ostr1 >> values1[c])
{ c++;}
clrscr();
printf ("Menu Utama");
printf ("\\n+++++++++++");
printf ("\\n1. Login\\n2. Register\\n3. Exit");
printf ("\\nPilihan :");
scanf ("%i", &a);
switch (a)
{
case 1 :
clrscr();
printf ("1.login");
printf("\\n+++++++");
printf ("\\n\\nMasukan Username Anda [1..25] : ");
scanf ("%s",&nama[0]);
while(strlen(nama)>25){
scanf("%s",&nama[0]); fflush(stdin);
}
printf ("\\nMasukan Password Anda : ");
scanf ("%s",&pass[0]);
while(strlen(pass)>25){
scanf("%s",&pass[0]); fflush(stdin);
}
for(s=0;s<c;s=s+2)
{
if (strcmp (nama, values1[s]) == 0){
if (strcmp (pass, values1[s+1]) == 0){
z++;
strcpy(nama1,values1[s]);
}
}}
clrscr();
if (z>0){
printf ("Login SUCCESS...");
printf ("\\n\\nSelamat Datang DI Toko \\"Book Store\\" sdr. %s ..",nama1);
printf ("\\n\\nTekan Enter Untuk Lanjut...");
cin.get();
Mlog:
clrscr();
printf ("Selamat Datang di Toko Buku \\"Book Store\\" sdr. %s ..",nama1);
printf ("\\n***********************************************************");
printf ("\\n\\nMenu Login :");
printf ("\\n1.Lihat List Buku\\n2.Beli Buku dan Print BuktiPembelian\\n3.Logout");
printf ("\\n\\nPilihan : ");
scanf ("%i",&b);
switch(b){
case 1 :
clrscr();
cout << "1. Lihat List Buku";
cout << "\\n+++++++++++++++++++\\n\\n";
daftar.read(daftar1, 2048);
cout << daftar1 <<"\\n\\n Tekan ENTER untuk kembali ke Menu Login" << endl;
cin.get();
goto Mlog;
case 2 :
clrscr();
cout << "2. Beli Buku dan Print Bukti Pembelian";
cout << "\\n+++++++++++++++++++++++++++++++++++++++";
cout << "\\n\\n";
cout << "Masukan berapa banyak buku yang ingin anda beli [jumlah min 0, max 5] :"
<< "\\n\\n";
cout << "Nama Buku : The Joy of Living [harga satuan : 125000] = ";
cin >> j;
while(j<0||j>5){cin.clear(); cin >> j;}
cout << "Nama Buku : Pemograman Bahasa C++ [harga satuan : 70000] = ";
cin >> k; while(k<0||k>5){cin.clear(); cin >> k;}
cout << "Nama Buku : Membuka Pintu Hati [harga satuan : 80000] = ";
cin >> l; while(l<0||l>5){cin.clear(); cin >> l;}
cout << "Nama Buku : Java for Dummies [harga satuan : 75000] = ";
cin >> m; while(m<0||m>5){cin.clear(); cin >> m;}
cout << "Nama Buku : Rule of Quidditch [harga satuan : 40000] = ";
cin >> n; while(n<0||n>5){cin.clear(); cin >> n;}
cout << "Nama Buku : 72 Jam Menguasai VB [harga satuan : 200000] = ";
cin >> o; while(o<0||o>5){cin.clear(); cin >> o;}
y=(j*125000)+(k*70000)+(l*80000)+(m*75000)+(n*40000)+(o*200000);
cout << "\\n\\n";
printf ("Total Belanjaan Anda adalah RP. %.0f ",y);
printf ("\\nMasukan uang pembayaran Anda [Min pembayaran Rp. %.0f] : Rp. ",y);
cin >> p;
while(p<y) {cin >> p;}
kem = p - y;
printf ("\\nUang Kembalian Anda Adalah : RP. %.0f",kem);
bukti1 << "\\nNama Member : " << nama1 << "\\nTotal Belanja = RP. " << y
<< "\\n-----------------------";
printf ("\\n\\nTerimakasih atas Pembeliannya,\\nBukti Pembayaran dapat anda lihat di bukti.txt");
printf ("\\n\\nTekan ENTER untuk kembali ke menu Login");
getch();
goto Mlog;
case 3 :
clrscr();
printf ("Logout SUCSESS...\\n\\nTekan ENTER untuk Lanjut...");
cin.get();
goto Menu;
default : printf ("Salah");
break;
}
}
else {
printf("Login FAILED...\\n\\nHarap Lakukan Registrasi terlebih dahulu");
printf("\\n\\nTekan ENTER untuk Lanjut");
cin.get();
goto Menu;
}
case 2:
clrscr();
printf ("2. register");
printf ("\\n++++++++++++");
printf ("\\n\\nMasukan Username Anda [1..25] : ");
scanf ("%s",&nama[0]);
while(strlen(nama)>25){ //Validasi
scanf("%s",&nama[0]);}
printf ("\\nMasukan Password Anda [1..25] : ");
scanf ("%s",&pass[0]);
while(strlen(pass)>25){ //Validasi
scanf("%s",&pass[0]); fflush(stdin);
}
for(s=0;s<c;s=s+2);
{
if (strcmp (nama, values1[s]) == 0){
x++;
}
}
if (x>0){
clrscr();
printf("Registrasi FAILED...\\n");
printf("\\nID sudah ada, Silakan Masukan ID yang lain...");
printf("\\n\\nTekan ENTER untuk lanjut...");
cin.get();
goto Menu;
}
else{
clrscr();
registrasi << " " << nama<<" " << pass ;
registrasi.close();
printf ("Registrasi SUCSESS..");
printf ("\\n\\nSilahkan Login untuk melakukan Transaksi ^^v");
printf ("\\n\\nTekan Enter untuk Lanjut...");
cin.get();
goto Menu;
}
case 3 :
clrscr();
cout << "Terima Kasih Atas Kunjungan Anda ke Toko Kami... ^^v\\n\\nTekan ENTER untuk Exit.."
<< endl;
break;
default : printf ("Salah"); break;
}
getch();
}