1#ifndef FUNCIONES_H_INCLUDED
2#define FUNCIONES_H_INCLUDED
115double calculateCalories(
double peso,
double altura,
int edad,
int formulaOption);
142void saveObjects(
const string &filename,
const vector<Objeto> &objetos);
178void imprimirValor(
const string &etiqueta,
double &valor,
const string &unidad);
192 double &remainingProtein,
193 double &remainingFat,
194 double &remainingCarb);
204void calcularMacrosObjetivo(
double maintenanceCal,
double &targetProtein,
double &targetFat,
double &targetCarb);
void resetDailyMarker(const string &userFile, Usuario &user)
Reinicia el marcador diario: reestablece las calorías y macros restantes a sus valores target.
void editUserData(Usuario &user, const string &filename)
Permite editar los datos del usuario y recalcular las calorías y macros.
double calculateCalories(double peso, double altura, int edad, int formulaOption)
Calcula las calorías de mantenimiento en función del peso, altura, edad y fórmula.
double pedirNumero(const string &mensaje)
Solicita un número al usuario y valida la entrada.
void consumeObjects(const string &objFile, const string &userFile, Usuario &user)
Permite "consumir" objetos nutricionales. Se muestran los objetos existentes y el usuario puede selec...
void calcularMacrosObjetivo(double maintenanceCal, double &targetProtein, double &targetFat, double &targetCarb)
Calcula los valores objetivo de proteína, grasa y carbohidratos a partir de las calorías de mantenimi...
void mostrarRestante(double &remainingCal, double &remainingProtein, double &remainingFat, double &remainingCarb)
Muestra por pantalla las calorías y macros restantes del día.
int chooseCalorieFormula()
Permite seleccionar la fórmula para el cálculo de calorías.
int pedirIndiceValido(int max, const string &mensaje)
Solicita un índice válido al usuario, asegurándose de que esté dentro del rango [0,...
void saveObjects(const string &filename, const vector< Objeto > &objetos)
Guarda la lista de objetos en el archivo.
void deleteObject(const string &filename)
Elimina un objeto nutricional existente. Se muestran los objetos actuales y se pide seleccionar el ob...
vector< Objeto > loadObjects(const string &filename)
Carga la lista de objetos desde el archivo.
void imprimirValor(const string &etiqueta, double &valor, const string &unidad)
Imprime un valor con su etiqueta y unidad, usando colores para indicar si es positivo o negativo.
bool saveUserData(const string &filename, Usuario &user)
Guarda los datos del usuario en el archivo.
void addObject(const string &filename)
Permite crear un nuevo objeto nutricional, solicitando sus datos, calculando sus calorías y guardándo...
void imprimirObjetos(const vector< Objeto > &objetos)
Imprime los objetos nutricionales en consola.
bool loadUserData(const string &filename, Usuario &user)
Carga los datos del usuario desde el archivo.
Estructura que define un objeto nutricional.
Estructura que define un usuario con sus datos nutricionales.