Inicio
Buscar
Ingresar
Registrarse
Starfield: el juego que revolucionará el espacio y la tecnología
Hack x Crack - Comunidad de Seguridad informática
»
Programación
»
C / C++
»
Problema ejercicio C
Imprimir
Páginas: [
1
]
Ir Abajo
Autor
Tema: Problema ejercicio C (Leído 3086 veces)
egibar
{ L0 } Ñuub
Mensajes: 7
Problema ejercicio C
«
en:
Octubre 17, 2014, 12:26:25 am »
En la universidad me han mandado el siguiente ejercicio pero no consigo hacerlo bien, si alguien puede ayudarme se lo agradecería.
(a) Define una estructura de datos (socio) para almacenar la siguiente información acerca de un
socio: nombre (40 caracteres), edad y número de socio. A continuación, define la variable
lista_socios como un vector de 2000 elementos de tipo socio.
(b) Escribe un programa principal que lea desde un fichero de entrada los datos de 2000 socios y
los guarde en el vector lista_socios. A continuación, el programa imprimirá en el fichero
jubilados.dat los datos de los socios mayores de 65 años. Al finalizar hay que sacar por
pantalla el tiempo de ejecución del programa. El fichero de entrada (socios.dat) se recibirá
como parámetro en el programa principal.
Código: C
#include <stdio.h>
#include <time.h>
struct
socio
{
int
edad
[
40
]
,
nombre
,
numero
;
}
;
struct
socio lista_socios
[
2000
]
;
main
(
int
argc
,
char
*
argv
[
]
)
{
FILE
*
f1
;
FILE
*
f2
;
struct
socio socios
;
f1
=
fopen
(
"socios.dat"
,
"r"
)
;
f2
=
fopen
(
"jubilados.dat"
,
"w"
)
;
int
i
;
for
(
i
=
0
;
i
<=
2000
;
i
++
)
{
if
(
socios
[
i
]
.
edad
>
65
)
fputs
(
"%s"
,
socios
,
f2
)
;
}
fclose
(
f2
)
;
clock_t start
=
clock
(
)
;
/* Aquí el Código */
printf
(
"Tiempo transcurrido: %f"
,
(
(
double
)
clock
(
)
-
start
)
/
CLOCKS_PER_SEC
)
;
return
0
;
}
«
Última modificación: Octubre 17, 2014, 01:05:30 am por b10s_0v3rr1d3
»
En línea
b10s_0v3rr1d3
Administrador
{ L6 } Flooder del foro
Mensajes: 885
why not die?
Re:Problema ejercicio C
«
Respuesta #1 en:
Octubre 17, 2014, 01:05:09 am »
hi
por un lado, no se permite en el foro peticiones de tareas "No se permite la peticion de tareas ni parecidos, hay que pelearse un poco con las cosas".... faltarian algunos datos para ver mejor el problema que comentas (ya que puede parecer que el code no te compila o algo y es lo que tienes problemas)...
no das muchos detalles de donde tienes el problema ni nada parecido "no lo consigo hacer bien" (donde?? da mas datos...)
luego, mejor si pones el code en una etiqueta para que se muestre mejor dicho code (post editado)....
nos leemos
En línea
ravenheart
{ L7 } Juanker
Mensajes: 1359
Todos mis mensajes están bajo la licencia WTFPL v2
Re:Problema ejercicio C
«
Respuesta #2 en:
Octubre 19, 2014, 02:21:07 pm »
Cita de: egibar en Octubre 17, 2014, 12:26:25 am
int edad[40], nombre, numero;};
Empieza por definir cada variable con su tipo en una línea. La pereza pasa factura. Y revisa bien esa línea, ya que estamos.
Cuando arregles lo que dice b10s_0v3rr1d3, seguimos.
En línea
You do not need hope if you have drama to back you up.
Roy341
{ L0 } Ñuub
Mensajes: 27
Re:Problema ejercicio C
«
Respuesta #3 en:
Octubre 20, 2014, 05:41:40 pm »
Vale yo si entendi mas o menos lo de tu problema:
Aquí va el código...
Código: C
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define TAM 2000
typedef
struct
socio
{
char
nombre
[
40
]
;
int
edad
;
int
numero
;
}
Socio
;
Socio lista_socios
[
TAM
]
=
{
""
,
0
,
0
}
;
void
leeSocios
(
Socio lista_socios
[
]
,
int
x
)
;
void
sociosJuvilados
(
Socio lista_socios
[
]
,
int
x
)
;
int
main
(
void
)
{
FILE
*
ptrLeeFichero
;
FILE
*
ptrEscribeFichero
;
int
f
=
0
;
int
i
=
0
;
int
x
=
TAM
;
if
(
(
ptrLeeFichero
=
fopen
(
"clientes.dat"
,
"rb"
)
)
==
NULL
)
{
printf
(
"Herror al abrir el fichero
\n
"
)
;
}
else
{
while
(
x
!=
0
&&
!
feof
(
ptrLeeFichero
)
)
{
fread
(
&
lista_socios
[
i
]
,
sizeof
(
Socio
)
,
1
,
ptrLeeFichero
)
;
x
--;
i
++;
}
fclose
(
ptrLeeFichero
)
;
}
if
(
(
ptrEscribeFichero
=
fopen
(
"jubilados.dat"
,
"wb"
)
)
==
NULL
)
{
printf
(
"Herror al abrir el fichero
\n
"
)
;
}
else
{
for
(
f
=
0
;
f
<
TAM
;
f
++
)
{
if
(
lista_socios
[
f
]
.
edad
>
65
)
{
fwrite
(
&
lista_socios
[
f
]
,
sizeof
(
Socio
)
,
1
,
ptrEscribeFichero
)
;
}
}
fclose
(
ptrEscribeFichero
)
;
}
clock_t start
=
clock
(
)
;
printf
(
"
\n
Tiempo transcurrido: %.3f
\n
"
,
(
(
double
)
clock
(
)
)
/
CLOCKS_PER_SEC
)
;
}
«
Última modificación: Octubre 20, 2014, 10:23:34 pm por Krakakanok
»
En línea
animanegra
{ L7 } Juanker
Mensajes: 1293
Re:Problema ejercicio C
«
Respuesta #4 en:
Octubre 20, 2014, 07:08:50 pm »
Si no haces este tipo de ejercicios por ti mismo vas a ver que bien te ira en los examenes, y lo que es peor a la hora de hacer programas cuando te toque currar de ello.
La programacion es algo que como no vayas poco a poco y vayas por la vida mirando codigos ajenos, pensaras que lo entiendes y despues no sabras hacer nada por ti mismo.
Yo te recomendaria evitar hacer peticiones de este tipo y no miraria ningun ejercicio resuelto que me hayan mandado. Como no acostumbres a tu cerebro a resolver problemas, despues te vas a ver realmente apurado a la hora de solucionar cualquier problema. Y mas aun si no sabes resolver problemas pequeños, porque como no aprendas a andar dificilmente aprenderas a correr. Te digo porque para mi este tipo de cosas es el dia a dia.
En línea
Errante
Imprimir
Páginas: [
1
]
Ir Arriba
Hack x Crack - Comunidad de Seguridad informática
»
Programación
»
C / C++
»
Problema ejercicio C
Va un mudo y le dice a un sordo: Hack x Crack usa cookies. Pues eso...
OK
Learn more