Ejecutable
-
Upload
davidalvarez -
Category
Documents
-
view
217 -
download
3
description
Transcript of Ejecutable
//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, 50);Automovil auto2("intermedio", "Hyundai", "SZ", 100, 7, 50);Automovil auto3("intermedio", "Hyundai", "SZ", 100, 7, 50);Automovil auto4("intermedio", "Hyundai", "SZ", 100, 7, 50);Automovil auto5("intermedio", "Hyundai", "SZ", 100, 7, 50);auto1.mostrarDatos();
//Se declara e inicializa un arregloarray <Automovil, 5> Autos = {auto1, auto2, auto3, auto4, auto5};
// Se pide al usuario que ingrese informacióncout<<"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 automovilcout<<"\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 automovilcout<<"\n\nIngrese marca de automovil "<<i+1<<endl;getline(cin, marc);Autos[i].setMarca(marc);cout<<endl;//ingreso de modelo de automovilcout<<"\n\nIngrese modelo de automovil "<<i+1<<endl;getline(cin, model);Autos[i].setModelo(model);cout<<endl;//ingreso de precio de automovilcout<<"\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 automovilcout<<"\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 pantallafor(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 ordenado de manera descendente, el precio maximo y que dan la posibilidad de actualizar 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\nNúmero de autos Intermedio:"<<intermedio <<endl <<"\n\nNúmero de autos Grandes:"<<grande <<endl <<"\n\nNúmero de autos Minivan:"<<minivan <<endl <<"\n\nNúmero de 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);}