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--;
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
{
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");
system("pause");
}
Comments
Post a Comment