Senin, 14 Desember 2015
stak borland C++
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
char tumpukan[10];
int atas, i;
char jawab, masukan, e;
void speed();
void push1()
{
for(i=0;i<=17;i++)
{
gotoxy(23,9);cout<<" ";
gotoxy(24,9);cout<<masukan;speed();
}
for(i=1;i<=(14-atas);i++)
{
speed();
gotoxy(24,9+i);cout<<" ";
gotoxy(24,10+i);cout<<masukan;
}
}
void pop1(char masukan)
{
for(i=1;i<=(14-atas);i++)
{
speed();
gotoxy(24,25-i-atas);cout<<" ";
gotoxy(24,24-i-atas);cout<<masukan;
}
for(i=1;i<=40;i++)
{
speed();
gotoxy(23+i,10);cout<<" ";
gotoxy(24+i,10);cout<<masukan;speed();
}
gotoxy(58,7);cout<<" ";
}
void push(char e)
{
atas=atas+1;
tumpukan[atas]=e;
push1();
}
void pop(char e)
{
if(atas !=0)
{
gotoxy(1,10);cout<<" "<<endl;
e=tumpukan[atas];
pop1(e);
atas=atas-1;
}
else
{
gotoxy(20,9);cout<<"\t\tstack kosong\t\t"<<endl;
gotoxy(1,7);
}
}
void main()
{
clrscr();
gotoxy(30,1);cout<<"PROGRAM STACK; PUSH & POP"<<endl;
gotoxy(10,2);for(int a=0;a<=60;a++) { cout<<"="; } cout<<endl;
gotoxy(12,3);cout<<"tekan opsi!"; gotoxy(12,4);cout<<"(1,2,3,4)";
gotoxy(14,6);cout<<"=>";
for (int b=0;b<=4;b++) { gotoxy(10,3+b);cout<<"|"; }
for (int c=0;c<=4;c++) { gotoxy(28,3+c);cout<<"|"; }
for (int c=0;c<=4;c++) { gotoxy(71,3+c);cout<<"|"; }
gotoxy(11,7);for (int d=0;d<=16;d++) { cout<<"_"; }
gotoxy(29,7);for (int d=0;d<=41;d++) { cout<<"_"; }
gotoxy(30,3);cout<<"1. --> push / masukan data"<<endl;
gotoxy(30,4);cout<<"2. --> pop / mengambil data"<<endl;
gotoxy(30,5);cout<<"3. --> clear / membersihkan data"<<endl;
gotoxy(30,6);cout<<"4. --> exit / keluar"<<endl;
clear:
gotoxy(59,9);cout<<"-";
gotoxy(59,12);cout<<"-";
gotoxy(21,13);cout<<"|| ||";
for(i=1;i<=11;i++)
{
gotoxy(22,13+i);
if(i==11)
cout<<"|____|";
else
cout<<"| |";
}
atas=0;
do
{
input:
gotoxy(18,6);jawab=getche();
if(int(jawab)==27||jawab=='4')
break;
else if(jawab=='1')
{
if(atas!=11)
{
gotoxy(28,9);cout<<"<-- masukan suatu huruf : ";
gotoxy(24,9);cin>>masukan;
push(masukan);
gotoxy(1,10);cout<<" ";
}
else
{
gotoxy(20,9);cout<<"\t\tstack penuh\t\t";
getch();
gotoxy(1,10);cout<<" ";
}
}
else if(jawab=='2')
{
pop(masukan);
}
else if(jawab=='3')
goto clear;
else
goto input;
}
while(1);
getch();
}
void speed()
{
for(int y=1;y<77;y++)
for(int x=1;x<77;x++)
for(int p=1;p<77;p++)
cout<<"";
}
sumber: ALBERTUS AGUNG RAHARJA
STMIK NUSA MANDIRI
SI
Langganan:
Posting Komentar (Atom)
tolong sertakan referensi teori yang diambil
BalasHapus