please ayudenme con este codigo
porfavor necesito corregir este codigo y no puedo dar con los errores lo quiero compìlar y ejecutar en borland c++ gracias por favor si me ayudan envienmelo a mi correo en archivos adjunto en .cpp a este correo [email protected]
gracias de todo corazon
este es el codigo tengo un error de compilacion y no he dado con el... ayudenme en borland c++ :
// clase usuario
class Usuario
{
protected:
char *nombre, *apellidos;
int CI;
public:
Usuario();
Usuario(char *aNombre, char *aApellidos, int aCI);
void setNombre(char *aNombre);
void setApellidos(char *aApellidos);
void setCI(int aCI);
char *getNombre();
char *getApellidos();
int getCI();
};
// implementacion de la clase usuario
Usuario::Usuario()
{
nombre= "";
apellidos= "";
CI= 0;
};
Usuario::Usuario(char *aNombre, char *aApellidos, int aCI)
{
nombre= new char[50];
strcpy(nombre,aNombre);
apellidos= new char[50];
strcpy(apellidos,aApellidos);
CI= aCI;
};
void Usuario::setNombre(char *aNombre)
{
nombre=aNombre;
};
void Usuario::setApellidos(char *aApellidos)
{
apellidos=aApellidos;
};
void Usuario::setCI(int aCI)
{
CI= aCI;
};
char *Usuario::getNombre()
{
return nombre;
};
char *Usuario::getApellidos()
{
return apellidos;
};
int Usuario::getCI()
{
return CI;
};
//-----------------------------------------------------------------------------------------------------------------
// clase Taxi
enum EDestino
{
Norte= 1, Sur, Oeste, Este, Litoral
};
enum EEStado
{
Reservado=1, Libre
};
class Taxi
{
protected:
EDestino ruta;
EEStado estado;
float pago;
public:
Taxi();
Taxi(EDestino aRuta);
void setRuta(EDestino aRuta);
EDestino getRuta();
void setEstado(EEStado aEstado);
EEStado getEstado();
};
// implentacion de la clase taxi
Taxi::Taxi()
{
};
Taxi::Taxi(EDestino aRuta)
{
ruta= aRuta;
};
void Taxi::setRuta(EDestino aRuta)
{
ruta= aRuta;
};
EDestino Taxi::getRuta()
{
return ruta;
};
void Taxi::setEstado(EEStado aEstado)
{
estado= aEstado;
};
EEStado Taxi::getEstado()
{
return estado;
};
//----------------------------------------------------------------------------------------------------------------
// clase Base (es la principal)
#include "taxi_vehiculo.h"
#include "usuario.h"
//---------------------------------------------------------------------------
// el estado del taxi es el 1, para Libre, y 2, para Ocupado
const int cant_maxi_usuarios= 1000;
typedef struct
{
Taxi taxi[15];
Usuario usuarios[cant_maxi_usuarios];
}SBase;
class Base
{
protected:
Taxi taxi[15];
Usuario usuarios[cant_maxi_usuarios];
int cant_usuarios;
int taxis_ocupados, taxis_libres;
public:
Base();
Base(SBase s);
void ReservarTaxi(Usuario usuario, EDestino ruta);
void CancelarTaxi(char *nombre, EDestino ruta);
int getCantidadTaxisLibres();
int getCantidadTaxisReservados();
int getCantidadUsuarios();
EEStado getSituacionTaxi(int posicion);
void EliminarUsuario(char *nombre);
bool Buscar(char *nombre);
SBase getRegistro();
};
// implementacion de la clase Base
Base::Base()
{
taxis_libres= 15;
taxis_ocupados= 0;
for (int i=0; i<getCantidadTaxisLibres();i++)
taxi[i].setEstado(Libre);
};
Base::Base(SBase s)
{
for (int i=0;i<cant_usuarios;i++)
{
usuarios[i]= s.usuarios[i];
taxi[i]= s.taxi[i];
}
};
void Base::ReservarTaxi(Usuario usuario, EDestino ruta)
{
if (getCantidadTaxisLibres()<= 15)
for (int i=0; i<getCantidadTaxisLibres();i++)
if (getSituacionTaxi(i)== 1)
{
usuarios[i]= usuario;
taxi[i].setRuta(ruta);
taxi[i].setEstado(Reservado);
taxis_libres--;
taxis_ocupados++;
}
else
throw "no se puede reservar";
};
void Base::CancelarTaxi(char *nombre, EDestino ruta)
{
for (int i=0;i<getCantidadTaxisReservados();i++)
if (taxi[i].getRuta()==ruta /* && usuarios[i]==usuario */)
taxi[i].setEstado(Libre);
EliminarUsuario(nombre);
};
int Base::getCantidadTaxisLibres()
{
for (int i=0; i<15;i++)
if (taxi[i].getEstado()== Libre)
taxis_libres++;
return taxis_libres;
};
int Base::getCantidadTaxisReservados()
{
for (int i=0; i<15;i++)
if (taxi[i].getEstado()== Reservado)
taxis_ocupados++;
return taxis_ocupados;
};
EEStado Base::getSituacionTaxi(int posicion)
{
return taxi[posicion].getEstado();
};
void Base::EliminarUsuario(char *nombre)
{
for (int i= 0;i<cant_usuarios;i++)
if (usuarios[i].getNombre()== nombre)
usuarios[i++]=usuarios[i];
cant_usuarios--;
};
bool Base::Buscar(char *nombre)
{
for (int i=0;i<cant_usuarios;i++)
if (usuarios[i].getNombre()== nombre)
return true;
return false;
};
int Base::getCantidadUsuarios()
{
return cant_usuarios;
};
SBase Base::getRegistro()
{
SBase s;
for (int i=0;i<cant_usuarios;i++)
{
s.taxi[i]= taxi[i];
s.usuarios[i]= usuarios[i];
}
return s;
};
//------------------------------------------------------------------------------------------------------------------
// programa principal
#include "base.h"
#include <iostream.h>
#include <conio.h>
//---------------------------------------------------------------------------
int menu();
int Reservar();
int Cancelar();
int Guardar();
int Leer();
Base base;
char nombre[50], apellidos[50];
int CI;
EDestino ruta;
Usuario nuevo;
Taxi taxi;
int main()
{
menu();
return 0;
}
//---------------------------------------------------------------------------
int menu()
{
char opcion;
cout<<" BASE DE TAXIS";
cout<<"nn 1. Reservar";
cout<<"n 2. Cancelar";
cout<<"n 3. Ver cantidad de usuarios";
cout<<"n 4. Guardar en archivo";
cout<<"n 5. Leer de archivo";
cout<<"n 6. Salir";
cout<<"nn su opcion es>> ";
cin>>opcion;
switch(opcion)
{
case 1:
clrscr();
Reservar();
break;
case 2:
clrscr();
Cancelar();
break;
case 3:
clrscr();
cout<<"han reservado "<<base.getCantidadUsuarios()<<"
usuario(s).n";
system("pause");
break;
case 4:
clrscr();
Guardar();
break;
case 5:
clrscr();
Leer();
break;
case 6:
exit(0);
}
return 0;
};
//---------------------------------------------------------------------------
int Reservar()
{
cout<<"deme a continuacion los datos del clienten";
cout<<"nombre>> ";
cin>>nombre;
nuevo.setNombre(nombre);
cout<<"napellidos>> ";
cin>>apellidos;
nuevo.setApellidos(apellidos);
cout<<"n ruta a seguir(Norte, sur, Oeste, Este, Litoral)>> ";
cin>> ruta;
taxi.setRuta(ruta);
base.ReservarTaxi(nuevo,ruta);
cout<<"n ud ha reservado.n";
system("pause");
return 0;
};
//---------------------------------------------------------------------------
int Cancelar()
{
clrscr();
cout<<"deme a continuacion los datos del clienten";
cout<<"nombre>> ";
cin>>nombre;
cout<<"napellidos>> ";
cin>>apellidos;
cout<<"deme la ruta>> ";
cin>>ruta;
if (base.Buscar(nombre)== false)
{
cout<<"el usuario no existe";
system("pause");
}
else
{
base.CancelarTaxi(nombre,ruta);
cout<<"nReservacion cancelada.n";
system("pause");
}
return 0;
};
gracias de todo corazon
este es el codigo tengo un error de compilacion y no he dado con el... ayudenme en borland c++ :
// clase usuario
class Usuario
{
protected:
char *nombre, *apellidos;
int CI;
public:
Usuario();
Usuario(char *aNombre, char *aApellidos, int aCI);
void setNombre(char *aNombre);
void setApellidos(char *aApellidos);
void setCI(int aCI);
char *getNombre();
char *getApellidos();
int getCI();
};
// implementacion de la clase usuario
Usuario::Usuario()
{
nombre= "";
apellidos= "";
CI= 0;
};
Usuario::Usuario(char *aNombre, char *aApellidos, int aCI)
{
nombre= new char[50];
strcpy(nombre,aNombre);
apellidos= new char[50];
strcpy(apellidos,aApellidos);
CI= aCI;
};
void Usuario::setNombre(char *aNombre)
{
nombre=aNombre;
};
void Usuario::setApellidos(char *aApellidos)
{
apellidos=aApellidos;
};
void Usuario::setCI(int aCI)
{
CI= aCI;
};
char *Usuario::getNombre()
{
return nombre;
};
char *Usuario::getApellidos()
{
return apellidos;
};
int Usuario::getCI()
{
return CI;
};
//-----------------------------------------------------------------------------------------------------------------
// clase Taxi
enum EDestino
{
Norte= 1, Sur, Oeste, Este, Litoral
};
enum EEStado
{
Reservado=1, Libre
};
class Taxi
{
protected:
EDestino ruta;
EEStado estado;
float pago;
public:
Taxi();
Taxi(EDestino aRuta);
void setRuta(EDestino aRuta);
EDestino getRuta();
void setEstado(EEStado aEstado);
EEStado getEstado();
};
// implentacion de la clase taxi
Taxi::Taxi()
{
};
Taxi::Taxi(EDestino aRuta)
{
ruta= aRuta;
};
void Taxi::setRuta(EDestino aRuta)
{
ruta= aRuta;
};
EDestino Taxi::getRuta()
{
return ruta;
};
void Taxi::setEstado(EEStado aEstado)
{
estado= aEstado;
};
EEStado Taxi::getEstado()
{
return estado;
};
//----------------------------------------------------------------------------------------------------------------
// clase Base (es la principal)
#include "taxi_vehiculo.h"
#include "usuario.h"
//---------------------------------------------------------------------------
// el estado del taxi es el 1, para Libre, y 2, para Ocupado
const int cant_maxi_usuarios= 1000;
typedef struct
{
Taxi taxi[15];
Usuario usuarios[cant_maxi_usuarios];
}SBase;
class Base
{
protected:
Taxi taxi[15];
Usuario usuarios[cant_maxi_usuarios];
int cant_usuarios;
int taxis_ocupados, taxis_libres;
public:
Base();
Base(SBase s);
void ReservarTaxi(Usuario usuario, EDestino ruta);
void CancelarTaxi(char *nombre, EDestino ruta);
int getCantidadTaxisLibres();
int getCantidadTaxisReservados();
int getCantidadUsuarios();
EEStado getSituacionTaxi(int posicion);
void EliminarUsuario(char *nombre);
bool Buscar(char *nombre);
SBase getRegistro();
};
// implementacion de la clase Base
Base::Base()
{
taxis_libres= 15;
taxis_ocupados= 0;
for (int i=0; i<getCantidadTaxisLibres();i++)
taxi[i].setEstado(Libre);
};
Base::Base(SBase s)
{
for (int i=0;i<cant_usuarios;i++)
{
usuarios[i]= s.usuarios[i];
taxi[i]= s.taxi[i];
}
};
void Base::ReservarTaxi(Usuario usuario, EDestino ruta)
{
if (getCantidadTaxisLibres()<= 15)
for (int i=0; i<getCantidadTaxisLibres();i++)
if (getSituacionTaxi(i)== 1)
{
usuarios[i]= usuario;
taxi[i].setRuta(ruta);
taxi[i].setEstado(Reservado);
taxis_libres--;
taxis_ocupados++;
}
else
throw "no se puede reservar";
};
void Base::CancelarTaxi(char *nombre, EDestino ruta)
{
for (int i=0;i<getCantidadTaxisReservados();i++)
if (taxi[i].getRuta()==ruta /* && usuarios[i]==usuario */)
taxi[i].setEstado(Libre);
EliminarUsuario(nombre);
};
int Base::getCantidadTaxisLibres()
{
for (int i=0; i<15;i++)
if (taxi[i].getEstado()== Libre)
taxis_libres++;
return taxis_libres;
};
int Base::getCantidadTaxisReservados()
{
for (int i=0; i<15;i++)
if (taxi[i].getEstado()== Reservado)
taxis_ocupados++;
return taxis_ocupados;
};
EEStado Base::getSituacionTaxi(int posicion)
{
return taxi[posicion].getEstado();
};
void Base::EliminarUsuario(char *nombre)
{
for (int i= 0;i<cant_usuarios;i++)
if (usuarios[i].getNombre()== nombre)
usuarios[i++]=usuarios[i];
cant_usuarios--;
};
bool Base::Buscar(char *nombre)
{
for (int i=0;i<cant_usuarios;i++)
if (usuarios[i].getNombre()== nombre)
return true;
return false;
};
int Base::getCantidadUsuarios()
{
return cant_usuarios;
};
SBase Base::getRegistro()
{
SBase s;
for (int i=0;i<cant_usuarios;i++)
{
s.taxi[i]= taxi[i];
s.usuarios[i]= usuarios[i];
}
return s;
};
//------------------------------------------------------------------------------------------------------------------
// programa principal
#include "base.h"
#include <iostream.h>
#include <conio.h>
//---------------------------------------------------------------------------
int menu();
int Reservar();
int Cancelar();
int Guardar();
int Leer();
Base base;
char nombre[50], apellidos[50];
int CI;
EDestino ruta;
Usuario nuevo;
Taxi taxi;
int main()
{
menu();
return 0;
}
//---------------------------------------------------------------------------
int menu()
{
char opcion;
cout<<" BASE DE TAXIS";
cout<<"nn 1. Reservar";
cout<<"n 2. Cancelar";
cout<<"n 3. Ver cantidad de usuarios";
cout<<"n 4. Guardar en archivo";
cout<<"n 5. Leer de archivo";
cout<<"n 6. Salir";
cout<<"nn su opcion es>> ";
cin>>opcion;
switch(opcion)
{
case 1:
clrscr();
Reservar();
break;
case 2:
clrscr();
Cancelar();
break;
case 3:
clrscr();
cout<<"han reservado "<<base.getCantidadUsuarios()<<"
usuario(s).n";
system("pause");
break;
case 4:
clrscr();
Guardar();
break;
case 5:
clrscr();
Leer();
break;
case 6:
exit(0);
}
return 0;
};
//---------------------------------------------------------------------------
int Reservar()
{
cout<<"deme a continuacion los datos del clienten";
cout<<"nombre>> ";
cin>>nombre;
nuevo.setNombre(nombre);
cout<<"napellidos>> ";
cin>>apellidos;
nuevo.setApellidos(apellidos);
cout<<"n ruta a seguir(Norte, sur, Oeste, Este, Litoral)>> ";
cin>> ruta;
taxi.setRuta(ruta);
base.ReservarTaxi(nuevo,ruta);
cout<<"n ud ha reservado.n";
system("pause");
return 0;
};
//---------------------------------------------------------------------------
int Cancelar()
{
clrscr();
cout<<"deme a continuacion los datos del clienten";
cout<<"nombre>> ";
cin>>nombre;
cout<<"napellidos>> ";
cin>>apellidos;
cout<<"deme la ruta>> ";
cin>>ruta;
if (base.Buscar(nombre)== false)
{
cout<<"el usuario no existe";
system("pause");
}
else
{
base.CancelarTaxi(nombre,ruta);
cout<<"nReservacion cancelada.n";
system("pause");
}
return 0;
};
