COLA EN C++
Programa que simula una cola en funciones
/* AUTOR:DTITO*/
#include <iostream.h>
#include <conio.h>
void pone(); //poner elementos en cola
void quita();// quitar o ocultar elementos de la cola
void impri();// imprimir cola origial y cola con datos eliminados
int i,cola[20],n,n2,a=-1,tope=0,r=0;
main()
{
char opc;
cout<< "Bienvenido ";
cout<< "\n\n Cuantos elementos desea cargar a la cola ";
cin>>n;// cantidad maxima d elementos d la cola
n2=n;// n2 =n para impriimir la cola con la cantidad d elementos q se introdujo
clrscr();
do
{
clrscr();
gotoxy(20,1);cout<<"***MENU***";
cout<<"\n\n[1] Ingresar datos\n[2] Sacar datos\n[3] Visualizar\n[4]salir\nEscoja su opcion---->";
cin>>opc;
while(opc!='1'&&opc!='2'&&opc!='3'&&opc!='4')
{
cout<<" NO ES UNA OPCION VALIDA X FAVOR INTRODUCE NUEVAMENTE ";
cin>>opc;
clrscr();
}
switch(opc)
{
case '1':pone();break;
case '2':quita();break;
case '3':impri();break;
default:cout<<" \n Hasta pronto .............";
}
}
while(opc!='4');
getch();
return 0;
}
void pone()
{
cout<<"\n\n ";
for(i=a;i<tope;i++)
{
if(tope==n)// se utilizaria como la variable bandera si la cola llena la bandera en cola llena es verdadera es lo mismo que el tope este = al max
{
cout<<"\n\n La cola esta llena";
}
else// sino cargo elos lementos
{
cout<<" Valor --->";
cin>>cola[tope]; //cola[tope] para q guarde cada uno de los elementos sigiendo de indice el tope
}
}
if(tope<n)// si el tope es menor q la n(cant max d lementos) se pueden segir metiendo elemntos
{
tope++;// invcrementa tope
a++; //varibale a para ocultar los datos
}
getch();
}
void quita()
{
for(i=a;i<tope;i++)
{
if(cola[i]==0||tope==0)// si el tope ==o entonces la cola esta vacia (acemos esto directo para no usar las varibles banderas hace el mismo procedimiento
{
cout<<" \n La cola esta vacia ";
}
else
{ //sino aumentamos la r++para q oculte el primer dato de la cola aumentamos n++para q si necesita insertar mas valores en la cola pueda acerlo y aumentamos n2++ para q se vizualize la cola con los demas elementos agregados
r++;
n++;
n2++;
}
}
getch();
}
void impri()
{
if(tope==0)
{
cout<<"\n\n La cola esta vacia "; // si el tope es igual a cero no imprime nada (como si utilizaron la bandera en cola vacia =true)
}
else// sino imprimimos la cola original cargada y la coa resultando con datos ocultados o borrados =)
{
cout<<"\n\n\n La cola original ";
for(i=0;i<n2;i++)
{
cout<<" ["<<cola[i]<<"]";
}
cout<<"\n\n\n Cola Resultante";
for(i=r;i<tope;i++)
{
cout<<" ["<<cola[i]<<"]";
}
}
getch();
}
// listo alguna duda dejen comentarios o escriban a ditito777@gmail.com




0 comentarios:
Publicar un comentario