Advertisement
zingga

Untitled

Apr 9th, 2021
853
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.25 KB | None | 0 0
  1. #include <iostream>
  2. #define MAX 10
  3. using namespace std;
  4.  
  5. // Deklrasi untuk menampung nama, no rekening, transaksi, jumlah nominal transaksi.
  6. struct identitas
  7. {
  8.     char nama[20];
  9.     char no_rek[15];
  10.     char transaksi;
  11.     int nominal;
  12. };
  13.  
  14. // Deklrasi struk identitas menjadi id, dan juga menampung variable top dan data yg berbentuk array
  15. struct antri {
  16.     int top, data[MAX];
  17.     identitas id[MAX];
  18. } Tumpukan;
  19.  
  20. // Fungsi memasukan nilai dari top
  21. void init() {
  22.     Tumpukan.top = - 1;
  23. }
  24.  
  25. // Fungsi menentukan isEmpty ( deklarasi kosong atau tidaknya jumlah antrian )
  26. bool isEmpty() {
  27.     return Tumpukan.top == - 1;
  28. }
  29.  
  30. // Fungsi menentukan isFull ( deklrasi Full / tidaknya jumlah antrian)
  31. bool isFull() {
  32.     return Tumpukan.top == MAX - 1;
  33. }
  34.  
  35. // Fungsi untuk menambahkan / memasukan data
  36. void push() {
  37.     if (isFull()) {
  38.         cout << "\nAntrianpenuh" << endl;
  39.     } else {
  40.         Tumpukan.top++;
  41.         cout << "\nMasukkan nomor Antrian = ";
  42.         cin >> Tumpukan.data[Tumpukan.top];
  43.         cout << "Masukan Nama : "; cin >> Tumpukan.id[Tumpukan.top].nama;
  44.         cout << "Masukan Nomor Rekening : "; cin >> Tumpukan.id[Tumpukan.top].no_rek;
  45.         cout<<"Jenis Transaksi\t: \n";
  46.         cout<<"\t: A.Debet\n";
  47.         cout<<"\t  B.Kredit\n"<<"Pilih\t: ";
  48.         cin>>Tumpukan.id[Tumpukan.top].transaksi;
  49.         if(Tumpukan.id[Tumpukan.top].transaksi == 'a' || Tumpukan.id[Tumpukan.top].transaksi == 'A' || Tumpukan.id[Tumpukan.top].transaksi == 'b' || Tumpukan.id[Tumpukan.top].transaksi == 'B'){
  50.             cout<< "Masukan Nominal : "; cin>> Tumpukan.id[Tumpukan.top].nominal;
  51.         }
  52.         cout << "Data " << Tumpukan.data[Tumpukan.top] << " masuk ke antrian" << endl;           
  53.     }
  54. }
  55.  
  56. // Fungsi untuk mengurangi jumlah antrian
  57. void pop() {
  58.     if (isEmpty()) {
  59.         cout << "\nData Antrian kosong\n" << endl;
  60.     } else {
  61.         cout << "\nData Antrian " << Tumpukan.data[Tumpukan.top] << " sudah terambil"
  62.              << endl;
  63.         Tumpukan.top--;
  64.     }
  65. }
  66.  
  67. // Fungsi Untuk Menampilkan Antrian
  68. void printStack() {
  69.     if (isEmpty()) {
  70.         cout << "Antrian kosong";
  71.     } else {
  72.        
  73. //      for (int i = Tumpukan.top; i >= 0; i--)
  74. //          cout << " Nomor Antrian : " << Tumpukan.data[i] << ((i == 0) ? "" : ",");
  75. //          cout << "\n Nama : " << Tumpukan.id.nama ;
  76. //          cout << "\n Nomor Rekening : " << Tumpukan.id.no_rek;
  77. //          cout << "\n Jenis Transaksi : " << Tumpukan.id.transaksi;
  78. //          cout << "\n Nominal : " << Tumpukan.id.nominal;
  79. //     
  80.         for(int i = Tumpukan.top; i >= 0; i--){
  81.             cout << "\n Nomor Antrian : " << Tumpukan.data[i];
  82.             cout << "\n Nama : " << Tumpukan.id[i].nama ;
  83.             cout << "\n Nomor Rekening : " << Tumpukan.id[i].no_rek;
  84.             cout << "\n Jenis Transaksi : " << Tumpukan.id[i].transaksi;
  85.             cout << "\n Nominal : " << Tumpukan.id[i].nominal;
  86.  
  87.         }  
  88.     }
  89. }
  90.  
  91.  
  92. int main() {
  93.     // Deklarasi variable pilihan dan data bertipekan integer
  94.     int pilihan, data;
  95.     // Memanggil Fungsi Init
  96.     init();
  97.     // Melakukan / menjalankan perintah dari do
  98.     do {
  99.         // Memanggil Fungsi printStack
  100. //      printStack();
  101.         // Menampilkan Pilihan Menu
  102.         cout << "1. Masukan Nomor Antrian\n"
  103.              << "2. Hapus Data Antrian\n"
  104.              << "3. Data Antrian\n"
  105.              << "4. Keluar dari Menu Antrian\n"
  106.              << "Masukkan Pilihan: ";
  107.         // Menginput variable pilihan menu kedalam variable pilihan
  108.         cin >> pilihan;
  109.         // Menjalankan Kondisi dari Pilihan
  110.         switch (pilihan) {
  111.         // Jika inputan (pilihan) = 1 maka akan menjalankan kondisi dibawah
  112.         case 1:
  113.             // Menjalankan Fungsi Push // Menginput / menambahkan jumlah data antrian
  114.             push();
  115.             // untuk menghindari eksekusi dibawahnya
  116.             break;
  117.         //  Jika inputan (pilihan) = 2 maka akan menjalankan kondisi dibawah
  118.         case 2:
  119.             // Menjalankan Fungsi Pop / Menghapus 1 data antrian
  120.             pop();
  121.             // untuk menghindari eksekusi dibawahnya
  122.             break;
  123.         //  Jika inputan (pilihan) = 2 maka akan menjalankan kondisi dibawah
  124.         case 3:
  125.             // Menjalankan Fungsi printStack / Menampilkan data Antrian
  126.             printStack();
  127.             // untuk menghindari eksekusi dibawahnya
  128.             break;
  129.         // Jika inputan (pilihan) tidak sesuai dengan 3 kondisi diatas maka akan menjalankan kondisi dibawah   
  130.         default:
  131.             // Menampilkan Pilihan tidak tersedia
  132.             cout << "Pilihan tidak tersedia" << endl;
  133.             // untuk menghindari eksekusi dibawahnya
  134.             break;
  135.         }
  136.     } while (pilihan != 4);  // Menjalankan kondisi pilihan jika kondisnya != 4.
  137. }
  138.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement