Viernes 15 de Noviembre de 2024, 07:58
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
) »
como puedo quitar la funcion struct y hacer que siga funcionando?
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: como puedo quitar la funcion struct y hacer que siga funcionando? (Leído 1569 veces)
ro0ck
Nuevo Miembro
Mensajes: 1
como puedo quitar la funcion struct y hacer que siga funcionando?
«
en:
Jueves 26 de Abril de 2012, 05:19 »
0
mira este es mi codigo ya funciona pero elproblema es cuando es que elprofe no no s ha enseñado la funcion struct no quiere que la usemos y no se como quitarsela y siga funcionado :/
Tweet
droezva
Nuevo Miembro
Mensajes: 23
Re:como puedo quitar la funcion struct y hacer que siga funcionando?
«
Respuesta #1 en:
Jueves 26 de Abril de 2012, 10:30 »
0
Hola!!
Lo que tienes que hacer es extraer las variables de struct y practicamente quedaran como globales
Código: C
typedef
int
matriz
[
26
]
[
280
]
;
struct
registro
{
char
name
[
30
]
;
int
color
;
int
efecto
;
int
fondo
;
int
rellenoletra
;
int
letra
;
int
rellenofondo
;
char
archivo
[
8
]
;
}
R
;
FILE
*
arch
;
y deberan quedar asi
Código: C
typedef
int
matriz
[
26
]
[
280
]
;
char
name
[
30
]
;
int
color
;
int
efecto
;
int
fondo
;
int
rellenoLetra
;
int
letra
;
int
rellenoFondo
;
char
archivo
[
8
]
;
FILE
*
arch
;
donde utilices a R como aqui
Código: C
void
nuevo
(
int
x
,
int
y
)
{
char
tecla
;
int
pos
,
i
;
R.
archivo
[
0
]
=
'\x0'
;
Solamente usaras archivo
Código: C
void
nuevo
(
int
x
,
int
y
)
{
char
tecla
;
int
pos
,
i
;
archivo
[
0
]
=
'\x0'
;
ahora el detalle es que como tus variables ya no estan dentro del struct y son practicamente individuales, entonces las tienes que ir guardando una por una dentro del archivo y de igual manera irlas leyendo, lo que muy bien se puede colocar dentro de unos procedimientos, y asi nada mas llamarlos cuando los necesites.
Código: C
void
leerArchivo
(
FILE
*
arch
)
{
fread
(
name
,
sizeof
(
char
)
,
30
,
arch
)
;
fread
(
&
color
,
sizeof
(
int
)
,
1
,
arch
)
;
fread
(
&
efecto
,
sizeof
(
int
)
,
1
,
arch
)
;
fread
(
&
fondo
,
sizeof
(
int
)
,
1
,
arch
)
;
fread
(
&
rellenoLetra
,
sizeof
(
int
)
,
1
,
arch
)
;
fread
(
&
letra
,
sizeof
(
int
)
,
1
,
arch
)
;
fread
(
&
rellenoFondo
,
sizeof
(
int
)
,
1
,
arch
)
;
fread
(
archivo
,
sizeof
(
char
)
,
8
,
arch
)
;
}
void
escribirArchivo
(
FILE
*
arch
)
{
fwrite
(
name
,
sizeof
(
char
)
,
30
,
arch
)
;
fwrite
(
&
color
,
sizeof
(
int
)
,
1
,
arch
)
;
fwrite
(
&
efecto
,
sizeof
(
int
)
,
1
,
arch
)
;
fwrite
(
&
fondo
,
sizeof
(
int
)
,
1
,
arch
)
;
fwrite
(
&
rellenoLetra
,
sizeof
(
int
)
,
1
,
arch
)
;
fwrite
(
&
letra
,
sizeof
(
int
)
,
1
,
arch
)
;
fwrite
(
&
rellenoFondo
,
sizeof
(
int
)
,
1
,
arch
)
;
fwrite
(
archivo
,
sizeof
(
char
)
,
8
,
arch
)
;
}
si anteriormente tendias que hacer esto
Código: C
void
guardar
(
)
{
arch
=
fopen
(
R.
archivo
,
"a+"
)
;
fwrite
(
&
R
,
sizeof
(
struct
registro
)
,
1
,
arch
)
;
fclose
(
arch
)
;
}
ahora tendras que hacer esto
Código: C
void
guardar
(
)
{
arch
=
fopen
(
archivo
,
"a+"
)
;
escribirArchivo
(
arch
)
;
fclose
(
arch
)
;
}
Saludos Espero y te sirva, va el archivo adjunto Modificado
El mensaje contiene
1 archivo adjunto
. Debes
ingresar
o
registrarte
para poder verlo y descargarlo.
«
última modificación: Jueves 26 de Abril de 2012, 12:36 por droezva
»
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
como puedo quitar la funcion struct y hacer que siga funcionando?