Viernes 8 de Noviembre de 2024, 18:50
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Structs anidados, errores al compilar.
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Structs anidados, errores al compilar. (Leído 1609 veces)
hectornaruto
Nuevo Miembro
Mensajes: 1
Structs anidados, errores al compilar.
«
en:
Domingo 29 de Agosto de 2010, 01:00 »
0
Antes he de decir que he empezado hace una semana y aun no tengo mucha idea de la programación en c pero lo intento.
Por más que busco no encuentro el/los errores en las lineas que me dice el compilador, lo mas seguro es que sea por mi ignorancia.
Este es el código:
Código: C
// ejstruct.c---------------------Práctica de structs anidados-----------------------------------------------
#include <stdio.h>
struct
fecha
{
unsigned
int
dia
,
mes
,
anyo
;
}
;
struct
persona
{
char
nombre
[
20
]
;
unsigned
int
edad
;
int
altura
;
int
peso
;
struct
fecha fec
;
}
;
struct
persona
-
empleado
{
struct
persona unapersona
;
unsigned
int
salario
;
unsigned
int
horas_por_semana
;
}
;
// Prototipos de funciones
void
entrada
(
struct
persona
-
empleado
*
p
)
;
void
muestra
(
struct
persona
-
empleado up
)
;
void
main
(
)
{
// define una variable persona-empleado
struct
persona
-
empleado p
;
// llamada a entrada() transmitiendo la direccion
entrada
(
&
p
)
;
//salida de los datos almacenados
muestra
(
p
)
;
}
void
entrada
(
struct
persona
-
empleado
*
p
)
{
printf
(
"nIntroduzca su nombre: "
)
;
gets
(
p
->
unapersona.
nombre
)
;
printf
(
" introduzca su edad: "
)
;
scanf
(
"%d"
,
&
p
->
unapersona.
edad
)
;
printf
(
"Introduzca su fecha de nacimiento: "
)
;
scanf
(
"%d %d %d"
,
&
p
->
unapersona.
fec
.
dia
,
&
p
->
unapersona.
fec
.
mes
,
&
p
->
unapersona.
fec
.
anyo
)
;
printf
(
"Introduzca su salario: "
)
;
scanf
(
"%d"
,
&
p
->
salario
)
;
printf
(
"Introduzca numero de horas: "
)
;
scanf
(
"%d"
,
&
p
->
horas_por_semana
)
;
}
void
muestra
(
struct
persona
-
empleado up
)
{
puts
(
"nntDatos de un empleado"
)
;
puts
(
"nnt_____________________"
)
;
printf
(
"Nombre: %s n"
,
up.
unapersona
.
nombre
)
;
printf
(
"Edad: %d n"
,
up.
unapersona
.
edad
)
;
printf
(
"fecha de nacimiento: %d-%d-%dn"
,
up.
unapersona
.
fec
.
dia
,
up.
unapersona
.
fec
.
mes
,
up.
unapersona
.
fec
.
anyo
)
;
printf
(
"Altura: %d n"
,
up.
unapersona
.
altura
)
;
printf
(
"Peso: %d n"
,
up.
unapersona
.
peso
)
;
printf
(
"Numero de horas: %d n"
,
up.
horas_por_semana
)
;
}
Aparecen muchos errores al intentar compilar:
Código: Text
hector@hector-laptop:~/C$ gcc -o ejstruct ejstruct.c
ejstruct.c:17: error: expected identifier or ‘(’ before ‘-’ token
ejstruct.c:26: error: expected ‘;’, ‘,’ or ‘)’ before ‘-’ token
ejstruct.c:27: error: expected ‘;’, ‘,’ or ‘)’ before ‘-’ token
ejstruct.c: In function ‘main’:
ejstruct.c:33: error: expected identifier or ‘(’ before ‘-’ token
ejstruct.c:36: error: ‘p’ undeclared (first use in this function)
ejstruct.c:36: error: (Each undeclared identifier is reported only once
ejstruct.c:36: error: for each function it appears in.)
ejstruct.c: At top level:
ejstruct.c:42: error: expected ‘;’, ‘,’ or ‘)’ before ‘-’ token
ejstruct.c:56: error: expected ‘;’, ‘,’ or ‘)’ before ‘-’ token
Por si es de interes el ejemplo es de un libro de Joyanes.
Mi S.O es Ubuntu 10.04.
Gracias de antemano =D
Tweet
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Structs anidados, errores al compilar.