Antes de nada os enseño las estructuras de mi programa:
Código C:
Ver original
struct actores{ char nombre[30]; int edad; char sexo[1]; }; struct peliculas { char titulo[50]; char director[35]; int calificacion; struct actores act[5]; };
Aqui teneis varias partes de codigo, primero inicializo todos los valores de la estructura.
Luego, le pido al usuario el nombre de una pelicula, posteriormente llamo a una funcion.
En la funcion comparo si la pelicula que me ha dado el usuario y la que tengo en la estructura coincide, si coincide miro si hay algun actor libre (como pone en la estructura de arriba, máximo 5 actores, por eso el 'for') viendo si la edad es igual a 0 (quiere decir que no se ha introducido ningun actor ahi).
Cuando he localizado un hueco donde hay un actor libre le pido al usuario un nombre y aqui es donde tengo el fallo (LINEA 57, ESE WHILE ESTA MAL).
Tengo que mirar en todos los actores de la estructura si hay un actor con el mismo nombre, porque si hay un actor con el mismo nombre no me tiene que dejar introducir ninguno. Y me he liado bastante en esto.
Gracias.
Código C:
Ver original
for(i=0;i<MAX;i++){ pelicula[i].titulo[0]='0'; pelicula[i].director[0]='0'; pelicula[i].calificacion=0; for(e=0;e<5;e++){ pelicula[i].act[e].nombre[0]='0'; pelicula[i].act[e].edad=0; pelicula[i].act[e].sexo[0]='0'; } } introduciract(pelicula, peli); void introduciract(struct peliculas *pelicula, char peli[]){ int i, e, y; char nom[20]; for(i=0;i<MAX;i++){ for(e=0;e<5;e++){ if(pelicula[i].act[e].edad==0){ } } } } } }