Esto es unexamen de practicas que hay que realizar, la lógica del contenido es correcta, pero se que tengo muchos errores de compilación debido a mi desconocimiento de C.
Me vendría muy bien que algun experto pudiera decirme que estoy haciendo mal, un saludo.
Código c:
Ver original
/****************************************************************** * Archivo generado autom·ticamente por MetaEdit+ * Nombre: DE_2_-_Registrar_Jugador.c * Tipo: CÛdigo Fuente (.c) * Autores: ******************************************************************/ #include "registrar_Jugador.h" Reg_equipo equipos; Reg_alumno alumnos; Reg_equipo_jugador requip; Reg_sancion sancion; int es_valido=0; FILE *fich; char equipo[30]; char nif[9]; int fin=0; char cadena[100]; int ok =0; /*********************************************************************** * FunciÛn: Actualizar_Jugador * DescripciÛn: ------ * Par·metros Entrada: - nif_j (Est·ndar): - nombre_e_v (Est·ndar): * Par·metros Salida: ------- ***********************************************************************/ void Actualizar_Jugador (int nif, char equipo ) { //ESCRIBIR_EQUIPO_JUGADOR (Reg_equipo_jugador , int * ); } /*********************************************************************** * FunciÛn: Imprimir_Listado * DescripciÛn: ------ * Par·metros Entrada: - listado (Est·ndar): - nombre_e_v (Est·ndar): * Par·metros Salida: ------- ***********************************************************************/ void Imprimir_Listado (Reg_alumno alumnos, char equipo ) { // IMPRIMIR_LINEA (char *, int * ); int existe=1; do { *alumnos= recuperar(); if (alumnos==NULL) { existe=0; } else { } } while (existe==1) } /*********************************************************************** * FunciÛn: Mostrar_Jugadores * DescripciÛn: ------ * Par·metros Entrada: - nombre_e_v (Est·ndar): * Par·metros Salida: ------- ***********************************************************************/ void Mostrar_Jugadores (char equipo ) { Imprimir_Listado (listado_jugadores , nombre_equipo ); } /*********************************************************************** * FunciÛn: Obtener_Alumno_Valido * DescripciÛn: ------ * Par·metros Entrada: ------- * Par·metros Salida: - fin (Flag Descriptivo): - nif_a_v (Est·ndar): ***********************************************************************/ void Obtener_Alumno_Valido (char *nif, int *fin ) { //Obtener_Alumno (nif *, int * ); *fin=1; } /*********************************************************************** * FunciÛn: Obtener_Equipo_Valido * DescripciÛn: ------ * Par·metros Entrada: ------- * Par·metros Salida: - nombre_e_v (Est·ndar): ***********************************************************************/ void Obtener_Equipo_Valido (char *equipo ) { //Obtener_Nombre (nombre_equipo *, int * ); //char equipo [30]; void Validar_Equipo ( char equipo , int *es_valido ); } /*********************************************************************** * FunciÛn: Obtener_Jugador * DescripciÛn: ------ * Par·metros Entrada: ------- * Par·metros Salida: - fin (Flag Descriptivo): - nif_j (Est·ndar): ***********************************************************************/ void Obtener_Jugador (char *nif, int *fin ) { void Obtener_Alumno_Valido (char *nif, int *fin ); void Validar_NO_Inscrito (char nif , int *ok ); void Validar_NO_Sancionado (char nif , int *ok ); } /*********************************************************************** * FunciÛn: Registrar_Jugador * DescripciÛn: ------ ***********************************************************************/ void Registrar_Jugador ( ) { void Obtener_Equipo_Valido (char *equipo ); inicializar_lista(); void Obtener_Jugador (char *nif , int *fin ); void Actualizar_Jugador (int nif , char equipo ); void Mostrar_Jugadores (char equipo ); } /*********************************************************************** * FunciÛn: Validar_Equipo * DescripciÛn: ------ * Par·metros Entrada: - nombre_e (Est·ndar): * Par·metros Salida: - es_valido (Flag Descriptivo): ***********************************************************************/ void Validar_Equipo (char equipo, int *es_valido ) { //LEER_EQUIPOS (Reg_equipo *, int * ); mostrar_error(6); } *es_valido=1; } } if (es_valido==0) { mostrar_error(4); void Obtener_Equipo_Valido (char *equipo); } } /*********************************************************************** * FunciÛn: Validar_Existe * DescripciÛn: ------ * Par·metros Entrada: - nif_a (Est·ndar): * Par·metros Salida: - es_valido (Flag Descriptivo): ***********************************************************************/ void Validar_Existe (char nif, int *es_valido ) { /*LEER_ALUMNOS (Reg_alumno *, int * );*/ mostrar_error(6); } *es_valido=1; } } if (*es_valido==1) { void insertar( alumnos); } else { mostrar_error(4); void Obtener_Jugador(char *nif, int *fin); } } /*********************************************************************** * FunciÛn: Validar_NO_Inscrito * DescripciÛn: ------ * Par·metros Entrada: - nif_a_v (Est·ndar): * Par·metros Salida: - ok (Flag Descriptivo): ***********************************************************************/ void Validar_NO_Inscrito (char nif, int *ok ) { //LEER_EQUIPO_JUGADOR (Reg_equipo_jugador *, int * ); mostrar_error(6); } mostrar_error(3); borrar(); void Obtener_Alumno_Valido (char *nif, int *fin ); } } } /*********************************************************************** * FunciÛn: Validar_NO_Sancionado * DescripciÛn: ------ * Par·metros Entrada: - nif_a_v (Est·ndar): * Par·metros Salida: - ok (Flag Descriptivo): ***********************************************************************/ void Validar_NO_Sancionado (char nif, int *ok ) { //LEER_SANCIONES (, int * ); mostrar_error(6); } mostrar_error(2); void Obtener_Alumno_Valido (char *nif, int *fin ); } } }
Este es el modulo registrar_jugador, el cual se supone que hace funcionar el resto del programa, a través de la funcion con su mismo nombre y que va lanzando el resto de funciones, el trabajo consta de una librería libmtp.c, y de un cluster donde se guarda un array de structs para después poder imprimirlos por pantalla.
Los errores que me da son basicamente estos:
Conflicting types para todos los tipos de struct utilizados, los cuales estan declarados en el fichero "libmtp.c"
Nested functions are disabled. Este en particular me deja bastante loco.
Voy a ir poniendo el resto de codigo en otros posts para que no ralle tanto, se que estoy pasando por alto pequeños detalles de compilacion que desconozco.