-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcarton.h
82 lines (59 loc) · 2.79 KB
/
carton.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
#ifndef CARTON_H_INCLUDED
#define CARTON_H_INCLUDED
#include <stdbool.h>
#define CANTIDAD_NUMEROS_CARTON 8
#define LARGO_DIRECCION_AGENCIA 20
struct _Carton;
typedef struct _Carton * Carton;
/// @brief Crea un Carton con numeros aleatorios
/// @param direccionAgencia La direccion de la agencia
/// @return un Carton con los datos proporcionados
Carton crearCarton(char direccionAgencia[LARGO_DIRECCION_AGENCIA]);
/// @brief Crea un Carton con todos los datos por teclado
/// @return un Carton con los datos proporcionados
Carton crearCartonPorTeclado();
/// @brief Crea un carton vacio, util para inicializar dentro de un arreglo
/// @return un Carton vacio
Carton inicializarCarton();
/// @brief Crea un carton (aleatorio, o por teclado) segun opcion
/// @return el Carton creado
Carton crearCartonSegunOpcion();
/// @brief Obtiene el valor de la direccion de agencia
/// @param c El carton a obtener la direccion de agencia
/// @return La direccion de agencia
char * getCartonDireccionAgencia(Carton c);
/// @brief Obtiene el vector de numeros
/// @param c El carton a obtener el vector
/// @return El vector con los numeros
int * getNumerosCarton(Carton c);
/// @brief Muestra un Carton por consola
/// @param c el Carton
void mostrarCarton(Carton c);
/// @brief Libera espacio en memoria del Carton
/// @param c el Carton a destruir
void destruirCarton(Carton c);
/// @brief Completa el vector con numeros generados aleatoriamente entre el 0-99
/// @param numeros El vector a rellenar
void completarVectorConNumerosAleatorios(int numeros[CANTIDAD_NUMEROS_CARTON], int largoVector);
/// @brief Verifica si existe un numero dentro del vector
/// @param numero El numero a verificar
/// @param numeros El vector
/// @return true Si el numero ya esta en el vector
bool existeNumeroEnVector(int numero, int numeros[CANTIDAD_NUMEROS_CARTON]);
/// @brief Completa el vector leyendo desde teclado
/// @param numeros El vector a rellenar
void completarVectorDesdeTeclado(int numeros[CANTIDAD_NUMEROS_CARTON], int largoVector);
/// @brief Completa el vector con todos los valores en -1
/// @param numeros El vector a rellenar
void inicializarVector(int numeros[CANTIDAD_NUMEROS_CARTON]);
/// @brief Lee desde teclado un numero
/// @param i La posicion, utilizado para decir 'posicion x'
/// @return El numero leido por teclado
int obtenerNumeroDesdeTeclado(int i);
/// @brief Valida si la direccion de agencia es correctas
/// @param direccionAgencia La direccion a validar
void validarDireccionAgencia(char direccionAgencia[LARGO_DIRECCION_AGENCIA]);
/// @brief Ordena el vector de numeros mediante el algoritmo de BubbleSort
/// @param numeros El vector a ordenar
void ordenarVectorBubbleSort(int numeros[], int largoVector);
#endif // CARTON_H_INCLUDED