Calcular Litros de agua en portenje cambiando el valor de la altura

Iniciado por Meta, 2 Julio 2020, 09:54 AM

0 Miembros y 1 Visitante están viendo este tema.

Meta

Lo tengo en unidades de metros.

Quiero calcular un cilindro como este, su volumen.


h = altura.
r = radio.
v = volumen.



Aquí hice un pequeño programa en la consola C# que calcula solo introduciendo dos valores, el radio del cilindro o depósito de agua y la altura.

Código (csharp) [Seleccionar]
using System;

namespace namespace_Calculo_cilindro_consola_02_cs
{
   class Program
   {
       static void Main(string[] args)
       {
           Console.Title = "Cálculo geométrico cilindro - C# 2019";
           Console.SetWindowSize(50, 25);

           // Variables.
           double Pi = 3.14;
           double radio = 0;
           double altura = 0;
           double areaLateral = 0;
           double areaTotal = 0;
           double volumen = 0;
           double litros = 0;

           Console.WriteLine("===== Área lateral =====");
           Console.Write("Introduce el radio en m.: ");
           radio = double.Parse(Console.ReadLine());
           Console.Write("Introduce la altura en m.: ");
           altura = double.Parse(Console.ReadLine());

           // Cálculo área lateral.
           areaLateral = 2 * Pi * radio * altura;

           Console.WriteLine("Área lateral = 2 x Pi x radio x altura.");
           Console.ForegroundColor = ConsoleColor.Green;
           Console.WriteLine("Área lateral: {0} m^2. (Metros cuadrados). \n", areaLateral);

           Console.ForegroundColor = ConsoleColor.Gray;
           Console.WriteLine("===== Área total =====");

           // Cálculo área Total.
           areaTotal = areaLateral + 2 * (Pi * (radio * radio));

           Console.WriteLine("Área total = Áreal lateral + 2 x (Pi x r^2)");
           Console.ForegroundColor = ConsoleColor.Yellow;
           Console.WriteLine("Área total = {0} m^2. \n", areaTotal);

           Console.ForegroundColor = ConsoleColor.Gray;
           Console.WriteLine("===== Volumen =====");
           Console.WriteLine("Volumen = Pi x radio^2 x altura");

           // Cálculo volumen.
           volumen = Pi * (radio * radio) * altura;

           Console.ForegroundColor = ConsoleColor.Cyan;
           Console.WriteLine("Volumen = {0} m^3. (Metros cúbicos). \n", volumen);

           Console.ForegroundColor = ConsoleColor.Gray;
           Console.WriteLine("===== Litros =====");
           Console.WriteLine("Litros = Volumen * 1000");
           Console.WriteLine("Litros = {0} m^3 * 1000", volumen);

           // Cálculo litros.
           litros = volumen * 1000;

           Console.ForegroundColor = ConsoleColor.Red;
           Console.WriteLine("Litros = {0}", litros + " L.\n");

           Console.ForegroundColor = ConsoleColor.Gray;
           Console.WriteLine("FIN DE PROGRAMA. Pulse cualquier tecla para salir.");
           // Pulse cualquier tecla para salir.
           Console.ReadLine();
       }
   }
}




Me falta hacer una fórmula que no se hacer sobre saber que cantidad de litros tengo en este depósito de agua o cilindro. Por ejemplo, ya que la altura es de 0 a 2 metros, quiero saber que si cambio la altura del agua, por ejemplo que está a 0.7 metros, que me muestre el porcentaje en %. Está claro que si está el nivel del agua a 2 metros de altura que es la máxima, será el 100 %.

1. Si la altura está en 0.7 metros. ¿Qué porcentaje muestra?

2. ¿Qué cantidad de Litros de agua hay cuando está el nivel de agua a 0.7 metros?

Solo me falta saber estas dos cosas en papel. Luego lo transformo en C#.

Saludos.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/