Hola, quisiera saber si alguno me hace el favor de decirme en qué me he equivocado porque me estoy volviendo loco y no encuentro el motivo. El ejercicio es el siguiente:
 
Escribe un subprograma que muestre las asignaturas en las que se encuentra matriculado un alumno, al subprograma se le pasará como parámetro la lista de alumnos, y el dni del alumno del que se quiere mostrar sus datos. Escribe un ejemplo de llamada.
 
Bien, yo he hecho lo siguiente:
 
#include <stdio.h>
#include <stdlib.h>
void verDatos(struct lista la, char *cdni);
 
struct asignatura{
    char nombre[30];
    int creditos;
};
struct alumno{
    char nombre [30];
    char dni[10];
    struct asignatura matricula[12];
    int nsignaturas;
};
struct lista{
    struct alumno listadoAlumnos[100];
    int numero_real;
};
struct informe{
    int creditosTotales;
    int nalumnos;
};
struct lista listaAdmitidos={
    {
        {"juan","334g",{{"física",6}},1},
        {"maria","445h",{{"fisica",2},{"fundamentos1",6}},  2},
        {"luis","145g",{{"fisica",6}},1},
        {"pedro","678p",{{"fisica",3}},1},
        {"lorena","745h",{{"fisica",6},{"fundamentos1",6}}  ,2},
        {"pascual","554g",{{"fisica",6},{"calculo",6},{"di  bujo",9}},3},        
    },
    6
};
 
int main(int argc, char** argv) {
 
 
}
void verDatos(struct lista la, char *cdni){
    int i,j;
    for(i=0;i<la.numero_real;i++){
        if(strcmp(la.listadoAlumnos.dni,cdni)==0){
            for(j=0;j<la.listadoAlumnos.nsignaturas;j++){
                printf("Asignatura: %s\n",la.listadoAlumnos.matricula[j].nombre);
            }
        }
 
    }
 
 
 
}
 
Me da error en el subprograma como conflicto en verDatos.
 
Muchas gracias de antemano por leer tanto rollo. 
  
 
 

