Belajar Logika Stack


STACK

Hallo guys…
Ini adalah contoh program stack.
Stuck adalah tumpukan. Jadi ketika kalian menginputkan akan menginput yang paling atas. Begitu pula jika kalian ingin menghapus, yang dihapus adalah yang paling atas.
Seperti ketika kalian menumpuk pakaian. Jika kalian ingin mengambil pakaian pasti yang akan diambil yang atas dulu. Begitu juga sebaliknya.
Oke langsung aja ke programnya.

#include <iostream>
#include <conio.h>
#include <windows.h>
using namespace std;

struct identitas
{
   char nama[30];

}login[5];

main()
{
    int pilih;
    int batas=0;
    int min=0;
    int max=5;

    A:
    cout<<"___________________\n";
    cout<<" 1. Push Name \n";
    cout<<" 2. Pop  Name \n";
    cout<<" 3. view \n";
    cout<<" 4. exit \n";
    cout<<"___________________\n";
    cout<<" masukkan pilihan : ";
    cin>>pilih;
    cin.sync();

    if (pilih == 1)
    {
        if(batas == max)
        {
            cout<<" stack penuh "<<endl;
            getch();
            system("cls");
            goto A;
        }
        else
        {
            cout<<" Input Nama : ";
            cin.getline(login[batas].nama,30);
            batas++;
        }
        system("cls");
        goto A;
    }
    else if(pilih== 2)
    {
        if(batas == min)
        {
            cout<<" Stuck kosong "<<endl;
            getch();
            system("cls");
            goto A;
        }
        else
        {
            batas--;
            cout<<" Data yang dihapus ( "<<login[batas].nama<<" )"<<endl;
            getch();
            system("cls");
            goto A;
        }
    }
    else if(pilih == 3)
    {
      if(batas==min)
        {
            cout<<" Data Kosong\n";
        }

      else
      {
            cout<<"___________________\n";
            cout<<"------ DATA -------\n";
            cout<<"___________________\n";
        for(int x=batas-1;x>=0;x--)
        {
            cout<<login[x].nama<<endl;
        }
            cout<<"___________________\n";
      }

            getch();
            system("cls");
            goto A;
    }
    else
    {
        cout<<"___________________\n";
        cout<<"------ FINISH -----\n";
        cout<<"___________________\n";
    }
   system("pause");
}

Comments

Popular posts from this blog

Program Perpustakaan Sederhana C++

Cara Membuat Pola Perkalian Menurun pada C++

Cara Membuat Pola Huruf Berurutan Dalam C++