Foro: Dudas y Consultas

TP FINAL

TP FINAL

de Usuario eliminado -
Número de respuestas: 1

Profe tengo un error en la parte de la validacion del nick!, en la primera iteracion no me valida los nick, osea puede ingresar 3 usuarios con el mismo nick, pero en la 2da iteracion recien empieza a validar cual seria mi error? le dejo el modulo buscar y el agregar

 

bool buscar(pjugador lista,tcad nick){
bool existe=false;
tjugador j;
lista=fopen("jugadores.txt","rb");//abierto en modo lectura
if(lista!=NULL || contar(lista)!=0){
while(!feof(lista) && existe==false){
fread(&j,sizeof(j),1,lista);
if(strcmp(j.nickname,nick)==0)
existe=true;
}
}
fclose(lista);
return existe;
}
void agregar(pjugador lista){
int op; //var que indica cantidad de usuarios a agregar
tjugador j;//variable para cargar los datos de tipo registro
cout<<" Ingrese Cantidad de jugadores a Registrar "<<endl;
cin>>op;
lista=fopen("jugadores.txt","ab+");//abierto de modo que agrega, tmbn en escritura/lectura
while(op!=0){
system("cls");
carga(j);
if(buscar(lista,j.nickname)==true){//si encuentra el dato
cout<<" Nickname ingresado Existente, Ingrese datos correctos . . . "<<endl;
}
else{//si es false escribe en el archivo
fwrite(&j,sizeof(j),1,lista);
cout<<" Jugador Agregado con Exito ! "<<endl;
op--;
}
system("pause");
};
fclose(lista);
}