Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- class Automovil{
- // Constructores
- public:
- Automovil();
- Automovil(string, string, float);
- virtual ~Automovil();
- // Metodos / Prototipos
- // Setters
- void setMarca(string);
- void setModelo(string);
- void setCapacidadTanque(float);
- // Getters
- string getMarca();
- string getModelo();
- float getCapacidadTanque();
- float getCantidadCombustible();
- // Metodos
- void cargarCombustible(string, float);
- void info();
- void viajar(float);
- private:
- string marca;
- string modelo;
- string tipoCombustible;
- float cantidadCombustible=0;
- float capacidadTanque;
- float autonomia;
- float distancia;
- };
- Automovil::Automovil(){
- // Constructor
- }
- Automovil::Automovil(string _marca, string _modelo, float _capacidadTanque = 30.0){
- marca = _marca;
- modelo = _modelo;
- capacidadTanque = _capacidadTanque;
- }
- Automovil::~Automovil(){
- // Destructor
- }
- void Automovil::setMarca(string _marca){
- marca = _marca;
- }
- void Automovil::setModelo(string _modelo){
- modelo = _modelo;
- }
- void Automovil::setCapacidadTanque(float _capacidad_tanque){
- capacidadTanque = _capacidad_tanque;
- }
- string Automovil::getMarca(){
- return marca;
- }
- string Automovil::getModelo(){
- return modelo;
- }
- float Automovil::getCapacidadTanque(){
- return capacidadTanque;
- }
- float Automovil::getCantidadCombustible(){
- return cantidadCombustible;
- }
- void Automovil::cargarCombustible(string _tipoCombustible, float _cantidadCombustible){
- cantidadCombustible += _cantidadCombustible;
- autonomia = (cantidadCombustible*100.0)/8.0; // Autonomia de 8L/100Km
- }
- void Automovil::info(){
- cout<<"=== Caracteristicas del Automovil ==="<<endl;
- cout<<"Marca: "<<marca<<endl;
- cout<<"Modelo: "<<modelo<<endl;
- cout<<"Capacidad del tanque: "<<capacidadTanque<<" Litros"<<endl;
- cout<<"Cantidad de Combustible: "<<cantidadCombustible<<" Litros"<<endl;
- cout<<"Autonomia: "<<autonomia<<" Km"<<endl;
- }
- void Automovil::viajar(float _distancia){
- cantidadCombustible -= (_distancia*8.0)/100;
- autonomia = (cantidadCombustible*100.0)/8.0; // Autonomia de 8L/100Km
- }
- int main()
- {
- int opcion = 0;
- bool bandera = true;
- string tipo = " ";
- float cant;
- float aux;
- Automovil Auto_1("Mercedes Benz","C220",20);
- while(bandera){
- switch(opcion)
- {
- case 0:
- cout<<"= == === ==== Menu Principal ==== === == ="<<endl;
- cout<<"1 -> Ver Informacion del Automovil"<<endl;
- cout<<"2 -> Cargar Combustible"<<endl;
- cout<<"3 -> Viajar"<<endl;
- cout<<"4 -> Salir"<<endl;
- cin>>opcion;
- break;
- case 1:
- cout<<"= == === ==== Informacion ==== === == ="<<endl;
- Auto_1.info();
- cout<<"\nPresiona '0' para volver al Menu Principal..."<<endl;
- cin>>opcion;
- break;
- case 2:
- cout<<"= == === ==== Cargar Combustible ==== === == ="<<endl;
- cout<<"Cantidad de Combustible: "<<Auto_1.getCantidadCombustible()<<endl;
- cout<<"Tipo: "; cin>>tipo;
- cout<<"Cantidad: "; cin>>cant;
- if(Auto_1.getCantidadCombustible()+cant <= Auto_1.getCapacidadTanque()){
- Auto_1.cargarCombustible(tipo,cant);
- cout<<"Listo!"<<endl;
- }
- else{
- cout<<"La cantidad sobre pasa la capacidad del tanque("<<Auto_1.getCapacidadTanque()<<" Litros)."<<endl;
- }
- cout<<"\nPresiona '0' para volver al Menu Principal..."<<endl;
- cin>>opcion;
- break;
- case 3:
- cout<<"= == === ==== Viajar ==== === == ="<<endl;
- aux = Auto_1.getCantidadCombustible();
- cout<<"Distancia: ";
- cin>>cant;
- Auto_1.viajar(cant);
- cout<<"Informacion del viaje..."<<endl;
- cout<<"Distancia Recorrida: "<<cant<<endl;
- cout<<"Combustible utilizado: "<<aux - Auto_1.getCantidadCombustible()<<" Litros."<<endl;
- cout<<"\nPresiona '0' para volver al Menu Principal..."<<endl;
- cin>>opcion;
- break;
- default:
- bandera = false;
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement