Y yo ya te he dicho en el primer post que he escrito que si te salen los dos mensajes seguidos es porque en alguna parte antes de llamar a tu funcion, has dejado informacion en la entrada. Tambien te he dicho que el codigo que te he dado tienes que usarlo despues de scanf, asi como que si pones despues de fgets los gechar no podras leer los datos de forma correcta (o si, pero sera una tombola).
Tambien te he corregido el hecho de que si pones despues del fgets los getchar, estaras leyendo informacion que no estaras guardando, asi que si te saltan los dos mensajes uno detras de otro poco arreglas leyendo caracteres que no guardas en ninguna parte, lo que estas haciendo es perder datos.
¡Saludos!
Tambien te he corregido el hecho de que si pones despues del fgets los getchar, estaras leyendo informacion que no estaras guardando, asi que si te saltan los dos mensajes uno detras de otro poco arreglas leyendo caracteres que no guardas en ninguna parte, lo que estas haciendo es perder datos.
¡Saludos!