Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #define MAX 10
- using namespace std;
- // Deklrasi untuk menampung nama, no rekening, transaksi, jumlah nominal transaksi.
- struct identitas
- {
- char nama[20];
- char no_rek[15];
- char transaksi;
- int nominal;
- };
- // Deklrasi struk identitas menjadi id, dan juga menampung variable top dan data yg berbentuk array
- struct antri {
- int top, data[MAX];
- identitas id[MAX];
- } Tumpukan;
- // Fungsi memasukan nilai dari top
- void init() {
- Tumpukan.top = - 1;
- }
- // Fungsi menentukan isEmpty ( deklarasi kosong atau tidaknya jumlah antrian )
- bool isEmpty() {
- return Tumpukan.top == - 1;
- }
- // Fungsi menentukan isFull ( deklrasi Full / tidaknya jumlah antrian)
- bool isFull() {
- return Tumpukan.top == MAX - 1;
- }
- // Fungsi untuk menambahkan / memasukan data
- void push() {
- if (isFull()) {
- cout << "\nAntrianpenuh" << endl;
- } else {
- Tumpukan.top++;
- cout << "\nMasukkan nomor Antrian = ";
- cin >> Tumpukan.data[Tumpukan.top];
- cout << "Masukan Nama : "; cin >> Tumpukan.id[Tumpukan.top].nama;
- cout << "Masukan Nomor Rekening : "; cin >> Tumpukan.id[Tumpukan.top].no_rek;
- cout<<"Jenis Transaksi\t: \n";
- cout<<"\t: A.Debet\n";
- cout<<"\t B.Kredit\n"<<"Pilih\t: ";
- cin>>Tumpukan.id[Tumpukan.top].transaksi;
- 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'){
- cout<< "Masukan Nominal : "; cin>> Tumpukan.id[Tumpukan.top].nominal;
- }
- cout << "Data " << Tumpukan.data[Tumpukan.top] << " masuk ke antrian" << endl;
- }
- }
- // Fungsi untuk mengurangi jumlah antrian
- void pop() {
- if (isEmpty()) {
- cout << "\nData Antrian kosong\n" << endl;
- } else {
- cout << "\nData Antrian " << Tumpukan.data[Tumpukan.top] << " sudah terambil"
- << endl;
- Tumpukan.top--;
- }
- }
- // Fungsi Untuk Menampilkan Antrian
- void printStack() {
- if (isEmpty()) {
- cout << "Antrian kosong";
- } else {
- // for (int i = Tumpukan.top; i >= 0; i--)
- // cout << " Nomor Antrian : " << Tumpukan.data[i] << ((i == 0) ? "" : ",");
- // cout << "\n Nama : " << Tumpukan.id.nama ;
- // cout << "\n Nomor Rekening : " << Tumpukan.id.no_rek;
- // cout << "\n Jenis Transaksi : " << Tumpukan.id.transaksi;
- // cout << "\n Nominal : " << Tumpukan.id.nominal;
- //
- for(int i = Tumpukan.top; i >= 0; i--){
- cout << "\n Nomor Antrian : " << Tumpukan.data[i];
- cout << "\n Nama : " << Tumpukan.id[i].nama ;
- cout << "\n Nomor Rekening : " << Tumpukan.id[i].no_rek;
- cout << "\n Jenis Transaksi : " << Tumpukan.id[i].transaksi;
- cout << "\n Nominal : " << Tumpukan.id[i].nominal;
- }
- }
- }
- int main() {
- // Deklarasi variable pilihan dan data bertipekan integer
- int pilihan, data;
- // Memanggil Fungsi Init
- init();
- // Melakukan / menjalankan perintah dari do
- do {
- // Memanggil Fungsi printStack
- // printStack();
- // Menampilkan Pilihan Menu
- cout << "1. Masukan Nomor Antrian\n"
- << "2. Hapus Data Antrian\n"
- << "3. Data Antrian\n"
- << "4. Keluar dari Menu Antrian\n"
- << "Masukkan Pilihan: ";
- // Menginput variable pilihan menu kedalam variable pilihan
- cin >> pilihan;
- // Menjalankan Kondisi dari Pilihan
- switch (pilihan) {
- // Jika inputan (pilihan) = 1 maka akan menjalankan kondisi dibawah
- case 1:
- // Menjalankan Fungsi Push // Menginput / menambahkan jumlah data antrian
- push();
- // untuk menghindari eksekusi dibawahnya
- break;
- // Jika inputan (pilihan) = 2 maka akan menjalankan kondisi dibawah
- case 2:
- // Menjalankan Fungsi Pop / Menghapus 1 data antrian
- pop();
- // untuk menghindari eksekusi dibawahnya
- break;
- // Jika inputan (pilihan) = 2 maka akan menjalankan kondisi dibawah
- case 3:
- // Menjalankan Fungsi printStack / Menampilkan data Antrian
- printStack();
- // untuk menghindari eksekusi dibawahnya
- break;
- // Jika inputan (pilihan) tidak sesuai dengan 3 kondisi diatas maka akan menjalankan kondisi dibawah
- default:
- // Menampilkan Pilihan tidak tersedia
- cout << "Pilihan tidak tersedia" << endl;
- // untuk menghindari eksekusi dibawahnya
- break;
- }
- } while (pilihan != 4); // Menjalankan kondisi pilihan jika kondisnya != 4.
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement