Hola yoel_alejandro gracias por contestar ahora lo leeo
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú#include "Camion.h"
#include <iostream>
#include <iomanip>
#include <string>
using namespace std;
Camion::Camion (int idCam, int cilindrajeCam, int puertasCam, int anioCam,
double precioCam, string marcaCam, string modeloCam,
string colorCam)
{
idCamion = idCam;
cilindrajeCamion = cilindrajeCam;
nPuertasCamion = puertasCam;
anioCamion = anioCam;
precioCamion = precioCam;
marcaCamion = marcaCam;
modeloCamion = modeloCam;
colorCamion = colorCam;
Maximo =100;
cantidadDeCamiones =0;
}
//Funciones set
void Camion::setIdCamion(int idCam)
{
idCamion = idCam;
}
void Camion::setCilindrajeCamion(int cilindrajeCam)
{
cilindrajeCamion = cilindrajeCam;
}
void Camion::setNPuertasCamion(int puertasCam)
{
nPuertasCamion = puertasCam;
}
void Camion::setanioCamion(int anioCam)
{
anioCamion = anioCam;
}
void Camion::setPrecioCamion(double precioCam)
{
precioCamion = precioCam;
}
void Camion::setMarcaCamion(string marcaCam)
{
marcaCamion = marcaCam;
}
void Camion::setModeloCamion(string modeloCam)
{
modeloCamion = modeloCam;
}
void Camion::setColorCamion(string colorCam)
{
colorCamion = colorCam;
}
//Funciones get
int Camion::getIdCamion() const
{
return idCamion;
}
int Camion::getCilindrajeCamion() const
{
return cilindrajeCamion;
}
int Camion::getnPuertasCamion() const
{
return nPuertasCamion;
}
int Camion::getanioCamion()const
{
return anioCamion;
}
double Camion::getPrecioCamion() const
{
return precioCamion;
}
string Camion::getMarcaCamion() const
{
return marcaCamion;
}
string Camion::getModeloCamion() const
{
return modeloCamion;
}
string Camion::getColorCamion() const
{
return colorCamion;
}
//Ingresa un nuevo camion
void Camion::ingresarCamion()
{
listaDeCamiones = new Camion*[Maximo];// arreglo de 100
if (cantidadDeCamiones < Maximo)
{
system("cls");
cout << "Ingrese los datos del camion\n";
cout << "Ingrese el ID del camion: ";
cin >> idCamion;
cout << "Ingrese la Marca del Camion: ";
cin >> marcaCamion;
cout << "Ingrese el Modelo del camion: ";
cin >> modeloCamion;
cout << "Ingrese el año del Camion: ";
cin >> anioCamion;
cout << "Ingrese el cilindraje del camion: ";
cin >> cilindrajeCamion;
cout << "Ingrese el numero de puertas: ";
cin >> nPuertasCamion;
cout << "Ingrese el color del camion: ";
cin >> colorCamion;
cout << "Ingrese el presio del camion: ";
cin >> precioCamion;
listaDeCamiones[cantidadDeCamiones] =
new Camion(idCamion, cilindrajeCamion,
nPuertasCamion, anioCamion,
precioCamion, marcaCamion,
modeloCamion,colorCamion);
cantidadDeCamiones++;
cout << endl <<"Los datos del camion fueron ingresados correctamente\n";
}
else
{
system("cls");
cout << "Ya no hay espacio disponible para mas camiones\n";
}
}
//Muestra los datos del camion
void Camion::flistaDeCamiones()
{
if (cantidadDeCamiones==0)
{
system("cls");
cout<<"No se a registrado ninguna Camion todavía"<<endl;
}
else
{
cout<<"..:::Lista de Camiones:::.."<<endl<<endl;
cout << setw(10)<<"Id Camion"<<setw(15)<<"Modelo"<<setw(15)<<"marca"<<endl;
cout<<"================================================="<<endl;
//Imprimmir todos los camiones almacenadas en el arreglo
for (int i=0; i<cantidadDeCamiones; i++)
{
listaDeCamiones[i]->imprimir(); //PROBLEMA Y NO LO IDENTIFICO
}
cout<<endl<<"*******Fin de la lista **********"<<endl<<endl;
}
}
//Busca ese camion
int Camion::buscarCamion(int codigo)
{
for (int i=0; i < cantidadDeCamiones; i++)
{
if(listaDeCamiones[i]->getIdCamion() == codigo)
{
return i;
}
}
return -1;
}
//Modifica ese Camion.
void Camion::modificarCamion()
{
if (cantidadDeCamiones == 0)
{
system("cls");
cout << "No se ha registrado ningun camion tadavia\n";
}
else
{
cout << "Modificar Camion\n\n";
int codigoCamion;
cout << "Ingrese el codigo del camion: ";
cin >> codigoCamion;
int ubicacion = buscarCamion(codigoCamion);
if (ubicacion == -1)
{
cout << "Lo sentimos ese codigo del camion no existe\n";
}
else
{
cout << "El codigo se encontro\n\n";
cout << setw(10)<<"Id"<<setw(15)<<"Modelo"<<setw(15)<<"marca"<<endl;
cout<<"================================================="<<endl;
listaDeCamiones[ubicacion]->imprimir();
cout << "\n\n";
cout << "Ingrese los nuevos datos del Camion\n\n";
cout << "Marca";
cin >> marcaCamion;
cout << "Modelo del camion: ";
cin >> modeloCamion;
cout << "Año del Camion: ";
cin >> anioCamion;
cout << "Cilindraje del camion: ";
cin >> cilindrajeCamion;
cout << "numero de puertas: ";
cin >> nPuertasCamion;
cout << "Color del camion: ";
cin >> colorCamion;
cout << "Presio del camion: ";
cin >> precioCamion;
listaDeCamiones[ubicacion]->setMarcaCamion(marcaCamion);
listaDeCamiones[ubicacion]->setModeloCamion(modeloCamion);
listaDeCamiones[ubicacion]->setanioCamion(anioCamion);
listaDeCamiones[ubicacion]->setCilindrajeCamion(cilindrajeCamion);
listaDeCamiones[ubicacion]->setNPuertasCamion(nPuertasCamion);
listaDeCamiones[ubicacion]->setColorCamion(colorCamion);
listaDeCamiones[ubicacion]->setPrecioCamion(precioCamion);
cout << "El camion fue modificado Exitosamente.\n";
}
}
}
void Camion::eliminarCamion()
{
if (cantidadDeCamiones == 0)
{
system("cls");
cout << "No se ha registrado ningun camion tadavia\n";
}
else
{
cout << "Eliminar Camion\n\n";
int codigoCamion;
cout << "Ingrese el codigo a eliminar: ";
cin >> codigoCamion;
int ubicacion = buscarCamion(codigoCamion);
if (ubicacion == -1)
{
cout << "Lo sentimos ese codigo del camion no existe\n";
}
else
{
cout << "El codigo se encontro\n\n";
cout << setw(10)<<"Id"<<setw(15)<<"Modelo"<<setw(15)<<"marca"<<endl;
cout<<"================================================="<<endl;
listaDeCamiones[ubicacion]->imprimir();
cout << "\n\n";
cout << "Presione enter para eliminar ese camion\n\n";
system("pause");
//Pasa a eliminar usando una copia del arreglo
Camion**temporalListaDeCamiones = new Camion*[Maximo];
int temporalCantidadDeCamiones = 0;
//Se copia el arreglo en otro arreglo exepto el que se quiere eliminar
for(int i =0; i < cantidadDeCamiones; i++)
{
if(i!=ubicacion)
{
temporalListaDeCamiones[temporalCantidadDeCamiones] = new Camion(listaDeCamiones[i]->getIdCamion(),
listaDeCamiones[i]->getCilindrajeCamion(),
listaDeCamiones[i]->getnPuertasCamion(),
listaDeCamiones[i]->getanioCamion(),
listaDeCamiones[i]->getPrecioCamion(),
listaDeCamiones[i]->getMarcaCamion(),
listaDeCamiones[i]->getModeloCamion(),
listaDeCamiones[i]->getColorCamion());
temporalCantidadDeCamiones++;
}//Fin if
}//Fin for
//Limpio la memoria usada por el arreglo principal de camiones
for(int i=0; i<cantidadDeCamiones; i++)
{
listaDeCamiones[i]->~Camion();
}
//copia el arreglo temporal al principio
cantidadDeCamiones = 0;
for(int i =0; i<temporalCantidadDeCamiones; i++)
{
listaDeCamiones[cantidadDeCamiones] = new Camion(temporalListaDeCamiones[i]->getIdCamion(),
temporalListaDeCamiones[i]->getCilindrajeCamion(),
temporalListaDeCamiones[i]->getnPuertasCamion(),
temporalListaDeCamiones[i]->getanioCamion(),
temporalListaDeCamiones[i]->getPrecioCamion(),
temporalListaDeCamiones[i]->getMarcaCamion(),
temporalListaDeCamiones[i]->getModeloCamion(),
temporalListaDeCamiones[i]->getColorCamion());
cantidadDeCamiones++;
}//Fin for
cout << "El camion fue eliminado exitosamente\n\n";
}//fin else
}
}
//Imprime los datos del Camion
void Camion::imprimir()
{
cout<<setw(10)<<idCamion<<setw(15)<<modeloCamion<<setw(15)<<marcaCamion<<endl;
}
#ifndef CAMION_H
#define CAMION_H
#include <iostream>
using namespace std;
// Variables globales
class Camion
{
private:
int idCamion;
int cilindrajeCamion;
int nPuertasCamion;
int anioCamion;
double precioCamion;
string marcaCamion, modeloCamion, colorCamion;
public:
Camion(int =0, int=0, int=0, int=0, double = 0.0, string = "", string = "", string = "");
void setIdCamion(int);
void setCilindrajeCamion(int);
void setNPuertasCamion(int);
void setanioCamion(int);
void setPrecioCamion(double);
void setMarcaCamion(string);
void setModeloCamion(string);
void setColorCamion(string);
int getIdCamion() const;
int getCilindrajeCamion() const;
int getnPuertasCamion() const;
int getanioCamion() const;
string getMarcaCamion() const;
string getModeloCamion() const;
string getColorCamion() const;
double getPrecioCamion() const;
//Otros Metodos
void ingresarCamion();
void flistaDeCamiones();
void imprimir();
int buscarCamion(int);
void modificarCamion();
void eliminarCamion();
private:
Camion**listaDeCamiones;
int Maximo;
int cantidadDeCamiones;
};
#endif
#include <cstdlib>
#include <iostream>
#include "Camion.h"
using namespace std;
void menuCamiones();
int main(int argc, char *argv[])
{
menuCamiones();
system("PAUSE");
return EXIT_SUCCESS;
}
void menuCamiones()
{
Camion camionOb;
int opcion;
do
{
system("cls");
cout << "Menu\n"
<< "1.Desea ingresar un nuevo camion a la empresa\n"
<< "2. mostrar lista de Camiones\n";
cout << "Elija una opcion: ";
cin >> opcion;
switch(opcion)
{
case 1:
system("cls");
camionOb.ingresarCamion();
system("pause");
break;
case 2:
system("cls");
camionOb.flistaDeCamiones();
system("pause");
break;
case 3:
break;
default:
cout << "Esa opcion no existe.\n\n";
break;
}
}while(opcion != 3);
}
Cita de: x64Core en 4 Febrero 2014, 04:24 AMel array asignarle memoria al
momento de usarlo ( recorda liberarlo ) aunque hubiera sido bueno incializarlo en el contructor así en el destructor se libera la memoria
eso depende de como diseñes tu programa.
#ifndef CAMION_H
#define CAMION_H
#include <iostream>
using namespace std;
extern Camion**listaDeCamiones;
// Variables globales
class Camion
{
private:
int idCamion;
int cilindrajeCamion;
int nPuertasCamion;
int anioCamion;
double precioCamion;
string marcaCamion, modeloCamion, colorCamion;
public:
Camion(int =0, int=0, int=0, int=0, double = 0.0, string = "", string = "", string = "");
void setIdCamion(int);
void setCilindrajeCamion(int);
void setNPuertasCamion(int);
void setanioCamion(int);
void setPrecioCamion(double);
void setMarcaCamion(string);
void setModeloCamion(string);
void setColorCamion(string);
int getIdCamion() const;
int getCilindrajeCamion() const;
int getnPuertasCamion() const;
int getanioCamion() const;
string getMarcaCamion() const;
string getModeloCamion() const;
string getColorCamion() const;
double getPrecioCamion() const;
//Otros Metodos
void ingresarCamion();
void listaDeCamiones();
void imprmir();
};
#endif
#include "Camion.h"
#include <iostream>
#include <iomanip>
using namespace std;
Camion**listaDeCamiones;
const int Maximo =100;
int cantidadDeCamiones =0;
Camion::Camion (int idCam, int cilindrajeCam, int puertasCam, int anioCam,
double precioCam, string marcaCam, string modeloCam,
string colorCam)
{
idCamion = idCam;
cilindrajeCamion = cilindrajeCam;
nPuertasCamion = puertasCam;
anioCamion = anioCam;
precioCamion = precioCam;
marcaCamion = marcaCam;
modeloCamion = modeloCam;
colorCamion = colorCam;
}
//Funciones set
void Camion::setIdCamion(int idCam)
{
idCamion = idCam;
}
void Camion::setCilindrajeCamion(int cilindrajeCam)
{
cilindrajeCamion = cilindrajeCam;
}
void Camion::setNPuertasCamion(int puertasCam)
{
nPuertasCamion = puertasCam;
}
void Camion::setanioCamion(int anioCam)
{
anioCamion = anioCam;
}
void Camion::setPrecioCamion(double precioCam)
{
precioCamion = precioCam;
}
void Camion::setMarcaCamion(string marcaCam)
{
marcaCamion = marcaCam;
}
void Camion::setModeloCamion(string modeloCam)
{
modeloCamion = modeloCam;
}
void Camion::setColorCamion(string colorCam)
{
colorCamion = colorCam;
}
//Funciones get
int Camion::getIdCamion() const
{
return idCamion;
}
int Camion::getCilindrajeCamion() const
{
return cilindrajeCamion;
}
int Camion::getnPuertasCamion() const
{
return nPuertasCamion;
}
int Camion::getanioCamion()const
{
return anioCamion;
}
double Camion::getPrecioCamion() const
{
return precioCamion;
}
string Camion::getMarcaCamion() const
{
return marcaCamion;
}
string Camion::getModeloCamion() const
{
return modeloCamion;
}
string Camion::getColorCamion() const
{
return colorCamion;
}
void Camion::ingresarCamion()
{
Camion**listaDeCamiones = new Camion*[Maximo];// arreglo de 100
if (cantidadDeCamiones < Maximo)
{
system("cls");
cout << "Ingrese los datos del camion\n";
cout << "Ingrese el ID del camion: ";
cin >> idCamion;
cout << "Ingrese la Marca del Camion: ";
cin >> marcaCamion;
cout << "Ingrese el Modelo del camion: ";
cin >> modeloCamion;
cout << "Ingrese el año del Camion: ";
cin >> anioCamion;
cout << "Ingrese el cilindraje del camion: ";
cin >> cilindrajeCamion;
cout << "Ingrese el numero de puertas: ";
cin >> nPuertasCamion;
cout << "Ingrese el color del camion: ";
cin >> colorCamion;
cout << "Ingrese el presio del camion: ";
cin >> precioCamion;
listaDeCamiones[cantidadDeCamiones] = new Camion(idCamion, cilindrajeCamion,
nPuertasCamion, anioCamion,
precioCamion, marcaCamion,
modeloCamion,colorCamion);
cantidadDeCamiones++;
cout << "Los datos del camion fueron ingresados correctamente\n\n";
}
else
{
system("cls");
cout << "Ya no hay espacio disponible para mas camiones\n\n";
}
}
void Camion::listaDeCamiones()
{
if (cantidadDeCamiones==0)
{
system("cls");
cout<<"No se a registrado ninguna Camion todavía"<<endl;
}
else
{
cout<<"..:::Lista de Camiones:::.."<<endl<<endl;
cout << setw(10)<<"Id Camion"<<setw(15)<<"Modelo"<<setw(15)<<"marca"<<endl;
cout<<"================================================="<<endl;
//Imprimmir todas las personas almacenadas en el arreglo de personas
for (int i=0; i<cantidadDeCamiones;i++)
{
listaDeCamiones[i]->imprmir();
}
cout<<endl<<"*******Fin de la lista **********"<<endl<<endl;
}
}
/*
void imprmir()
{
cout<<setw(10)<<idCamion<<setw(15)<<modeloCamion<<setw(15)<<marcaCamion<<endl;
}*/
#include "Camion.h"
#include <iostream>
using namespace std;
extern const int Maximo =100;
extern Camion**listaDeCamiones = new Camion*[Maximo];// arreglo de 100
extern int cantidadDeCamiones =0;// controla la cantidad de camiones
#ifndef CAMION_H
#define CAMION_H
#include <iostream>
using namespace std;
int Maximo;
Camion**listaDeCamiones = new Camion*[Maximo];
int cantidadDeCamiones;
Cita de: x64Core en 4 Febrero 2014, 02:44 AM
Declaralas globales y las inicializas/creas memoria dinamica en alguna funcion.
void Camion::ingresarCamion()
{
const int Maximo = 100;
Camion**listaDeCamiones = new Camion*[Maximo];// arreglo de 100
int cantidadDeCamiones=0;// controla la cantidad de camiones
if (cantidadDeCamiones < Maximo)
{
//Código de las entradas por teclado que capturaran lista de camiones
cout << "Ingrese los datos del camion\n";
cout << "Ingrese el ID del camion: ";
cin >> idCamion;
cout << "Ingrese la Marca del Camion: ";
cin >> marcaCamion;
listaDeCamiones[cantidadDeCamiones] = new Camion(idCamion, cilindrajeCamion,
nPuertasCamion, anioCamion,
precioCamion, marcaCamion,
modeloCamion,colorCamion);
cantidadDeCamiones++;
cout << "Los datos del camion fueron ingresados correctamente\n\n";
}
else
{
system("cls");
cout << "Ya no hay espacio disponible para mas camiones\n\n";
}
void Camion::listaDeCamiones()
{
if (cantidadDeCamiones==0)
{
system("cls");
cout<<"No se a registrado ninguna Camion todavía"<<endl;
}
else
{
cout<<"..:::Lista de Camiones:::.."<<endl<<endl;
cout<<setw(10)<<"idCamion"<<endl;
cout<<"================================================="<<endl;
//Imprimmir todas los camiones almacenadas en el arreglo de camiones
for (int i=0; i<cantidadDeCamiones;i++)
{
listaDeCamiones[i]->print();
}
cout<<endl<<"*******Fin de la lista **********"<<endl<<endl;
}
}
Cita de: x64Core en 4 Febrero 2014, 02:07 AM
¿Son esas sentencias escritas dentro de alguna funcion?