public float doOperation(Person persona) { if (persona.Age >= 18) { float grasa = -1; if (persona.IsMan) { grasa = 495 / (float)(1.0324 - 0.19077 * (Math.Log10(persona.Waist - persona.Neck)) + 0.15456 * (Math.Log10(persona.Height))) - 450; } else { grasa = 495 / (float)(1.29579 - 0.35004 * (Math.Log10((persona.Hip + persona.Waist) - persona.Neck)) + 0.22100 * (Math.Log10(persona.Height))) - 450; } persona.Fat = grasa; return grasa; } throw new NotSupportedException("Tienes que ser mayor de edad."); }
public float doOperation(Person persona) { //float carbs = persona.BMR / 3.74f; //persona.Carbohidrate = carbs; if (persona.BMR==0.0f) { Calorias c= new Calorias(); c.doOperation(persona); } float calorias = 130f * 3.74f; float carbs = 0; if ((calorias / persona.BMR) >= 0.40 && (calorias / persona.BMR) <= 0.65) { carbs = 130; //Console.WriteLine("Para mantener su peso debe consumir: 130 gramos de carbohidratos"); } else if ((calorias / persona.BMR) < 0.30) { while ((calorias / persona.BMR) < 0.30) { calorias++; } carbs = ((130 * calorias) / 487.5f); } else if ((calorias / persona.BMR) > 0.65) { while ((calorias / persona.BMR) > 0.65) { calorias--; } } carbs = ((130 * calorias) / 487.5f); return carbs; }
public float doOperation(Person persona) { float BMR = (float)((10 * persona.Weight) + ((6.25 * persona.Height) - (5 * persona.Age))); float calories = BMR; if(persona.IsMan) { BMR += 5; } else { BMR -= 161; } persona.BMR = BMR; switch(persona.NivelActividad) { case NivelActividad.nivelActividad.sedentario: calories *= 1.2f; break; case NivelActividad.nivelActividad.ligeramenteActivo: calories *= 1.375f; break; case NivelActividad.nivelActividad.moderadamenteActivo: calories *= 1.55f; break; case NivelActividad.nivelActividad.muyActivo: calories *= 1.725f; break; case NivelActividad.nivelActividad.extraActivo: calories *= 1.9f; break; } mostrarGuia(calories); persona.Calories = calories; return calories; }
public void TestCarbohidratos() { RandomGenerator r = new RandomGenerator(); Carbohidratos c = new Carbohidratos(); var persons = Builder<Person>.CreateListOfSize(tests). All().With(x => x.Age = r.Next(1, 100)) .And(x => x.Height = r.Next(90, 180)) .And(x => x.Weight = r.Next(10, 90)) .And(x => x.IsMan = r.Next()) .And(x => x.BMR = r.Next(100, 2000)) .Random(15).With(x => x.BMR = 0.0f) .Build(); foreach (Person p in persons) { Person p2 = new Person(); p2.Age = p.Age; p2.Height = p.Height; p2.Weight = p.Weight; p2.NivelActividad = p.NivelActividad; p2.IsMan = p.IsMan; p2.BMR = p.BMR; if (p2.BMR == 0.0f) { Calorias cal = new Calorias(); cal.doOperation(p2); } float calorias = 130f * 3.74f; float expected = 0; if ((calorias / p2.BMR) >= 0.40 && (calorias / p2.BMR) <= 0.65) { expected = 130; } else if ((calorias / p2.BMR) < 0.30) { while ((calorias / p2.BMR) < 0.30) { calorias++; } expected = ((130 * calorias) / 487.5f); } else if ((calorias / p2.BMR) > 0.65) { while ((calorias / p2.BMR) > 0.65) { calorias--; } } expected = ((130 * calorias) / 487.5f); float value = c.doOperation(p); Assert.AreEqual(expected, value); } }
static void Main(string[] args) { Person persona = new Person(); Console.Write("Edad: "); persona.Age = int.Parse(Console.ReadLine()); Console.Write("Sexo (m-f): "); persona.IsMan = Console.ReadLine().Equals("m"); Console.Write("Altura: "); persona.Height = float.Parse(Console.ReadLine()); Console.Write("Ancho de Cuello: "); persona.Neck = float.Parse(Console.ReadLine()); Console.Write("Ancho de Cintura: "); persona.Waist = float.Parse(Console.ReadLine()); Console.Write("Ancho de Caderas: "); persona.Hip = float.Parse(Console.ReadLine()); Console.Write("Peso: "); persona.Weight = float.Parse(Console.ReadLine()); Console.Write("Nivel de Actividad (s-la-ma-aa-ea): "); switch(Console.ReadLine()) { case "s": persona.NivelActividad = NivelActividad.nivelActividad.sedentario; break; case "la": persona.NivelActividad = NivelActividad.nivelActividad.ligeramenteActivo; break; case "ma": persona.NivelActividad = NivelActividad.nivelActividad.moderadamenteActivo; break; case "aa": persona.NivelActividad = NivelActividad.nivelActividad.muyActivo; break; case "ea": persona.NivelActividad = NivelActividad.nivelActividad.extraActivo; break; default: Console.WriteLine("Invalido"); break; } Calculadora calculadora = new Calculadora(persona); while (calculadora.estaActiva) { Console.WriteLine("Opciones: (1)Calorias - (2)Carbohidratos - (3)Peso Ideal - (4)Grasa Corporal - (5)Salir"); if (!calculadora.seleccionarCalculadora(Console.ReadLine())) { Console.WriteLine("Seleccione una Calculadora Valida."); } Console.ReadKey(); Console.Clear(); } //Console.ReadLine(); }
private String Guia(Person persona, float BMI) { if(persona.Age >= 18) { if(BMI >= 18.5f && BMI <= 25f) { return "Peso normal"; } else if(BMI < 18.5f) { return "Bajo peso"; } else if(BMI > 25f && BMI <= 29.9f){ return "Sobrepeso"; } else if(BMI > 29.9f){ return "Obeso"; } } if (persona.Age < 18 && persona.Age>1) { foreach (KeyValuePair<Range<float>, string> pair in niños[persona.IsMan][persona.Age]) { if (pair.Key.ContainsValue(persona.Weight)) { return pair.Value; } } } return "Edad no Valida"; }
public float doOperation(Person persona) { float BMI = 0.0f; if(persona.Age >= 18) { BMI = (float)((persona.Weight) / (Math.Pow(persona.Height/100, 2))); } else { BMI = (float)(((persona.Weight) / (Math.Pow(persona.Height, 2)))*10000) ; } Console.WriteLine(Guia(persona, BMI)+"."); persona.IdealWeight = BMI; return BMI; }
public Calculadora(Person persona) { this.persona = persona; this.estaActiva = true; }