hola tengo que hacer un programa en c++ que me permita hacer reservaciones de un avion, pero si un puesto ya esta ocupado no puede ser asignado, y no logro hacer que me elimine a un pasajero esto es lo que tengo si alguien me puede ayudar se lo agradeceria
#include <iostream.h>
#include <string>
#include <conio.h>
#include <fstream>
class Nodo
{
public:
int Puesto,Edad;
string Nombre,Apellido,Telefono, Direccion,aux;
char Sexo;
Nodo *ptr;
};
template<class T>
class Lista
{
private:
Nodo *Datos;
Nodo *Pos;
Nodo *Fin;
float contsexo;
float length;
float porc;
public:
Lista();
~Lista();
float Length() const {return length;}
void Menu();
void Mostrar();
void Insertar();
void Eliminar();
void Modificar();
void Contar();
void Estadisticas();
};
template<class T>
Lista<T>::Lista()
{
Datos=NULL;
length=0;
contsexo=0;
}
template<class T>
Lista<T>::~Lista()
{
Pos=Datos;
while(Pos!=NULL)
{
Datos=Datos->ptr;
free(Pos);
Pos=Pos->ptr;
}
}
template<class T>
void Lista<T>::Menu()
{
cout << " 1Ingresar un nuevo pasajero"<< endl;
cout << " 2Borrar un pasajero"<< endl;
cout << " 3Listar los pasajeros"<< endl;
cout << " 4Cuantos pasajeros van"<< endl;
cout << " 5Estadisticas"<< endl;
cout << " 6Salir"<< endl <<endl;
cout << " Elija una opcion:__";
}
template<class T>
void Lista<T>::Insertar()
{
Pos=Datos;
string aux;
int aux2;
Nodo *Nuevo=new Nodo();
clrscr();
cout <<"Puesto: ";
cin>>aux2;
do
{
cout<<"puesto ya ocupado"<<endl<<"Puesto: ";
}while(aux2=Pos->Puesto);
//if (aux2=Pos->Puesto){
//cout<<"puesto ya ocupado";
//cout <<"Puesto: ";
//cin>>Nuevo->Puesto;
//}
//else
//cin>>Nuevo->Puesto;
getline(cin,aux);
cout <<"Nombre: ";
getline(cin,Nuevo->Nombre);
cout<<"Apellido: ";
cin>>Nuevo->Apellido;
cout<<"Edad: ";
cin>>Nuevo->Edad;
cout<<"Sexo: ";
cin>>Nuevo->Sexo;
cout<<"Telefono: ";
cin>>Nuevo->Telefono;
cout<<"Direccion: ";
cin>>Nuevo->Direccion;
if (Nuevo->Sexo=='M'||Nuevo->Sexo=='m')
contsexo++;
Nuevo->ptr=NULL;
length++;
if(Datos==NULL)
Datos=Nuevo;
else
Fin->ptr=Nuevo;
Fin=Nuevo;
}
template<class T>
void Lista<T>::Mostrar()
{
Pos=Datos;
clrscr();
do
{
cout <<"\n-----------------------------------------------------"<<endl;
cout <<" Puesto: "<<Pos->Puesto<<endl;
cout <<" Nombre: "<<Pos->Nombre<<endl;
cout <<" Apellido: "<<Pos->Apellido<< endl;
cout <<" Edad: "<<Pos->Edad<<endl;
cout <<" Sexo: "<<(Pos->Sexo=='M'?"Masculinio":(Pos->Sexo=='F'?"Femenino":"Todos los dias")) << endl;
cout <<" Telefono: "<<Pos->Telefono<<endl;
cout <<" Direccion: "<<Pos->Direccion<<endl;
Pos=Pos->ptr;
}while(Pos!=NULL);
getch();
}
template<class T>
void Lista<T>::Eliminar()
{
Nodo *Aux;
bool Band=0;
int Puesto;
clrscr();
cout <<"Puesto a eliminar: "; cin>>Puesto;
Pos=Datos;
Aux->ptr=Pos;
if(Puesto=Pos->Puesto)
{
Aux->ptr=Pos->ptr;
Pos->ptr=NULL;
free(Pos);
Band=1;
length--;
}
else{
Pos=Pos->ptr;
Aux=Aux->ptr;
cout <<"\n\n\nNo se encontro registro...";
}
getch();
}
template<class T>
void Lista<T>::Estadisticas()
{
float disp;
disp=80-length;
porc=100*contsexo/length;
clrscr();
cout<<endl<<endl<<" ESTADISTICAS"<<endl;
cout<<endl<<"_____________________________________ _______________________________"
<<endl<<endl<<endl;
cout<<" EL numero de puestos disponibles es: "<<disp<<endl;
cout<<" El numero de puestos tomados es: "<<length<<endl;
cout<<" El porcentaje de hombres al que se le ha asignado silla es el : "<<porc<<" porciento"<<endl;
cout<<" El porcentaje de mujeres al que se le ha asignado silla es el : "<<100-porc<<" porciento"<<endl;
getch();
}
template<class T>
void Lista<T>::Contar()
{
clrscr();
cout<<endl<<" El numero de puestos asignados es: "<<length;
getch();
}