1. Instituto universitario politécnico
“Santiago Mariño”
Extensión Porlamar
Escuela de ingeniería de sistemas
Estructura de datos
Ejercicio de Listas simples
Bachiller:
Placencio Johana
C.I:19.909.628
Prof. Maria Langone
Porlamar, Febrero
2. #include "Lista.h"
#include "Carro.h"
#include "Furgoneta.h"
#include "Camion.h"
#include "Moto.h"
using namespace std;
Lista::Lista()
{
//aqui es cabeza = 0 y tama = o
cabeza = 0;
tama = 0;
}
bool Lista::existeElemento(string dato)
{
Nodo *actual = cabeza;
while(actual!=0)
if(actual->verDato()->verPlaca()==dato)
return true;
else
actual = actual->verSiguiente();
return false;
}
int tipos()
{
int tipo;
cout<<"Seleccione el tipo de vehiculo"<<endl;
cout<<"1 Carro"<<endl;
cout<<"2 Moto"<<endl;
cout<<"3 Furgoneta"<<endl;
cout<<"4 Camion"<<endl;
cin>>tipo;
return tipo;
3. }
void Lista::agregarNodo()
{
string placa,color,marca,modelo;
cout<<"Ingresar placa del auto"<<endl;
cin>> placa;
cout<<"Ingresar color del auto"<<endl;
cin>> color;
cout<<"Ingresar marca del auto"<<endl;
cin>> marca;
cout<<"Ingresar modelo del auto"<<endl;
cin>> modelo;
Vehiculos * vehiculo;
switch(tipos())
{
case 1: vehiculo = new Carro(placa,color,marca,modelo);break;
case 2: vehiculo = new Moto(placa,color,marca,modelo);break;
case 3: vehiculo = new
Furgoneta(placa,color,marca,modelo);break;
case 4: vehiculo = new Camion(placa,color,marca,modelo);break;
default:
cout<<"Tipo de vehiculo desconocido.nVehiculo no
agregado!"<<endl;
return;
}
agregarNodo(new Nodo(vehiculo));
}
Lista& Lista::operator<<(Nodo* dato)
{
if(cabeza==0) cabeza = dato;
Nodo *actual = cabeza;
for(int i=1; i<tama;i++)
actual = actual->verSiguiente();