EJERCICIO 4 (Eudis Serrano)
user_3711028
c_cpp
a year ago
4.0 kB
9
Indexable
#include <iostream>
#include <iomanip>
#include <cmath>
#include <ctime>
using namespace std;
const double CantidadTanque = 500, PrecioOmision = 1.80;
class Bomba{
private:
double Tanque, Precio;
public:
Bomba (double = PrecioOmision, double = CantidadTanque);
void ObtenerValores();
double Solicitud (double);
double PrecioxGalon (int);
};
class Persona{
public:
Persona(){
srand(time(NULL));
}
int llegada(){
return (1+rand()%15);
}
int galones(){
return (3+rand()%18);
}
};
Bomba::Bomba(double PrecioHoy, double InicioTanque){
Tanque = InicioTanque;
Precio = PrecioHoy;
}
void Bomba::ObtenerValores(){
cout<<"El tanque de gasolina tiene "<<Tanque<<" galones de gasolina"
<<endl<<"El precio por galon es "<<setiosflags(ios::showpoint)<<setprecision(2)<<fixed<<Precio<<" Dolares"<<endl;
}
double Bomba::Solicitud(double Surtir){
double surtido;
if (Tanque>= Surtir){
surtido = Surtir;
Tanque -= Surtir;
cout<<endl<<"El tanque de gasolina aun tiene "<<Tanque<<" Galones";
} else {
surtido = Tanque;
Tanque -= surtido;
cout<<Surtir<<" galones solicitados "<<endl<<surtido<<" galones surtidos"<<endl<<Tanque<<" galones restantes"
<<endl<<"El precio total es: "<<setprecision(2)<<(surtido*Precio)<<endl;
}
return Tanque;
}
double Bomba::PrecioxGalon (int Gg){
int Galon;
Galon = Gg;
cout<<"El cliente ha realizado un pago de "<<Precio*Gg<<" Dolares";
return (Precio*Gg);
}
int main(){
Bomba A (2.0, 300);
Persona C1;
int TiempoTotal = 0, Solicitud = 1, TiempoInactivo, TiempoInactivoCuenta, Simulacion = 30, Galones_Vendidos = 0;
double DineroRecolectado = 0.0, TanqueGasolina = 0.0, CantidadSolicitar;
cout<<"inicio de simulacion de: "<<Simulacion<<" minutos"<<endl;
A.ObtenerValores();
TiempoInactivo = C1.llegada();
TiempoTotal += TiempoInactivo;
cout<<endl;
cout<<"____________________________________________-Inicio-____________________________________________";
while(TiempoInactivoCuenta<= Simulacion && Solicitud <= 5){
cout<<endl<<endl<<" -... esperando cliente ...-"<<endl;
CantidadSolicitar = C1.galones();
Galones_Vendidos += CantidadSolicitar;
TiempoInactivo = C1.llegada();
cout<<"Luego de "<<TiempoInactivo<<" minutos llega el cliente numero "<<Solicitud<<" y realiza una solicitud de "<<CantidadSolicitar<<" galones de gasolina"<<endl;
DineroRecolectado += A.PrecioxGalon(CantidadSolicitar);
cout<<endl<<"Hastan el momento hemos recolectado "<<DineroRecolectado<<" Dolares";
TanqueGasolina= A.Solicitud(double(CantidadSolicitar));
TiempoInactivoCuenta += TiempoInactivo;
TiempoTotal += TiempoInactivo+2;
cout<<endl<<"El tiempo inactivo es: "<<TiempoInactivoCuenta<<" minutos"<<endl<<"Llevamos "<<TiempoTotal<<" minutos dentro de la simulacion \n(teniendo en cuenta que cada servicio tiene una duracion de 2 minutos)"<<endl;
Solicitud++;
}
cout<<"";
if(TiempoInactivoCuenta >= Simulacion){
cout<<endl<<endl<<"___________-El tiempo inactivo supero los 30 min, esta simulacion ha sido finalizada-___________";
} else {
cout<<endl<< "_-El numero de solicitudes ha alcanzado el limite propuesto, esta simulacion ha sido finalizada-_";
}
cout<<endl<<endl<<"------------------- RESUMEN --------------------"<<endl<<"| "<<setw(5)<<Solicitud-1<<" Clientes recibidos |"
<<endl<<"| "<<setw(5)<<Galones_Vendidos<<" Galones vendidos |"<<endl<<"| "<<setw(6)<<DineroRecolectado<<" Dinero recolectado |"
<<endl<<"| "<<setw(5)<<TanqueGasolina<<" Galones de gasolina dentro del tanque |"<<endl<<"| "<<setw(5)<<TiempoTotal<<" Minutos dentro de la simulacion |"
<<endl<<"------------------------------------------------"<<endl;
return 0;
}Editor is loading...
Leave a Comment