Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - yonkikong

#1
Hola buenas es mi primer mensaje, a ver si me podeis ayudar en un problema con un programa con estructuras.


Aqui las estructuras del programa.
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 un problema que tengo con un case del switch.


case 2:
        printf("\nIntroduce una pelicula para buscar: ");
        fflush(stdin);
        gets(peli);

        celda = buscarpeli(pelicula, peli);


        if(celda!= -1){
            printf("\nNombre del actor: ");
                    fflush(stdin);
                    gets(nom);

            celda2 = buscaractor(&pelicula[celda],celda, nom);


            introduciract(&pelicula[celda].act[celda2],  nom);


        }else{
            printf("\nNo se encuentra la pelicula");
        }

        break;


BUSCARPELI --> Aqui vemos primero una funcion que me busca la peli y me devuelve la posicion de esta.

BUSCARACTOR --> Le pido al usuario una pelicula y le paso la posicion de la pelicula, 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 funcion 'introduciract' quiero introducir el actor, le paso por valor la posicion de la pelicula como antes pero COMO LE PASO LA POSICIÓN PARA INTRODUCIR EL ACTOR? COMO LE PASO LA VARIABLE "CELDA2"??????




Me da el error "un argumento de tipo *actores no es compatible con un parámetro de tipo *peliculas".

No entiendo el error y no se como pasarle la posicion celda2.


Un saludo y gracias.