Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Problema con estructuras en C

Estas en el tema de Problema con estructuras en C en el foro de C/C++ en Foros del Web. Tengo un problema para pasar unas estructuras por valor (&). Aqui las estructuras @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código C: Ver original struct actores {     char ...
  #1 (permalink)  
Antiguo 20/05/2015, 11:57
 
Fecha de Ingreso: febrero-2015
Mensajes: 61
Antigüedad: 9 años, 9 meses
Puntos: 0
Problema con estructuras en C

Tengo un problema para pasar unas estructuras por valor (&).

Aqui las estructuras

Código C:
Ver original
  1. struct actores{
  2.     char nombre[30];
  3.     int edad;
  4.     char sexo[1];
  5. };
  6.  
  7. struct peliculas {
  8.     char titulo[50];
  9.     char director[35];
  10.     int calificacion;
  11.     struct actores act[5];
  12. };





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 original
  1. case 2:
  2.         printf("\nIntroduce el titulo de la pelicula para el actor: ");
  3.         fflush(stdin);
  4.         gets(peli);
  5.  
  6.         celda = buscarpeli(pelicula, peli);
  7.  
  8.  
  9.         if(celda!= -1){
  10.             printf("\nNombre del actor: ");
  11.                     fflush(stdin);
  12.                     gets(nom);
  13.  
  14.             celda2 = buscaractor(&pelicula[celda],celda, nom);
  15.  
  16.  
  17.             introduciract(&pelicula[celda],  nom);
  18.  
  19.  
  20.         }else{
  21.             printf("\nNo se encuentra la pelicula");
  22.         }
  23.  
  24.         break;



Tengo una funcion que me dice si hay algun actor repetido en el vector de una pelicula

Código C:
Ver original
  1. bool buscaractor(peliculas pelicula[], int celda, char nom[]){
  2.     int  y=0;
  3.  
  4.                
  5.                                    
  6.  
  7.                     while(pelicula[celda].act[y].edad !=0 &&  strcmp(pelicula[celda].act[y].nombre,nom)!=0 && y<5 ){
  8.                         printf("\nSI");
  9.                         y++;
  10.                     }
  11.                     printf("\nNO");
  12.                    
  13.                 printf("\n RETURN %d", y);
  14.                 return y;
  15.  
  16.            
  17.            
  18. }




ESTA MAL
Código C:
Ver original
  1. bool introduciract(struct peliculas *pelicula, char nom[]){
  2.     int e=0;
  3.                    
  4.                     strcpy(pelicula->act->nombre,nom);
  5.  
  6.  
  7.                        
  8.                        
  9.                         do{
  10.                         printf("\nEdad del actor: ");
  11.                         fflush(stdin);
  12.                         scanf("%d", &pelicula->act->edad);
  13.                         }while(pelicula->act->edad <14  || pelicula->act->edad >85);
  14.  
  15.  
  16.                         //do{
  17.                         printf("\nSexo del actor: ");
  18.                         fflush(stdin);
  19.                         gets(pelicula->act->sexo);
  20.                         //}while(pelicula->act->sexo !='h' || pelicula);
  21.  
  22.                         return true;
  23. }
  #2 (permalink)  
Antiguo 22/05/2015, 11:19
 
Fecha de Ingreso: mayo-2015
Mensajes: 2
Antigüedad: 9 años, 6 meses
Puntos: 0
Respuesta: Problema con estructuras en C

El problema es que estas usando dos flechas(->), cuando accedes a la estructura actores tenes que usar punto(. ); ejemplo:
Código C:
Ver original
  1. pelicula->act.edad

Saludos

Etiquetas: char, estructuras, funcion, int, struct
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:30.