• Lunes 16 de Septiembre de 2019, 16:14

Autor Tema:  Mostrar en una cola estatica  (Leído 1134 veces)

angeljonh

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Mostrar en una cola estatica
« en: Lunes 2 de Octubre de 2017, 02:03 »
0
no se como implementar el código para que me muestre los datos de la cola cuando unos los ingresa desde un menu.

ajundo algoritmo


cola.h
Código: [Seleccionar]
#ifndef COLA_H
#define COLA_H

#include "lista.h"

template<class T>
class Cola
{
public:
    Cola();
    void Encolar(T item);
    void Descolar(void);
    int borrar();
    T Frente(void);
    T Final(void);
    T tamanio(void);
private:
    Lista<T> lista;
};


template<class T>
Cola<T>::Cola(){
}

template<class T>
void Cola<T>::Encolar(T item){
    lista.insertar(item);
    cout<<item<<endl;
}

template<class T>
void Cola<T>::Descolar(void){
    cout<<"Has desencolado un valor."<<endl;
    lista.borrar(lista.cantidad()-1);
}

template<class T>
T Cola<T>::Frente(void){;
    cout<<"Primera Posici\242n: ";
    return lista.posicion(0);

}

template<class T>
T Cola<T>::Final(void){
    cout<<endl;
    cout<<"Primera Posici\242n: ";
    return lista.posicion(lista.cantidad()-1);
}

template<class T>
T Cola<T>::tamanio(){
    return lista.posicion(lista.cantidad()%2);
}

template<class T>
int Cola<T>::borrar(){
    cout<<lista.posicion(0);
}
#endif // COLA_H


lista.h
Código: [Seleccionar]
#ifndef LISTA_H
#define LISTA_H
#define MAX 10

using namespace std;

template<class T>
class Lista
{
public:
    Lista();
    bool vacio();
    bool lleno();
    void insertar(T item);
    void insertar(T item,int posicion);
    int cantidad();
    void borrar(int posicion);
    T posicion(int posicion);
private:
    T arreglo[MAX];
    int contador;
};

template<class T>
Lista<T>::Lista(){
    contador=0;}

template<class T>
bool Lista<T>::vacio(){
    return contador==0;}

template<class T>
bool Lista<T>::lleno(){
    contador==MAX;}

template<class T>
void Lista<T>::insertar(T item){
    if(!lleno()){
        arreglo[contador]=item;
        contador++;}}

template<class T>
void Lista<T>::insertar(T item, int posicion){
    for(int i=contador;i>posicion;i++){
        arreglo[i]=arreglo[i+1];
    }
    arreglo[posicion]=item;
}

template<class T>
int Lista<T>::cantidad(){
    return contador;}

template<class T>
void Lista<T>::borrar(int posicion){
    for(int i=posicion;i<contador;i++){
         arreglo[i]= arreglo[i+1];
    }
    contador--;

}

template<class T>
T Lista<T>::posicion(int posicion){
    return arreglo[posicion];}


#endif // LISTA_H

principal

Código: [Seleccionar]
#include <iostream>
#include "cola.h"

using namespace std;


Cola<string> C;

int menu();

int main()
{
    menu();
    return 0;
}







int menu(void){
    string opc;
    int contador=0;
    while(true)
        {
        system("cls");
            cout << "\t1- Encolar" << endl;
            cout << "\t2- Imprimir" << endl;
            cout << "\t3- Consultar" << endl;
            cout << "\t4- Cancelar" << endl;
            cout << "\t5- Mostrar" << endl;
            cout << "\t6- Salir" << endl;
            cout << "Escoga opcion deseada:" << endl;

            getline(cin, opc);
            system("cls");
            if (opc == "1")
            {
                C.Encolar("Angel.txt");
                C.Encolar("Angel1.txt");
                C.Encolar("Angel2.txt");

                cout<<"Has encolado los documentos."<<endl;
                    system("pause");}
            else if (opc == "2")
            {
                C.Descolar();
                system("pause");
            }
            else if (opc == "3")
            {
                cout<<C.Final()<<endl;
                cout<<"siguiente:"<<C.tamanio();
                system("pause");
            }
            else if (opc == "4")
            {
                C.borrar();
            }
            else if (opc == "5")
            {

            }
            else if (opc == "6")
            {
                break;
            }
        }

        return 0;
    }