Você está na página 1de 4

//main.

cpp
#include <iostream>
#include <string>
#include <array>
#include "Automovil.h"
using namespace std;
int main()
{ //creacion de cinco objetos e inicializacion de los mismos
Automovil auto1("intermedio", "Hyundai", "SZ", 100, 7,
Automovil auto2("intermedio", "Hyundai", "SZ", 100, 7,
Automovil auto3("intermedio", "Hyundai", "SZ", 100, 7,
Automovil auto4("intermedio", "Hyundai", "SZ", 100, 7,
Automovil auto5("intermedio", "Hyundai", "SZ", 100, 7,
auto1.mostrarDatos();

50);
50);
50);
50);
50);

//Se declara e inicializa un arreglo


array <Automovil, 5> Autos = {auto1, auto2, auto3, auto4, auto5};
// Se pide al usuario que ingrese informacin
cout<<"Ingrese los datos de los cinco autos"<<endl;
for(int i=0; i<Autos.size(); i++)
{
string tip;
string marc;
string model;
int preci;
int pasajero;
int consum;
// Se definan las funciones para que el usuario pueda ingresar los datos
//ingreso de tipo de automovil
cout<<"\n\nIngrese tipo de automovil "<<i+1<<", puede ser intermedio, gr
ande, todoterreno o minivan"<<endl;
getline(cin, tip);
Autos[i].setTipo(tip);
cout<<endl;
//ingreso de marca de automovil
cout<<"\n\nIngrese marca de automovil "<<i+1<<endl;
getline(cin, marc);
Autos[i].setMarca(marc);
cout<<endl;
//ingreso de modelo de automovil
cout<<"\n\nIngrese modelo de automovil "<<i+1<<endl;
getline(cin, model);
Autos[i].setModelo(model);
cout<<endl;
//ingreso de precio de automovil
cout<<"\n\nIngrese precio de automovil "<<i+1<<", no puede ser negativo
y debe ser multiplo de 10"<<endl;
cin>>preci;
Autos[i].setPrecio(preci);
cout<<endl;
//ingreso de pasajeros del automovil
cout<<"\n\nIngrese pasajeros de automovil "<<i+1<<", puede ser 4, 5 o 7"
<<endl;
cin>>pasajero;
Autos[i].setPasajeros(pasajero);
cout<<endl;
//ingreso de consumo del automovil

cout<<"\n\nIngrese consumo de automovil "<<i+1<<", no puede ser negativo


"<<endl;
cin>>consum;
cin.ignore();
Autos[i].setConsumo(consum);
cout<<endl;
}
// se realiza un arreglo para poder mostrar los datos en pantalla
for(int i = 0; i < Autos.size(); i++)
{
cout<<"Datos del Automovil"<<i+1<<endl;
Autos[i].mostrarDatos();
}
//funciones que muestran los datos de los autos, el consumo de combustible orden
ado de manera descendente, el precio maximo y que dan la posibilidad de actualiz
ar los precios
void resumenTipo(array<Automovil,5>);
resumenTipo(Autos);
void reportePasajeros(array<Automovil,5>);
reportePasajeros(Autos);
void consumoCombustible(array<Automovil,5>);
consumoCombustible(Autos);
void precioMaximo(array<Automovil,5>);
precioMaximo(Autos);
void actualizacionPrecios(array<Automovil,5>);
actualizacionPrecios(Autos);
}
//definicion de las funciones fuera de la funcion main
void resumenTipo(array<Automovil,5>Autos)
{
unsigned int grande=0;
unsigned int intermedio=0;
unsigned int minivan=0;
unsigned int todoterreno=0;
for(size_t i=0; i<Autos.size(); i++)
{
if(Autos[i].getTipo()=="intermedio")
{
intermedio++;
}
else
{
if(Autos[i].getTipo()=="grande")
{
grande++;
}
else
{
if(Autos[i].getTipo()=="todoterreno")
{
todoterreno++;
}
else

{
minivan++;
}
}
}
}
cout<<"\n\nNmero
<<"\n\nNmero de
<<"\n\nNmero de
<<"\n\nNmero de

de autos Intermedio:"<<intermedio <<endl


autos Grandes:"<<grande <<endl
autos Minivan:"<<minivan <<endl
autos Todoterreno:"<<todoterreno <<endl;

}
void reportePasajeros(array<Automovil, 5>Autos)
{
unsigned int pasaj=0;
for(size_t i=0;i<Autos.size();i++)
{
if(Autos[i].getPasajeros()!=4)
{
pasaj++;
}
}
cout<<"\nAutos con 5 o mas pasajeros:" <<pasaj<<endl;
}
void consumoCombustible (array <Automovil,5>Autos)
{
array<Automovil,5>com = Autos;
Automovil vTemp("intermedio", "marca", "modelo", 10, 0, 0);
for(size_t i =0; i<com.size()-1; i++)
{
for(size_t j=i+1; j<com.size();j++)
{
if(com[i].getConsumo()<com[j].getConsumo())
{
vTemp=com[i];
com[i]=com[j];
com[j]=vTemp;
}
}
}
cout<<"\nConsumo ordenado de mayor a menor:"<<endl;
for(int i = 0; i < com.size(); i++)
cout<<"\n\nModelo:"<<com[i].getModelo()<<endl
<<"Marca:"<<com[i].getMarca()<<endl
<<"Consumo:"<<com[i].getConsumo()<<endl;
}
void precioMaximo(array<Automovil, 5>Autos)
{
array<Automovil,5> maxi = Autos;
Automovil vTempo(" ", " ", " ", 0, 0, 0);
for(size_t i = 0; i<maxi.size()-1; i++)
{
for(size_t j=i+1; j<maxi.size(); j++)
{
if(maxi[i].getPrecio() < maxi[j].getPrecio())
{
vTempo=maxi[i];

maxi[i]=maxi[j];
maxi[j]=vTempo;
}
}
}
cout<<"\n\nEl auto mas caro es:"<<endl
<<"\nMarca:"<<maxi[0].getMarca()<<endl
<<"\nModelo:"<<maxi[0].getModelo()<<endl
<<"\nPrecio:"<<maxi[0].getPrecio()<<endl;
}
void actualizacionPrecios(array<Automovil, 5>Autos)
{
int newPrice;
for (int i = 0; i < Autos.size(); i++)
{
cout<<"\n\nIngrese el nuevo precio de los autos:"<<i+1<<endl;
cin>>newPrice;
Autos[i].setPrecio(newPrice);
}
precioMaximo(Autos);
}

Você também pode gostar