Tengo un problema para pasar unas estructuras por valor (&).
Aqui las estructuras
Código C:
Ver originalstruct actores{
char nombre[30];
int edad;
char sexo[1];
};
struct peliculas {
char titulo[50];
char director[35];
int calificacion;
struct actores act[5];
};
BUSCARPELI --> Aqui vemos primero una funcion que me busca la peli y me devuelve la posicion de esta.
BUSCARACTOR --> Luego le pido al usuario una pelicula y en una funcion donde me devuelve una posicion libre para introducir un actor en esa peli (en la funcion compruebo si el actor no esta repetido).
INTRODUCIRACT --> Por ultimo en la funcio 'introduciract' quiero introducir el actor, le paso por valor la pelicula pero COMO LE PASO LA POSICION PARA INTRODUCIR EL ACTOR? COMO LE PASO LA VARIABLE "CELDA2"??????
Código C:
Ver originalcase 2:
printf("\nIntroduce el titulo de la pelicula para el actor: ");
celda = buscarpeli(pelicula, peli);
if(celda!= -1){
printf("\nNombre del actor: ");
celda2 = buscaractor(&pelicula[celda],celda, nom);
introduciract(&pelicula[celda], nom);
}else{
printf("\nNo se encuentra la pelicula"); }
break;
Tengo una funcion que me dice si hay algun actor repetido en el vector de una pelicula
Código C:
Ver originalbool buscaractor(peliculas pelicula[], int celda, char nom[]){
int y=0;
while(pelicula
[celda
].
act[y
].
edad !=0 && strcmp(pelicula
[celda
].
act[y
].
nombre,nom
)!=0 && y
<5 ){ y++;
}
return y;
}
ESTA MAL
Código C:
Ver originalbool introduciract(struct peliculas *pelicula, char nom[]){
int e=0;
strcpy(pelicula
->act
->nombre
,nom
);
do{
scanf("%d", &pelicula
->act
->edad
); }while(pelicula->act->edad <14 || pelicula->act->edad >85);
//do{
gets(pelicula
->act
->sexo
); //}while(pelicula->act->sexo !='h' || pelicula);
return true;
}