Me ayudan con esta tarea estoy manejando visual estudio en C#
Para esta actividad se requiere que estructure dentro de una clase uno o varios métodos, los cuales deberán devolver resultado por lo que su declaración debe incorporarse el tipo de dato a regresar y configurarse adecuadamente su llamada desde el programa principal. Además, los métodos pueden solicitarse de tal manera que reciban o no parámetros, ya sea por valor o por referencia.
1. Crea una clase Persona con las siguientes propiedades y métodos:
Declara las propiedades: Nombre, Edad, Sexo (H=hombre, M= mujer), Peso y Altura.
Los métodos que debes implementar son:
a. Constructor predeterminado que inicializa atributos en blanco
b. Constructor que reciba como parámetros Nombre, Edad, Sexo, Peso y Altura.
c. validarSexo(char sexo): comprueba que el sexo introducido es correcto. Si no es correcto, por default será H.
d. calcularIMC(float peso, float): debe de calcular el peso ideal de la persona (investiga la fórmula para calcular IMC), considera las siguientes condiciones con base al IMC que resulte:
• Si el IMC es un valor menor que 18, el método devuelve el mensaje “PESO BAJO”
• Si el IMC es un valor entre 18 y menor que 25, el método devuelve el mensaje “NORMAL” + IMC
• Si el IMC es un valor entre 25 y menor que 27, el método devuelve el mensaje “SOBREPESO” + IMC
• Si el IMC es un valor entre 27 y menor que 30, el método devuelve el mensaje “OBESIDAD GRADO I” + IMC
• Si el IMC es un valor entre 30 y menor que 40, el método devuelve el mensaje “OBESIDAD GRADO II” + IMC • Si el IMC es un valor mayor o igual a 40, el método devuelve el mensaje “OBESIDAD GRADO III” + IMC
e. mostrarInformacion(): devuelve toda la información del objeto Persona.
2. Crea un objeto en base a la clase Persona, haciendo uso del segundo constructor donde solicites al usuario los datos y asígnalos a las propiedades correspondientes del objeto.
3. Ejecuta el método de validarSexo
4. Mostrar la información de la persona
5. Ejecutar el cálculo del IMC
Respuestas
Respuesta:
using System;
namespace Actividad4U2
{
class Persona //Atributos de la clase
{
private String Nombre;
private int Edad;
private String Sexo;
private float Peso, Altura;
public Persona() //Constructor predeterminado que inicializa los valores
{
Nombre = "";
Edad = 0;
Sexo = "H";
Peso = 0;
Altura = 0;
}
public Persona(String nombre, int edad, String sexo, float peso, float altura) //Constructor que recibe los parámetros
{
Nombre = nombre;
Edad = edad;
Sexo = sexo;
Peso = peso;
Altura = altura;
}
public String validarSexo(String sexo) //Método que valida el sexo de la persona
{
Sexo = sexo;
if (Sexo == "H" || Sexo == "M")
{
return Sexo;
}
else
{
Sexo = "H";
Console.WriteLine("El sexo introducido es incorrecto. De forma predeterminada será: ");
return Sexo;
}
}
public float calcularIMC(float peso, float altura) //Método que calcula el IMC y categoriza el IMC resultante
{
Peso = peso;
Altura = altura;
float IMC = Peso / (Altura * Altura);
if (IMC < 18)
{
Console.WriteLine("Peso Bajo. IMC: ");
return IMC;
}
else if (IMC >= 18 && IMC < 25)
{
Console.WriteLine("Peso normal. IMC: ");
return IMC;
}
else if (IMC >= 25 && IMC < 27)
{
Console.WriteLine("Sobrepeso. IMC: ");
return IMC;
}
else if (IMC >= 27 && IMC < 30)
{
Console.WriteLine("Obesidad Grado 1. IMC: ");
return IMC;
}
else if (IMC >= 30 && IMC < 40)
{
Console.WriteLine("Obesidad Grado 2. IMC: ");
return IMC;
}
else
{
Console.WriteLine("Obesidad Grado 3. IMC: ");
return IMC;
}
}
public (String, String, String, String, String) mostrarInformacion() //Método para mostrar los valores por medio de un ValueTuple
{
String edad = Edad.ToString();
String peso = Peso.ToString();
String altura = Altura.ToString();
return (Nombre, edad, Sexo, peso, altura);
}
class Program //Clase principal
{
static void Main(string[] args)
{
String nombre, sexo;
int edad, opcion;
float peso, altura;
bool repetir = true;
//Se piden los datos de la persona y se pasan a la clase persona por medio del objeto persona
Console.WriteLine("Introduce el nombre de la persona.");
nombre = Console.ReadLine();
Console.WriteLine("Introduce la edad de la persona.");
edad = int.Parse(Console.ReadLine());
Console.WriteLine("Introduce el sexo de la persona (H/M)");
sexo = Console.ReadLine();
Console.WriteLine("Introduce el peso de la persona (Kg).");
peso = float.Parse(Console.ReadLine());
Console.WriteLine("Introduce la altura de la persona (En metros, por ejemplo: 1.57)");
altura = float.Parse(Console.ReadLine());
Persona persona = new Persona(nombre, edad, sexo, peso, altura);
while (repetir == true)
{
Console.WriteLine("Elige una opción.");
Console.WriteLine("1. Validar sexo");
Console.WriteLine("2. Calcular IMC");
Console.WriteLine("3. Mostrar datos de la persona");
Console.WriteLine("4. Salir");
opcion = int.Parse(Console.ReadLine());
switch (opcion)
{
case 1:
String resultadosexo = persona.validarSexo(sexo);
Console.WriteLine("El sexo de la persona es: ");
Console.WriteLine(resultadosexo);
break;
case 2:
float resultadoIMC = persona.calcularIMC(peso, altura);
Console.WriteLine(resultadoIMC);
break;
case 3:
var result = persona.mostrarInformacion();
Console.WriteLine("El nombre de la persona es: ");
Console.WriteLine(result.Item1);
Console.WriteLine("La edad de la persona es: ");
Console.WriteLine(result.Item2);
Console.WriteLine("El sexo de la persona es: ");
Console.WriteLine(result.Item3);
Console.WriteLine("El peso de la persona es: ");
Console.WriteLine(result.Item4);
Console.WriteLine("La altura de la persona es: ");
Console.WriteLine(result.Item5);
break;
case 4:
repetir = false;
break;
default:
Console.WriteLine("Opción incorrecta.");
break;
}
}
}
}
}
}
Expl