Informática, pregunta formulada por llavot, hace 1 año

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 a la pregunta

Contestado por jensolark
4

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

Otras preguntas