1º error esta en la linea de la declaracion de la funcion
verDatos:
void verDatos ( struct lista la, char *cdni ); que esta mas o menos en la 3º linea.
Estas esperando un objeto del tipo struct lista. Como bien sabemos en c para poder hacer uso de un objeto del tipo que sea, ese objeto debe haber sido declarado anteriormente.
El primer problema se resuelve al
mover la declaracion void verDatos ( struct lista la, char *cdni ); justo despues de haber creado la estructura lista.
Puedes poner la declaracion void verDatos ( struct lista la, char *cdni ); justo antes de main, y ya te funciona por que a esa altura si ya esta declarada la estructura lista:
void verDatos ( struct lista la, char *cdni );
int main ( int argc, char** argv ) {
//blablablalal...
}
2º-El error que veo, es en esta linea: if ( strcmp ( la.listadoAlumnos.dni, cdni ) == 0 ) { ...Dentro de la implementación de la función antes mensionada (void verDatos ( struct lista la, char *cdni )). Intentas hacer una comparacion de
la.listadoAlumnos.dni con
cdni, pero listadoAlumnos es un arreglo, y esta declarado como struct alumno listadoAlumnos[100], dentro de la clase lista.
Asi que la comparacion correcta es struct alumno strcmp ( la.listadoAlumnos
[?].dni, cdni) donde
? es uno de los 100 valores que has declarado.
alumno strcmp ( la.listadoAlumnos.dni, cdni)
alumno strcmp ( la.listadoAlumnos[
?].dni, cdni)
¿ves la diferencia? Tienes 100 variables listadoAlumnos y debes indicar a cual quieres comparar con cdni.
3º-Luego mas abajo en ese mismo if tienes el mismo error for ( j = 0; j < la.listadoAlumnos.nsignaturas; j++ ) {
Es for ( j = 0; j < la.listadoAlumnos
[???].nsignaturas; j++ ) {
Es lo que vi. Espero que te sirva de ayuda =).
Edit
Las estructuras estan muy poco claras.
Miere eso:
Código C:
Ver originalstruct 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
};
Me duele la cabeza al ver semejante raleo.¿Eso funciona? XDD