Crear Lista con funciones y clases - Trucodigo

Crear Lista con funciones y clases




hola Trucodigueros a peticion de sutedes les traigo este ejemplo de como usar clases para crear una lista y ademas con algunas funciones como agregar dato, eliminar, buscar etc espero les guste


#include <iostream>
#include <stdlib.h>

using namespace std;

class lista
{
private:
int a[5];
int n;
int cont;

public:
lista();
void mostrar_lista();
void mostrar_elemento(int);
void buscar(int);
void aniadir(int);
void insertar(int,int);
void eliminar_dato(int);
void eliminar_posicion(int);
};

lista::lista()
{
n=5;
cont=0;
}

void lista::mostrar_lista()
{
if(cont==0)
cout << "Lista vacia" << endl;
else
{
cout << "Lista: ";
for(int i=0; i<cont; i++)
cout << a[i] << ", ";
cout << endl;
}
}

void lista::mostrar_elemento(int posicion)
{
if(cont==0)
cout << "Lista vacia" << endl;
else
{
if(posicion>0 && posicion<cont)
cout << "El dato en la posicion " << posicion << " es: " << a[posicion-1] << endl;
}
}

void lista::buscar(int elemento)
{
if(cont==0)
cout << "Lista vacia" << endl;
else
{
bool encontrado=false;

for(int i=0; i<cont; i++)
{
if(a[i]==elemento)
encontrado=true;
}

if(encontrado)
cout << "Se encontro" << endl;
else
cout << "No se encontro" << endl;
}
}

void lista::aniadir(int elemento)
{
if(cont==n)
cout << "Lista llena" << endl;
else
{
a[cont]=elemento;
cont++;
cout << "Dato agregado" << endl;
}
}

void lista::insertar(int dato, int posicion)
{
if(cont==n)
cout << "Lista llena" << endl;
else
{
if(posicion>0&&posicion<=cont+1)
{
for(int i=cont; i>=posicion; i--)
a[i]=a[i-1];
a[posicion-1]=dato;
cont++;
cout << "Dato Insertado Correctamente..." << endl;
}
else
cout << "Posicion No Valida..." << endl;
}
}

void lista::eliminar_posicion(int posicion)
{
if(cont==0)
cout << "Lista vacia" << endl;
else
{
if(posicion>0&&posicion<=cont)
{
for(int i=posicion-1; i<=cont-1; i++)
a[i]=a[i-1];
cont--;
cout << "Dato Eliminado Correctamente..." << endl;
}
else
cout << "Posicion No Valida..." << endl;
}
}

void lista::eliminar_dato(int dato)
{
if(cont==0)
cout << "Lista vacia" << endl;
else
{
for(int i=0; i<cont; i++)
{
if(a[i]==dato)
a[i]=NULL;
}
}
}


int main()
{
lista x;
int dato, pos;
char resp;

lista();
do
{
cout << endl;
cout << "Funciones en una lista..." << endl << endl;
cout << "+---------------------+-----------------+---" << endl;
cout << "\t" << "ACCION" << "\t" << "\t" << "\t" << "OPCION" << endl;
cout << "+---------------------+-----------------+---" << endl;
cout << "\t" << "Mostrar Lista" << "\t" << "\t" << "l" << endl;
cout << "\t" << "Mostrar Elemento" << "\t" << "e" << endl;
cout << "\t" << "Buscar Dato" << "\t" << "\t" << "b" << endl;
cout << "\t" << "Aniadir Dato" << "\t" << "\t" << "a" << endl;
cout << "\t" << "Insertar Dato" << "\t" << "\t" << "i" << endl;
cout << "\t" << "Eliminar Dato" << "\t" << "\t" << "z" << endl;
cout << "\t" << "Eliminar Posicion" << "\t" << "x" << endl;
cout << "\t" << "Salir" << "\t" << "\t"<< "\t" << "s" << endl;
cout << "Que deseas realizar? ";
cin >> resp;


switch(resp)
{
case 'l':
cout << "+-------------------+" << endl;
cout << "Mostrar lista" << endl;
cout << "+-------------------+" << endl << endl;
x.mostrar_lista();
system("pause");
system("cls");
system("color 5f");
break;

case 'e':
cout << "+-------------------+" << endl;
cout << "Mostrar elemento" << endl;
cout << "+-------------------+" << endl << endl;
cout << "Ingrese la posicion que desea que se muestre: ";
cin >> pos;
x.mostrar_elemento(pos);
system("pause");
system("cls");
system("color 2f");
break;

case 'b':
cout << "+-------------------+" << endl;
cout << "Buscar dato" << endl;
cout << "+-------------------+" << endl << endl;
cout << "Ingrese el dato a buscar.." << endl;
cin >> dato;
x.buscar(dato);
system("pause");
system("cls");
break;

case 'a':
cout << "+-------------------+" << endl;
cout << "Aniadir Dato" << endl;
cout << "+-------------------+" << endl << endl;
cout << "Ingrese el dato que desea ingresar.." << endl;
cin >> dato;
x.aniadir(dato);
system("pause");
system("cls");
system("color 3f");
break;

case 'i':
cout << "+-------------------+" << endl;
cout << "Insertar Dato" << endl;
cout << "+-------------------+" << endl << endl;
cout << "Ingrese el dato que desea insertar y la posicion.." << endl;
cout << "Dato: ";cin >> dato;
cout << "Posicion: ";cin >> pos;
x.insertar(dato,pos);
system("pause");
system("cls");
system("color 4f");
break;

case 's':
cout << "+-------------------+" << endl;
cout << "Usted esta saliendo......Gur Bais!!! :D" << endl;
system("pause");
break;

case 'z':
cout << "+-------------------+" << endl;
cout << "Eliminar Dato" << endl;
cout << "+-------------------+" << endl << endl;
cout << "Ingrese el dato que desea eliminar.." << endl;
cout << "Dato: ";cin >> dato;
x.eliminar_dato(dato);
system("pause");
system("cls");
system("color 6f");
break;

case 'x':
cout << "+-------------------+" << endl;
cout << "Eliminar Posicion" << endl;
cout << "+-------------------+" << endl << endl;
cout << "Ingrese la posicion que desea eliminar.." << endl;
cout << "Posicion: ";cin >> pos;
x.eliminar_posicion(pos);
system("pause");
system("cls");
system("color 5f");
break;
}

}while(resp!='s');


return 0;
}


Tags
Opciones
Estadísticas
Creado 03.09.2016 a las 05:19 hs
Categoría C++
  • 0
    Medallas
  • 0
    Favoritos
  • 898
    Visitas
  • 0
    Puntos
  • 0
    Seguidores
Posts relacionados
Comentarios
0
Cargando comentarios espera un momento...
No tienes permisos para comentar.

Para poder comentar necesitas estar Registrado. O.. ya tienes usuario? Logueate!
Patrocinador
Autor del post
Ver perfil de Omaredomex Omaredomex
Hombre Administrador  Mensaje
0 81 2
Medallas
No tiene medallas
Últimos visitantes