Parqueo Publico.cpp:(.text+0x1e2): undefined reference to `Transporte::Aparcarvehiculo(int (*) [10], int*, int*)'
Parqueo Publico.cpp:(.text+0x217): undefined reference to `Transporte::RetirarVehiculo(int (*) [10], int*, int*)'
No comprendo a que se quiere referir... Agradeceré de antemano toda la ayuda que me puedan dar
Código
#include<iostream> #include<stdlib.h> #include<fstream> #define NumF 10 #define NumC 10 using namespace std; ofstream archivo("Registros_Parqueo.txt"); class Transporte { public: Transporte () {}; string nombre; string placa; int Entrada; int Ubicacion; string codigo; void Ingreso(); void Aparcarvehiculo(int[10][10],int*,int*); void Ticket(); void RetirarVehiculo(int[10][10],int*,int*); }; class carro : public Transporte{ public: int CantCarro; carro(){}; }; class moto : public Transporte{ public: int CantMoto; moto(){}; }; int PuestosLIbres(int Parqueo[NumF][NumC]) { int nLibres=0; for(int fila=0;fila<NumF;fila++) for(int columna=0;columna<NumC;columna++) if(Parqueo[fila][columna]== 0) nLibres++; return nLibres; } int MostrarMenu(void) { int Op; system("CLS"); cout<<"\t \t \tMENU:\n\t 1)Ingreso de datos \n\t 2)Aparcar el vehiculo \n\t 3)Retirar un Vehiculo \n\t 4)Impresion de ticket \n\t 5)Salida \n Digite su opcion: "; cin>>Op; return Op; } int main(){ Transporte registro; int nLibres,nOcupadas=0,Op; // Donde estan los 1, ya hay un vehiculo estacionado... // Donde es cero esta disponible para cualquier vehiculo... int parqueo[10][10]={{1,0,0,0,1,0,0,1,0,0}, {1,1,1,1,1,1,1,1,0,0}, {1,0,0,0,0,0,0,1,0,0}, {0,0,0,0,0,0,0,0,0,0}, {1,0,0,0,1,0,0,1,0,0}, {1,1,1,1,1,1,1,1,1,1}, {1,0,0,1,0,1,0,1,0,1}, {1,1,1,1,1,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0}, {1,1,1,1,1,1,1,1,1,1}}; nLibres=PuestosLIbres(parqueo); do{ Op=MostrarMenu(); switch (Op){ case 1:{ system("cls"); cout <<"INGRESO DE DATOS:"<<endl; registro.Ingreso(); system("PAUSE"); break; } case 2:{ cout <<"APARCAR EL VEHICULO:"<<endl; system("cls"); registro.Aparcarvehiculo(parqueo,&nLibres,&nOcupadas); break; } case 3:{ system("cls"); registro.RetirarVehiculo(parqueo,&nLibres,&nOcupadas); system("PAUSE"); cout <<"HISTORIAL:"<<endl; break; } case 4:{ system("cls"); cout <<"IMPRESION DE TICKET:"<<endl; registro.Ticket(); system("PAUSE"); break; } case 5:{ system("cls"); exit (0); break; } default: cout << "Opcion incorrecta, escriba una nueva opcion: "; cin>>Op; system("PAUSE"); } }while(Op != 1); return 0; } //INGRESO DE LOS DATOS DEL VEHICULO void Transporte::Ingreso(){ int tipo; char res; moto Moto; carro Carro; ofstream archivo; archivo.open("Registros_Parqueo", ios::out); cout<<"\t \t \t BIENVENIDO"; do{ cout<<"\n \t Tipo Vehiculo: <1> Moto <2> Carro: "; cin>>tipo; if(tipo== 1){ cout<<"\n Digite la hora de entrada: "; cin>>Moto.Entrada; cout<<"\n Digite el nombre del dueño (Inicial del nombre y appellido): "; cin>>Moto.nombre; cout<<"\n Digite la placa: "; cin>>Moto.placa; cout<<"\n Digite el codigo (Inicial del nommbre, numeros de la placa): "; cin>>Moto.codigo; archivo<<"\n \n \t ************************************\t "; archivo<<"\n \t ** RESUMEN INGRESO **\t "; archivo<<"\n \t ************************************\t "; archivo<<"\n \t * Ingreso: "<<Moto.codigo; archivo<<"\n \t * Tipo Vehiculo: "<<tipo; archivo<<"\n \t * Placa: "<<Moto.placa; archivo<<"\n \t * Nombre: "<<Moto.nombre; archivo<<"\n \t * Ingreso: "<<Moto.Entrada; archivo<<"\n \t ************************************\t "; archivo.close(); } else if(tipo== 2){ cout<<"\n \t Digite la hora de entrada: "; cin>>Carro.Entrada; cout<<"\n \t Digite el nombre del dueño: "; cin>>Carro.nombre; cout<<"\n \t Digite la placa: "; cin>>Carro.placa; cout<<"\n Digite el codigo (Inicial del nommbre, numeros de la placa): "; cin>>Carro.codigo; archivo<<"\n \n \t ************************************\t "; archivo<<"\n \t ** RESUMEN INGRESO **\t "; archivo<<"\n \t ************************************\t "; archivo<<"\n \t * Ingreso: "<<Carro.codigo; archivo<<"\n \t * Tipo Vehiculo: "<<tipo; archivo<<"\n \t * Placa: "<<Carro.placa; archivo<<"\n \t * Nombre: "<<Carro.nombre; archivo<<"\n \t * Ingreso: "<<Carro.Entrada; archivo<<"\n \t ************************************\t "; archivo.close(); } cout<<"\n \n Realizara otro ingreso?: <S/N>"; cin>>res; }while(res=='S'||res=='s'); } //UBICACION DONDE SE ENCONTRARA EL VEHICULO void Aparcarvehiculo(int Parqueo[10][10],int *nLibres,int *nOcupadas) { bool estacionado; int fila,columna; cout <<"-|P01|-|P02|-|P03|-|P04|-|P05|-|P06|-|P07|-|P08|-|P09|-|P10|-"; cout <<"-|P11|-|P12|-|P13|-|P14|-|P15|-|P16|-|P17|-|P18|-|P19|-|P20|-"; cout <<"-|P21|-|P22|-|P23|-|P24|-|P25|-|P26|-|P27|-|P28|-|P29|-|P30|-"; cout <<"-|P31|-|P32|-|P33|-|P34|-|P35|-|P36|-|P37|-|P38|-|P39|-|P40|-"; cout <<"-|P41|-|P42|-|P43|-|P44|-|P45|-|P46|-|P47|-|P48|-|P49|-|P50|-"; cout <<"-|P51|-|P52|-|P53|-|P54|-|P55|-|P56|-|P57|-|P58|-|P59|-|P60|-"; cout <<"-|P61|-|P62|-|P63|-|P64|-|P65|-|P66|-|P67|-|P68|-|P69|-|P70|-"; cout <<"-|P71|-|P72|-|P73|-|P74|-|P75|-|P76|-|P77|-|P78|-|P79|-|P80|-"; cout <<"-|P81|-|P82|-|P83|-|P84|-|P85|-|P86|-|P87|-|P88|-|P89|-|P90|-"; cout <<"-|P91|-|P92|-|P93|-|P94|-|P95|-|P96|-|P97|-|P98|-|P99|-|P100|-"; if(*nLibres > 0){ do{ cout<<"\t \t \t BIENVENIDO"; estacionado = false; cout << "Introduce el numero de la fila: "; cin >> fila; cout << "Introduce el numero de la columna: "; cin >> columna; switch(Parqueo[fila][columna]) { case 1: Parqueo[fila][columna]=1; (*nLibres)--; (*nOcupadas)++; estacionado= true; cout << "El lugar se encuentra disponible" << endl; break; case 2: cout << "Plaza ya ocupada" << endl; break; default: cout << "Digite una posición correcta" << endl; } }while(estacionado != true); }else{ cout << "No quedan plazas libres" << endl; } } //RETIRO DEL VEHICULO void RetirarVehiculo(int parqueo[10][10],int *nLibres,int *nOcupadas) { bool liberado; int fila,columna; if(*nOcupadas > 0){ do{ liberado = false; cout << "Introduce el numero de la fila: "; cin >> fila; cout << "Introduce el numero de la columna: "; cin >> columna; if(parqueo[fila][columna]==1){ parqueo[fila][columna]=0; liberado=true; (*nLibres)++; (*nOcupadas)--; cout << "El vehiculo se retiro satisfactoriamente" << endl; }else{ cout << "Intentelo de nuevo" << endl; } }while(liberado == false); }else{ cout << "El parque esta vacio" << endl; } } //TICKET DE CUENTA DEL VEHICULO void Transporte::Ticket(){ string texto; ifstream archivo; archivo.open("Registros_Parqueo", ios::in); while(!archivo.eof()){ getline(archivo,texto); cout<<texto<<endl; } archivo.close(); }