Basta decir que cuanto más tiempo se ducha, el agua más se utiliza. Pero ¿cúanto?, incluso si usted tiene un "bajo flujo" de ducha, la probabilidad es que la ducha escupa 1.5 galones de agua por minuto. Un galón de agua, por su parte es de 128 onzas, y para que la ducha escupa 192 onzas de agua por minuto se debe multiplicar 1.5 x 128. Una botella típica de agua (que podría tener para una bebida, no para una ducha), por su parte, podria ser de 16 onzas. Así que tomar una ducha de 1 minuto es similar a utilizar 192 ÷ 16 = 12 botellas de agua. Tomando (de manera más realista, tal vez!) una ducha de 10 minutos es como usar 120 botellas de agua, que por cierto es un montón de agua!
Haga un algoritmo que solicite al usuario la longitud de su ducha en minutos (como un entero positivo) y luego muestre el número equivalente de botellas de agua (como un entero).
#include <iostream>
// se incluye la clase Agua para despues llamar a sus metodos
#include "Agua.h"
using namespace std;
int main(void)
{
// se crea un objeto de la clase Agua (Instanciaciación)
Agua *obj = new Agua();
// se declara la variable "minutos"
int minutos;
do// preguntaremos al usuario la longitud que dura en la ducha
{
cout << "Digite la longitud de su duracion en la ducha: ";
cin >> minutos;// guardamos en la variable "minutos"
obj->setMinutos(minutos);// llamamos al metodo modificador y le asignamos la variable "minutos"
}
while(minutos < 0);// mientras el usurio digite un valor entero menor a 0 repetira las intrucciones
cout << "Minutos: " << obj->getMinutos() << endl;// mostramos los minutos que dura su ducha
cout << "Botellas: " << obj->botellasDeAgua() << endl;// se muestra la cantidad de botellas
}
#ifndef AGUA_H
#define AGUA_H
class Agua
{
public:
Agua();
virtual ~Agua();
// se declaran los metodos publicos:
int botellasDeAgua();// botellasDeAgua() de tipo entero
// se definen los metodos Set y Get del atributo "minutos"
void setMinutos(int n);
int getMinutos();
protected:
private:// se declara el atributo privado:
int minutos;// "minutos" de tipo entero
};
#endif // AGUA_H
#include "Agua.h"
Agua::Agua()
{
// se le asigna 0 por defecto al atributo "minuto" en el contructor
minutos = 0;
}
Agua::~Agua()
{
//dtor
}
// implementacion del metodo para calcular la cantidad de botellas
int Agua::botellasDeAgua()
{
// el calculo es muy sencillo solo debemos multiplicar las 192 onzas que escupe una ducha por minuto
// por los minutos que digite el usuario y ese resultado lo dividimos entre las 16 onzas de la botella de agua
int botellas = (192 * minutos) / 16;
return botellas;// retornamos el resultado
}
// implementacion de los metodos Set y Get del atributo "minuto"
void Agua::setMinutos(int n)
{
minutos = n;
}
int Agua::getMinutos()
{
return minutos;
}
// se importa paquete "JOptionPane" para dibujar un cuadro de dialogo en pantalla
// que muestre información o para llenar información.
import javax.swing.JOptionPane;
public class Main
{
public static void main(String[] args)
{
// se crea un objeto de la clase Agua (Instanciaciación)
Agua obj = new Agua();
// se declara la variable "minutos"
int minutos;
do// preguntaremos al usuario la longitud que dura en la ducha
{
// guardamos el valor digitado por el usuario en la variable "minutos"
minutos = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite la longitud de su duracion en la ducha:"));
obj.setMinutos(minutos);//llamamos al metodo modificador y le asignamos la variable "minutos"
}
while(minutos < 0);// mientras el usurio digite un valor entero menor a 0 repetira las intrucciones
// mostramos los minutos que dura su ducha y la cantidad de botellas
JOptionPane.showMessageDialog(null, " Minutos: " + obj.getMinutos() + "\n Botellas: " + obj.botellasDeAgua());
}
}
public class Agua
{
// se declara el atributo privado:
private int minutos;// "minutos" de tipo entero
public Agua()
{
// se le asigna 0 por defecto al atributo "minuto" en el contructor
this.minutos = 0;
}
// implementacion del metodo para calcular la cantidad de botellas
public int botellasDeAgua()
{
// el calculo es muy sencillo solo debemos multiplicar las 192 onzas que escupe una ducha por minuto
// por los minutos que digite el usuario y ese resultado lo dividimos entre las 16 onzas de la botella de agua
int botellas = (192 * minutos) / 16;
return botellas;// retornamos el resultado
}
// implementacion de los metodos Set y Get del atributo "minuto"
public void setMinutos(int n)
{
minutos = n;
}
public int getMinutos()
{
return minutos;
}
}