-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmanejoDeClientes.h
120 lines (106 loc) · 4.01 KB
/
manejoDeClientes.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#ifndef CLIENTES_H_INCLUDED
#define CLIENTES_H_INCLUDED
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "manejoDeClientes.h"
typedef struct
{
char plan[25];
int diasDelPlan;
int idDePlan;
char nombre[20];
char apellido[20];
int DNI;
int edad;
char domicilio[25];
float peso;
float estatura;
int bajaPasiva;
int diasConcurridosEstaSemana;
} stArchivo;
typedef struct
{
char nombre[20];
char apellido[20];
int DNI;
int edad;
char domicilio[25];
float peso;
float estatura;
int bajaPasiva; /// 1 para alta, 0 para baja
int diasConcurridosEstaSemana;///cant de dias, inic en 0
} stCliente;
typedef struct nodoArbol
{
stCliente cliente;
struct nodoArbol* izq;
struct nodoArbol* der;
} nodoArbol;
typedef struct
{
int idPlan; /// 1 para starter, 2 para intermedio, 3 para avanzado, 4 para experto
char plan[25];///starter-intermedio-avanzado-experto
int diasDelPlan;///3 4 5 7
struct nodoArbol* arbol;
} stCeldaPlanes;
struct Alimento
{
char nombre[50];
float calorias;
float proteinas;
float grasas;
float carbohidratos;
int elegido; // Nuevo campo para rastrear si el alimento ha sido seleccionado
};
/// Prototipados
void exportarClientesCSV();
int archi2ADA(stCeldaPlanes ADA[], int dimension, const char ARCHIVO_PLANES[]);
int altaCliente(const char ARCHIVO_PLANES[], stCeldaPlanes ADA[], int validos, stCliente clienteTmp, int idDelPlan, char nombrePlan[], int diasDelPlan);
int agregarEnArregloClientes(stCeldaPlanes ADA[], int validos, stCeldaPlanes planTmp);
int buscarPosicionEnElArreglo(stCeldaPlanes ADA[], int validos, stCeldaPlanes planTmp);
int buscarPosicionEnElArregloConID(stCeldaPlanes ADA[], int validos, int id);
stCeldaPlanes convertirAPlanes(char plan[25], int diasDelPlan, int idDelPlan);
stCliente convertirACliente(stArchivo archi);
void pasarNuevoClienteAlArchivo(const char ARCHIVO_PLANES[], stCliente clienteTmp, int idDelPlan, char nombrePlan[], int diasdelPlan);
nodoArbol* buscarDNIEnADA(stCeldaPlanes ADA[], int validos, int dni);
int cargarADA(const char ARCHIVO_PLANES[],stCeldaPlanes ADA[], int validos, int dniEntrada);
int preguntarDNI();
stArchivo buscarPorDNIretornarTodaLaInformacion(int dni);
void bajaCliente(stCeldaPlanes ADA[], int validos, int dni);
void restaurarCliente(stCeldaPlanes ADA[], int validos, int dni);
void contarAsistencia(stCeldaPlanes ADA[], int validos, int dni);
void reiniciarAsistencia(stCeldaPlanes ADA[], int validos, int dni);
float calcularIMC(float peso, float estatura);
void modificarClienteEnElADAyEnElArchivo(stCeldaPlanes ADA[], int validos, int dni);
nodoArbol * modificarClienteIndividual(nodoArbol * cliente);
stArchivo formatoADA2Archi(int idPlan, char nombrePlan[], int diasDelPlan, stCliente cliente);
void cambiarDePlan(stCeldaPlanes ADA[], int validos, int dni, int nuevoID, char nuevoNombre[], int nuevoDias);
void eliminarCliente(stCeldaPlanes ADA[], int validos, int dni);
void restaurarCliente(stCeldaPlanes ADA[], int validos, int dni);
void generarRutina3dias();
void generarRutina4dias();
void generarRutina5dias();
void generarRutina6dias();
char* generarRutinaMuscular(int dias);
void listadoClientes();
void mostrarPlan(stCeldaPlanes plan);
void mostrarArbol(nodoArbol * arbol);
void mostrarClienteIndividual(stCliente cliente);
void imprimirEncabezado();
void imprimirMenu();
void mostrarUnStArchivo(stArchivo archi);
void mostraArchivoCompleto();
void modificarClienteEnElArchivo(stArchivo archi);
void controlCliente();
void crearDietaYExportar();
void imprimirListaAlimentos(struct Alimento alimentos[], int numAlimentos);
void obtenerNombreUsuario(char *nombre[]);
void abrirArchivo(const char *nombreArchivo);
/// TDA arbolCliente
nodoArbol * inicArbol();
nodoArbol * cargarNodoArbolClientes(stCliente cliente);
nodoArbol * insertar(nodoArbol * arbol, nodoArbol * nuevo);
nodoArbol * buscarArbolCliente(nodoArbol * arbol, int dni);
/// usaremos la librer�a de pilas para manejar pesas o discos del inventario.
#endif // CLIENTES_H_INCLUDED