Version:0.9 StartHTML:0000000105 EndHTML:0000005358 StartFragment:0000000152 EndFragment:0000005324
/******************************************************/
/*************** Isidro Pastor Jorda ******************/
/*************** Noemi Ruth Moya Hinojo ***************/
/******************************************************/
/****************** Telematica ************************/
/******************** FPII ****************************/
/****************** Practica 4 ************************/
/******************************************************/
#include <iostream.h>
#include <stdlib.h>
#include "ColaE.h"
/*****************************************************************************
* Funcion: Cola
* Descripcion: Constructor de clase Cola
*
*
*
* Parametros:
*
* Nombre E/S Descripcion
* ------ ----- -----------
*
*
*
*
* Valor devuelto:
* Inicializa un objeto de la clase Cola
*****************************************************************************/
Cola::Cola()
{
inicio = 0;
fin = 0;
};
/*****************************************************************************
* Funcion: sig
* Descripcion: Funcion que devuelve el valor del siguiente elemento de la Cola circular
*
*
*
* Parametros:
*
* Nombre E/S Descripcion
* ------ ----- -----------
* x E Indice del que queremos hayar el siguiente elemento
*
*
*
* Valor devuelto:
* Un entero que sera la siguiente posicion de la Cola circular
*****************************************************************************/
int Cola::sig(int x)
{
return ( (x+1)%TALLAMAX);
}
/*****************************************************************************
* Funcion: Encolar
* Descripcion: Inserta un elemento al objeto de clase Cola que hace la llamada.
*
*
*
* Parametros:
*
* Nombre E/S Descripcion
* ------ ----- -----------
* x E Dato introducido en la Cola
*
*
*
* Valor devuelto:
* True si ha podido encolar el dato en el objeto, false en caso contrario
*****************************************************************************/
bool Cola::Encolar(Dato x)
{
bool ok;
if( sig(fin) == inicio)
ok = false;
else
{
ok = true;
Info[fin] = x;
fin = sig(fin);
}
return(ok);
};
/*****************************************************************************
* Funcion: Desencolar
* Descripcion: Elimina un elemento del objeto de clase Cola que hace la llamada.
*
*
*
* Parametros:
*
* Nombre E/S Descripcion
* ------ ----- -----------
*
*
*
*
* Valor devuelto:
* True si ha podido desencolar el dato en el objeto, false en caso contrario
*****************************************************************************/
bool Cola::Desencolar()
{
bool ok;
if(ColaVacia())
ok = false;
else
{
ok = true;
inicio = sig(inicio);
}
return(ok);
};
/*****************************************************************************
* Funcion: PrimeroCola
* Descripcion: Obtiene el primer elemento del objeto de clase Cola que hace la llamada.
*
*
*
* Parametros:
*
* Nombre E/S Descripcion
* ------ ----- -----------
* res E/S Variable donde almacenaremos el primer Dato de la Cola
*
*
*
* Valor devuelto:
* True si existe primer dato en el objeto, false en caso contrario.
*****************************************************************************/
bool Cola::PrimeroCola(Dato &res)
{
bool ok;
if(ColaVacia())
ok = false;
else
{
ok = true;
res = Info[inicio];
}
return(ok);
};
/*****************************************************************************
* Funcion: ColaVacia
* Descripcion: Nos indica si el objeto Cola que hace la llamada esta vacio.
*
*
*
* Parametros:
*
* Nombre E/S Descripcion
* ------ ----- -----------
*
*
*
*
* Valor devuelto:
* True si el objeto Cola esta vacia, false en caso contrario.
*****************************************************************************/
bool Cola::ColaVacia()
{
return(inicio == fin);
};