Header Ads

Header ADS

Aplikasi Menu Restoran C++

Aplikasi Menu Restoran C++

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

2 comments:

  1. Sangat membantu 👍
    Kalo bisa tambahin penjelasan kang. Biar orang awam seperti saya langsung mengerti.

    Sukses selalu.

    ReplyDelete
    Replies
    1. Penjelasan sudah ada di dalam komentar script

      Delete

Powered by Blogger.