Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Reporte Examen Práctico
Reporte Examen Práctico
Programación Avanzada
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;
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
https://drive.google.com/drive/folders/1chmTjwsAEHVCRJCjh-x4rueN8Wu2ftv9?usp=sharing