Código:
Pues bien, en este código me da errores cuando leo lo que se ha introducido por teclado, si es que me tengo que referir a una estructura que se encuentra dentro de otra. Por ejemplos, con este código:printf("Codigo de linea: "); gets(linea->ID); printf("Nombre de la linea: "); gets(linea->nombre); printf("Laborales (0), Sabados(1), Festivos(3): "); scanf("%d",&linea->servicio.tipo); printf("Ruta: "); scanf("%s %s", &linea->Ruta.origen, linea->Ruta.destino); printf("Hora de salida: "); scanf("%d:%d", &linea->horIni.hora, linea->horFin.min); printf("Salida desde: "); gets(linea->sal); printf("Hora de finalizacion: "); scanf("%d:%d", &linea->horFin.hora, linea->horFin.min); printf("Llegada a: "); gets(linea->lleg); void anadirParada(TipoParada *parada);
scanf("%d",&linea->servicio.tipo);Me dice que tengo un error de sintaxis: '.tipo' : el operando izquierdo señala a 'struct'; utilice '->'
He probado a cambiar '.' por '->', y se me soluciona el error...
Lo que no entiendo es por qué en ese caso se tiene que escribir así...pero en los otros, q son del mismo estilo (p.e. scanf("%s %s", &linea->Ruta.origen, linea->Ruta.destino);) no me pide que lo cambie.
La estructura a la que estoy llamando es esta:
Código:
Utilizo Visual C++ 2008 Express Edition, y el lenguaje es Cstruct sServicio { unsigned char tipo; // 0: laborables; 1: sábados; 2: festivos int frecuencia; // frecuencia en minutos HORA primserv;//primer servicio HORA ultserv;// ultimo servicio }; typedef struct sServicio TipoServicio; struct sTipoRuta { TipoParada origen, destino; }; typedef struct sTipoRuta TipoRuta; struct sTipoLineaBus { char ID[10]; // identificador de linea (L1, L2, C1,...) char nombre[50]; // nombre de la linea (p.e. COVARESA - SAN PEDRO REGALADO) TipoServicio servicio[3]; // laborables , sábados, festivos TipoRuta Ruta; // ruta que sigue el autobus HORA horIni; //hora de salida de la linea char sal[20]; //salida de la linea struct sListaParadas paradas; //enumeracion de paradas (hasta 15, si hacen falta mas se añaden despues) char lleg[20]; //llegada de la linea HORA horFin; //hora de finalizacion HORA perLab; //periodicidad de repeticion de paradas dias laborables HORA perFin; //periodicidad de repeticion de paradas fines de semana-n }; //datos de una linea de bus typedef struct sTipoLineaBus TipoLineaBus;
Muchas gracias de antemano!