Funcion Eliminar un usuario

MaRaNeLL0

Bueno , seguimos como ayer con los DNIs.
Tengo una lista con diferentes jugadores ( los cuales yo registro previamente) y ahora tengo eliminar el que yo desee , la manera es introduciendo el DNI del usuario a eliminar , y se deberá borrar de la lista.
He intentado con varias que he hecho , pero ninguna de ellas me funciona.
La ultima que he realizado es :

TipusJugador *EliminarNode(TipusJugador *primer_jug)
{
TipusJugador *q, *ant;
char DNI[10];

system ("cls");
printf ("\n\tQuin es el jugador que se'n vol anar del casino? (Escrigui el DNI)\n\n\t");
fflush(stdin);
gets(DNI);

if(primer_jug==NULL)
	printf("\n\tError al eliminar un usuari, nick no registrat.");
else
{
	q=primer_jug;
	while(q != NULL && 1==strcmp(q->DNI,DNI))
	{
		ant=q;
		q=q->seguent;
	}
	if(1==strcmp(q->DNI,DNI)) printf("\n\tError al eliminar un usuari, nick no registrat.");
	else
	{
		if(q==primer_jug)
			primer_jug=primer_jug->seguent;
		else
			ant->seguent=q->seguent;
		free(q);
		}
}
return primer_jug;

}

Como veis tengo que borrarlo de la memoria.
Saludos y gracias

javithelong

El primer jugador no podrás borrarlo, porque no puedes modificar el puntero con una única referencia a él, necesitas 2.

Traduzco, tienes que pasar el TipoJugador ese con doble puntero a la funcion (TipoJugador ** primero), y toquetear todo el código poniendo *'s donde toque.

Así a simple vista, creo que con eso te funcionará.

Saludos

MaRaNeLL0

Evitando copias!

javithelong

No hace falta que devuelvas el primer_jugador ese, devuelve un 0 de OK, la función ha modificado la lista ya.

Y si, tiene buena pinta, no se, pruebalo ^^

WuRzAg

el tiempo de entrega se te acaba tic tac, te kedan menos de 40 minutos xDDDD

MaRaNeLL0

JAjaja , uno de la uab tb?
Nah , tengo hasta el martes a las 12.
A que curso vas? ;)

WuRzAg

la tengo ke terminar para antes de las 12 y me keda retocarla, estoy repitiendo xDD

MaRaNeLL0

Animo :) .
Te acepto el link de descarga a la practica en una firmita en mi perfil . xDDD
Habia que cambiar una cosita mas , pero ya funciona , gracias de nuevo

Usuarios habituales

  • MaRaNeLL0
  • WuRzAg
  • javithelong