Está en la página 1de 9

Benemérita Universidad Autónoma de Puebla

Facultad de Ciencias de la Electrónica

Moreno Rosas Alberto Alejandro

Erazo Román Luis Alan

Núñez Angulo Ángel

Mora Ramos Nayib David

Ramírez Castillejos Diego Iván

Programación Avanzada

Chavez Chavez Julia

Primavera 2023

17 Abril 2023

Practica Smartwatch
DISEÑO
CÓDIGO

Clase: CSmart

Archivo: CSmart.h

#pragma once
class CSmart {
private:
int edad, sexo;
double altura, peso;
public:
void ingresarDatos();
double calcularIMC();
void MostrarResultado();
};

Archivo: CSmart.cpp
#include "CSmart.h"
#include <iostream>
using namespace std;

void CSmart::ingresarDatos() {
cout << "Ingrese su altura (en metros): ";
cin >> altura;

cout << "Ingrese su peso (en kilogramos): ";


cin >> peso;

cout << "Ingrese su edad: ";


cin >> edad;

cout << "Ingrese su sexo (1 para hombre, 2 para mujer): ";


cin >> sexo;
}
double CSmart::calcularIMC() {
return peso / pow(altura, 2);
}
void CSmart::MostrarResultado() {
cout << "\nSu indice de masa corporal es: " << calcularIMC() << endl;

// Determinar si el usuario tiene un peso saludable según su edad y sexo


if (edad >= 18) {
if (sexo == 1) { // Hombre
if (calcularIMC() < 20.7) {
cout << "Tiene un peso bajo para su edad y sexo." << endl;
}
else if (calcularIMC() < 26.4) {
cout << "Tiene un peso saludable para su edad y sexo." << endl;
}
else if (calcularIMC() < 27.8) {
cout << "Tiene sobrepeso para su edad y sexo." << endl;
}
else {
cout << "Tiene obesidad para su edad y sexo." << endl;
}
}
else if (sexo == 2) { // Mujer
if (calcularIMC() < 19.1) {
cout << "Tiene un peso bajo para su edad y sexo." << endl;
}
else if (calcularIMC() < 25.8) {
cout << "Tiene un peso saludable para su edad y sexo." << endl;
}
else if (calcularIMC() < 27.3) {
cout << "Tiene sobrepeso para su edad y sexo." << endl;
}
else {
cout << "Tiene obesidad para su edad y sexo." << endl;
}
}
else {
cout << "Sexo no valido. Por favor, ingrese 1 para hombre o 2 para mujer." << endl;
}
}
else {
cout << "La edad ingresada no es valida para calcular el peso saludable." << endl;
}
}.
Clase: Objetivo

Archivo: CObjetivo.h
#pragma once
class Objetivo {
private:
int objetivo;
int alimentacion;

public:
void MostrarMenu();
void MostrarObjetivo();
};

Archivo: CObjetivo.cpp
#include "CObjetivo.h"
#include <iostream>
using namespace std;

void Objetivo::MostrarMenu() {
cout << "\n\n--Bienvenido a su programa de entrenamiento personalizado. Seleccione una de las siguientes
opciones: ---" << endl;
cout << "1. Bajar de peso" << endl;
cout << "2. Elevar el nivel de rendimiento fisico" << endl;
cout << "3. Rutinas especificas por prescripcion medica" << endl;
cout << "4. Mantenerse en forma" << endl;
cout << "Ingrese su opcion: ";
cin >> objetivo;
}
void Objetivo::MostrarObjetivo() {
switch (objetivo) {
case 1:
cout << "Usted ha elegido la opcion 'Bajar de peso'." << endl;
break;
case 2:
cout << "Usted ha elegido la opcion 'Elevar el nivel de rendimiento fisico'." << endl;
break;
case 3:
cout << "Usted ha elegido la opcion 'Rutinas especificas por prescripcion medica'." << endl;
break;
case 4:
cout << "Usted ha elegido la opcion 'Mantenerse en forma'." << endl;
break;
default:
cout << "Opcion no valida. Por favor, ingrese una opcion del 1 al 4." << endl;
break;
}
}

Clase: Alimentacion

Archivo: CAlimetacion.h
class Alimentacion {
private:
int alimentacion;
public:
void mostrarMenu();
void mostrarRecomendacion();
};

Archivo: CAlimentacion.cpp
#include "CAlimentacion.h"
#include <iostream>
using namespace std;

void Alimentacion::mostrarMenu() {
cout << "\n\nBienvenido a su programa de recomendacion de alimentacion. Seleccione una de las siguientes
opciones:" << endl;
cout << "1. Calorias" << endl;
cout << "2. Carbohidratos" << endl;
cout << "3. Grasas" << endl;
cout << "4. Proteinas" << endl;
cout << "5. Vitaminas" << endl;
cout << "Ingrese su opcion: ";
cin >> alimentacion;
}
void Alimentacion::mostrarRecomendacion() {
switch (alimentacion) {
case 1:
cout << "Usted ha elegido la opcion 'Calorias'." << endl;
cout << "Para mantener un peso saludable, se recomienda consumir alrededor de 2000 calorias al dia." <<
endl;
break;
case 2:
cout << "Usted ha elegido la opcion 'Carbohidratos'." << endl;
cout << "Los carbohidratos son una fuente importante de energia para el cuerpo. Se recomienda que alrededor
del 45-65% de las calorias diarias provengan de carbohidratos." << endl;
break;
case 3:
cout << "Usted ha elegido la opcion 'Grasas'." << endl;
cout << "Se recomienda que alrededor del 20-35% de las calorias diarias provengan de grasas saludables,
como las que se encuentran en los frutos secos, el aceite de oliva y el pescado." << endl;
break;
case 4:
cout << "Usted ha elegido la opcion 'Proteinas'." << endl;
cout << "Las proteinas son esenciales para la reparacion y el crecimiento muscular. Se recomienda consumir
alrededor de 0.8 gramos de proteina por kilogramo de peso corporal al dia." << endl;
break;
case 5:
cout << "Usted ha elegido la opcion 'Vitaminas'." << endl;
cout << "Las vitaminas son importantes para mantener una buena salud. Se recomienda obtener vitaminas de
una variedad de alimentos, incluyendo frutas, verduras y cereales fortificados." << endl;
default:
cout << "Opcion no valida. Por favor, ingrese una opcion del 1 al 5." << endl;
break;
}
}

Clase: Actividad

Archivo: CActividad.h
#pragma once

class Actividad {
private:
int cantidadPasos;
double tramoRecorridoKm;
double gastoCalorias;
double duracionActividad;
int objetivoPasos;

public:
Actividad();
void solicitarDatos();
void calcularGastosCalorias();
void determinarLogro();
void mostrarResultadosLogro();
};

Archivo: CActividad.h
#include "CActividad.h"
#include <iostream>
using namespace std;

Actividad::Actividad() {
cantidadPasos = 0;
tramoRecorridoKm = 0.0;
gastoCalorias = 0.0;
duracionActividad = 0.0;
objetivoPasos = 0;
}
void Actividad::solicitarDatos() {
cout << "\nIngrese el objetivo diario de pasos: ";
cin >> objetivoPasos;
cout << "Ingrese la cantidad de pasos: ";
cin >> cantidadPasos;
// Supongamos una conversión fija de pasos a km, por ejemplo 0.0005 km por cada paso
tramoRecorridoKm = cantidadPasos * 0.0005;
cout << "Ingrese la duracion de la actividad en horas: ";
cin >> duracionActividad;

}
void Actividad::calcularGastosCalorias() {
// Fórmula de gasto de calorías
// Supongamos un gasto promedio de 0.035 kcal por cada paso
gastoCalorias = cantidadPasos * 0.035;
}
void Actividad::determinarLogro() {
// Supongamos un objetivo de 10000 pasos por día
if (cantidadPasos >= objetivoPasos) {
cout << "Objetivo diario de movimiento alcanzado!" << endl;
}
else {
cout << "Objetivo diario de movimiento no alcanzado." << endl;
}
}
void Actividad::mostrarResultadosLogro() {
cout << "Cantidad de pasos: " << cantidadPasos << endl;
cout << "Tramo recorrido (km): " << tramoRecorridoKm << endl;
cout << "Duracion de la actividad (horas): " << duracionActividad << endl;
cout << "Gasto de calorias: " << gastoCalorias << " kcal" << endl;
determinarLogro();
};

Principal:
#include"CSmart.h"
#include"CObjetivo.h"
#include "CAlimentacion.h"
#include "CActividad.h"
#include <iostream>
using namespace std;

int main()
{
CSmart persona;
persona.ingresarDatos();
persona.MostrarResultado();

Objetivo opcion;
opcion.MostrarMenu();
opcion.MostrarObjetivo();
Alimentacion alimento;
alimento.mostrarMenu();
alimento.mostrarRecomendacion();

Actividad actividad;
actividad.solicitarDatos();
actividad.calcularGastosCalorias();
actividad.mostrarResultadosLogro();

return 0;
}

EVIDENCIAS

1. Captura de pantalla del ejecutable con resultados.

2. Video (liga) explicando el funcionamiento y el código del programa completo, resaltando


los recursos de la POO utilizados para el mismo.

https://drive.google.com/drive/folders/1chmTjwsAEHVCRJCjh-x4rueN8Wu2ftv9?usp=sharing

También podría gustarte