Pagina 2 - giraffeman123/Magic-Keyboard GitHub Wiki

                                             El registro (registro)

Para ingresar a la gran mayoría de nuestras opciones primero el usuario debe de estar registrado en el sistema. Las variables declaradas son las auxiliares del nombre completo del usuario (ap, am,nom) , el carácter seguir que servirá para conocer si el usuario desea ingresar otro usuario, la bandera (band) que nos sirve para validar si no se ha ingresado ya un usuario con el mismo nombre y una estructura de tipo Persona (P). También tenemos el puntero de tipo archivo que manipula este último y nos sirve para abrir el archivo en modo lectura y agregar. Se empieza el código ingresando el nombre completo en unas variables auxiliares que después se leen como parámetros en la función “buscar_registro” junto con la estructura y , como su nombre lo dice, nos regresa si encontró o no un usuario con el mismo nombre. Si encuentra un usuario con el mismo nombre entonces band no valdrá igual a -1 y tendrá otro valor. Si devuelve -1 significa que no se ha encontrado usuario con el mismo nombre. Ya después de llamar a la función buscar_registro preguntamos si la bandera es igual a -1, si lo es entonces pasamos a copiar en la estructura el nombre completo que teníamos en las variables auxiliares y inicializando el número de canciones a 0 y el audio y nombrecancion con 0 caracteres. Ya que copiamos todo escribimos con fwrite la estructura que recién usamos de persona y la pasamos al archivo. Si bandera no es igual a -1 se desplega con un printf que ya existe el jugador. Finalmente se le pide al usuario si desea ingresar otro usuario, si dice que no entonces se cierra el archivo y termina la función.

                                       La búsqueda de usuario (buscar_registro) 

Esta función tiene como parámetro el nombre completo del usuario dividido en ap,am,nom y una estructura de tipo Persona. Se tiene una variable bandera que obviamente nos servirá como bandera para saber si encuentra o no un usuario y tenemos una variable x que funcionara como un acumulador que nos cambiara el valor de bandera si encuentra algún usuario. Abrimos el archivo en modo lectura y después empezamos por leer el archivo completo, si durante la lectura se encuentra algún usuario que tenga el mismo apellido paterno, materno y nombre que se ingresó anteriormente entonces iguala la bandera a x y se sale de la lectura cerrando el archivo y regresando bandera.

                                        La consulta general (consulta_general)

Dentro de consulta general se tiene una estructura tipo Persona y una variable x=1 que nos sirve en este caso para imprimir el número de usuario. Se abre el archivo en modo lectura y después se empieza a leer este último. Dentro de la lectura se llama a la función “imprimir” para que imprima todos los datos de todos los usuarios existentes. Se le ponen como parámetros la estructura P y la variable x. Después se cierra el archivo y se termina la función.

                                         La impresión de usuario (imprimir)

Dentro de la función de imprimir solo tenemos una variable entera declarada que es y. Esta variable nos sirve para poder declarar un ciclo for que imprimirá el número total de canciones del usuario. Aquí simplemente se imprimen los datos del usuario que se ingresó como parámetro dentro de la función durante ese instante.