Aplikasi Menu Restoran C++
Assalamualaikum kembali lagi bersama saya , kali ini saya akan membagikan script c++ untuk membuat aplikasi menu restoran sederhana kebetulan sekali ini adalah tugas sekolah saya jadi saya share aja ke kalian semua. mohon bila ada kekuranga dalam script ini ya.
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <math.h>
#include <cstdlib>
#include <iostream>
using namespace std;
//nama moch nurul kafi
//xii rpl 2
//create struct
//struct = kumpulan dari variable yang dinyatakan dengan sebuah nama dengan sifat setiap vairable dapat memiliki tipe yang berlainan
typedef struct{
int kdpaket;
string namapaket;
float harga;
}resto;
typedef struct{
int kdpesanan;
int skdpaket;
int qty;
float subtotal;
}order;
resto dataresto[5];
resto temp;
int pilihan;
int index_menu = 0;
int jumlah_data;
int s_kode_paket;
int i, j, minindex, k_temp;
string n_temp;
float h_temp;
order t_order[100];
int index_order = 0;
int jumlah_pesanan;
float subtotal;
float total;
int sender;
//tampilan menu
void menu_utama(){
//system("cls") digunakan untuk menghapus tampilan layar
system("cls");
cout<<"_______________________________________________________________________________"<> pilihan;
}
void input_data(){
int continue_input = 0;
do{
if(jumlah_data < 5){
index_menu = jumlah_data;
system("cls");
cout<<"** Masukan Menu Yang Akan Dibeli ** "<> dataresto[index_menu].kdpaket;
cout << "Nama Paket : "; cin >> dataresto[index_menu].namapaket;
cout << "Harga : "; cin >> dataresto[index_menu].harga;
jumlah_data++;
cout << endl;
cout << "Isi data lagi ? [YA = 1 || Tidak = 2] = ";
cin >> continue_input;
}else{
cout << "Maaf data penuh !" << endl;
continue_input = 2;
}
}
while(continue_input == 1);
}
void show_data(){
system("cls");
for(int xindexer = 0; xindexer < jumlah_data; xindexer++){
cout << "Data Ke : " << xindexer +1 << "\n";
cout << "Kode Paket : " << dataresto[xindexer].kdpaket << endl;
cout << "Nama Paket : " << dataresto[xindexer].namapaket << endl;
cout << "Harga : " << dataresto[xindexer].harga << endl;
cout << "-----------------------------------------\n";
}
getche();
}
void sort_data(){
system("cls");
for(i = 0; i < jumlah_data - 1; i++){
minindex=i;
for(j = i + 1; j < jumlah_data; j++){
if(dataresto[minindex].kdpaket > dataresto[j].kdpaket){
minindex = j;
}
}
temp = dataresto[i];
dataresto[i] = dataresto[minindex];
dataresto[minindex] = temp;
/*
k_temp = dataresto[i].kdpaket;
dataresto[i].kdpaket = dataresto[minindex].kdpaket;
dataresto[minindex].kdpaket = k_temp;
n_temp = dataresto[i].namapaket;
dataresto[i].namapaket = dataresto[minindex].namapaket;
dataresto[minindex].namapaket = n_temp;
h_temp = dataresto[i].harga;
dataresto[i].harga = dataresto[minindex].harga;
dataresto[minindex].harga = h_temp;
*/
}
for(int shower = 0; shower < jumlah_data; shower++){
cout << "Sorted berdasarkan kode paket" << endl;
cout << "Kode Paket : " << dataresto[shower].kdpaket << endl;
cout << "Nama Paket : " << dataresto[shower].namapaket << endl;
cout << "Harga : " << dataresto[shower].harga << endl;
cout << "-----------------------------------------\n";
}
getch();
}
void search_data(){
int continue_input = 0;
bool datafound = false;
do{
system("cls");
cout << "Masukkan data paket yang akan dicari !" << endl;
cout << "Data Paket : ";
cin >> s_kode_paket;
for(int x = 0; x < jumlah_data; x++){
if(dataresto[x].kdpaket == s_kode_paket){
datafound = true;
break;
}else{
datafound = false;
}
}
if(datafound){
cout << "-------------------------------" << endl;
cout << "Kode Paket : " << dataresto[s_kode_paket-1].kdpaket << endl;
cout << "Nama Paket : " << dataresto[s_kode_paket-1].namapaket << endl;
cout << "Harga : " << dataresto[s_kode_paket-1].harga << endl;
cout << "-------------------------------" << endl;
}else{
cout << "Tidak ada data tersebut !" << endl;
}
cout << "Cari data lagi ? [YA = 1 || Tidak = 2] = ";
cin >> continue_input;
}
while(continue_input == 1);
}
float sub_total(int kode_pesanan, int p_kdpaket, int p_qty){
bool datafound = false;
for(int x = 0; x < jumlah_data; x++){
if(dataresto[x].kdpaket == p_kdpaket){
datafound = true;
break;
}else{
datafound = false;
}
}
if(datafound){
t_order[kode_pesanan].subtotal = dataresto[p_kdpaket-1].harga * p_qty;
total+=dataresto[p_kdpaket-1].harga * p_qty;
//for(int x = 0; x < jumlah_pesanan; x++){
// cout << t_order[x].subtotal;
//}
}else{
cout << "Something went wrong !" << endl;
}
}
void transaction(){
system("cls");
for(int xindexer = 0; xindexer < jumlah_data; xindexer++){
cout << "Kode Paket : " << dataresto[xindexer].kdpaket << endl;
cout << "Nama Paket : " << dataresto[xindexer].namapaket << endl;
cout << "Harga : " << dataresto[xindexer].harga << endl;
cout << "-----------------------------------------\n";
}
int buy_again = 0;
do{
index_order = jumlah_pesanan;
if(buy_again == 2 || buy_again == 0){
cout << "Masukkan kode pesanan : "; cin >> t_order[index_order].kdpesanan;
}
cout << "Masukkan kode paket : "; cin >> t_order[index_order].skdpaket;
cout << "QTY : "; cin >> t_order[index_order].qty;
jumlah_pesanan++;
sub_total(t_order[index_order].kdpesanan, t_order[index_order].skdpaket, t_order[index_order].qty);
cout << "Beli lagi ? [YA = 1 || Tidak = 2] = ";
cin >> buy_again;
}
while(buy_again == 1);
cout << "Yang harus dibayar : " << total;
getch();
}
int main(){
do{
menu_utama();
if(jumlah_data == 0){
switch(pilihan){
case 1: input_data();
break;
case 6: //action
break;
default : cout << "Anda tidak memiliki data, silakan input data !";
}
}
else if(jumlah_data >= 1)
{
switch(pilihan){
case 1: input_data();
break;
case 2: show_data();
break;
case 3: sort_data();
break;
case 4: search_data();
break;
case 5: transaction();
break;
case 6: //action
break;
default : cout << "Anda salah input \n";
}
}
getche();
}
while(pilihan !=6 );
return 0;
}
Untuk Teman-teman yang mau mendownload scriptnya ada dibawah ini
DOWNLOAD
Sangat membantu 👍
ReplyDeleteKalo bisa tambahin penjelasan kang. Biar orang awam seperti saya langsung mengerti.
Sukses selalu.
Penjelasan sudah ada di dalam komentar script
Delete