#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include "estructura.h"
#include "funciones.h"

void reservMem(fichaJugador **plantilla, int tam){
    *plantilla = (fichaJugador*)malloc(tam * sizeof(fichaJugador));
}

fichaJugador leerJugador(){
    fichaJugador jugador;
    printf("Introduce el nombre del jugador \n");
    getchar();
    fgets(jugador.nombre, sizeof(jugador.nombre), stdin);
    jugador.nombre[strlen(jugador.nombre)-1]='\0';

    printf("Introduce el dorsal \n");
    scanf("%d", &jugador.dorsal);
    printf ("Introduce el peso \n");
    scanf("%f", &jugador.peso);
    printf ("Introduce la altura \n");
    scanf("%d", &jugador.estatura);

    return jugador;
}

void rellenarPlantilla(fichaJugador **plantilla, int tam){
    for (int i = 0; i < tam; i++){
        (*plantilla)[i] = leerJugador();
    }
}

void listarPlantilla(fichaJugador **plantilla, int tam){
    for (int i = 0; i < tam; i++){
        printf ("JUGADOR %i:", i+1);

        printf("\n Nombre: %s     ", (*plantilla)[i].nombre);
        printf("Dorsal: %d     ", (*plantilla)[i].dorsal);
        printf("Peso: %.2f     ", (*plantilla)[i].peso);
        printf("Estatura: %d    \n\n", (*plantilla)[i].estatura);
    }
}

void borrarPlantilla(fichaJugador ** plantilla, int *tam, char letra) {
    int i = 0;
    while (i < *tam) {
        // Verifica si el nombre contiene la letra (mayúscula o minúscula)
        if (strchr((*plantilla)[i].nombre, tolower(letra)) || strchr((*plantilla)[i].nombre, toupper(letra))) {
            // Mover los jugadores para "eliminar" el jugador actual
            for (int j = i; j < *tam - 1; j++) {
                (*plantilla)[j] = (*plantilla)[j + 1];
            }
            (*tam)--; // Reducir el tamaño de la plantilla
            *plantilla = realloc(*plantilla, (*tam) * sizeof(fichaJugador)); // Reasignar memoria
        } else {
            i++; // Solo avanzar al siguiente jugador si no se eliminó el actual
        }
    }
}

