C/Visual C - Como puedo mostrar y eliminar en una cola estática

 
Vista:
Imágen de perfil de angel

Como puedo mostrar y eliminar en una cola estática

Publicado por angel (16 intervenciones) el 02/10/2017 01:39:23
como puedo mostrar y eliminar en una cola estática, ya tengo los datos para insertar y mostrar el dato anterior pero mostrar todos los datos aun, y eliminar tampoco.

AYUDA

lista.h

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#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


Cola.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#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


Principal

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#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;
    }
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder