macro-tracker v1.0.3
Simple Macro Tracker made (in C++) because all the apps have tons of ads and limited custom foods, so you need to enter all the macros every time you eat anything and that is a pain in the ass.
Cargando...
Buscando...
Nada coincide
funciones.h
Ir a la documentación de este archivo.
1#ifndef FUNCIONES_H_INCLUDED
2#define FUNCIONES_H_INCLUDED
3
4#include <iostream>
5#include <fstream>
6#include <sstream>
7#include <vector>
8#include <cstdlib>
9#include <string>
10
11using namespace std;
12/* ================= Prototipos de funciones ================= */
16struct Objeto {
17 string nombre;
18 double proteina;
20 double grasa;
21 double fibra;
22 double calorias; // Se calcula como: proteina*4 + carbohidratos*4 + grasa*9 + fibra*2
23};
24
31struct Usuario {
32 string nombre;
33 double altura;
34 double peso;
35 int edad;
40 double targetFat;
41 double targetCarb;
45};
46
69bool loadUserData(const string &filename, Usuario &user);
70
80bool saveUserData(const string &filename, Usuario &user);
81
93void editUserData(Usuario &user, const string &filename);
94
105
115double calculateCalories(double peso, double altura, int edad, int formulaOption);
116
123void resetDailyMarker(const string &userFile, Usuario &user);
124
134vector<Objeto> loadObjects(const string &filename);
135
142void saveObjects(const string &filename, const vector<Objeto> &objetos);
143
150void addObject(const string &filename);
151
158void deleteObject(const string &filename);
159
169void consumeObjects(const string &objFile, const string &userFile, Usuario &user);
170
178void imprimirValor(const string &etiqueta, double &valor, const string &unidad);
179
191void mostrarRestante(double &remainingCal,
192 double &remainingProtein,
193 double &remainingFat,
194 double &remainingCarb);
195
204void calcularMacrosObjetivo(double maintenanceCal, double &targetProtein, double &targetFat, double &targetCarb);
205
212double pedirNumero(const string& mensaje);
213
221int pedirIndiceValido(int max, const string& mensaje);
222
228void imprimirObjetos(const vector<Objeto> &objetos);
229
230#endif // FUNCIONES_H_INCLUDED
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.
Definition Functions.cpp:75
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.
Definition Functions.cpp:52
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.
Definition Functions.cpp:14
Estructura que define un objeto nutricional.
Definition funciones.h:16
double grasa
Definition funciones.h:20
double carbohidratos
Definition funciones.h:19
double proteina
Definition funciones.h:18
double fibra
Definition funciones.h:21
double calorias
Definition funciones.h:22
string nombre
Definition funciones.h:17
Estructura que define un usuario con sus datos nutricionales.
Definition funciones.h:31
string nombre
Definition funciones.h:32
double remainingFat
Definition funciones.h:43
double targetCarb
Definition funciones.h:41
double maintenanceCal
Definition funciones.h:37
int edad
Definition funciones.h:35
double altura
Definition funciones.h:33
int formula
Definition funciones.h:36
double targetFat
Definition funciones.h:40
double peso
Definition funciones.h:34
double remainingCarb
Definition funciones.h:44
double remainingProtein
Definition funciones.h:42
double remainingCal
Definition funciones.h:38
double targetProtein
Definition funciones.h:39