C/Visual C - FUNCION RANDOM EN C

 
Vista:

FUNCION RANDOM EN C

Publicado por POLO (9 intervenciones) el 05/03/2004 03:31:12
HOLA!!!

QUISIERA QUE ME AYUDARAN,CON ESTE PROBLEMITA, YA QUE NO SE MUCHO SOBRE C.

TENGO QUE GENERAR REGISTROS CON CLAVES DIFERENTES Y METERLAS A UN ARCHIVO.

O SEA MI REGISTRO PUEDE TENER LOS SIGUIENTES CAMPOS:

CLAVE Y NOMBRE

PERO TENGO QUE GENERAR EL NUMERO DE REGISTROS QUE ME DE EL USUARIO.

ES DECIR....

NUMERO DE REGISTROS: 20

AHORA TENGO QUE GENERAR 20 REGISTROS QUE TENGAN CLAVE Y NOMBRE DIFERENTES PARA CADA UNO.

HE LEIDO QUE SE PUEDE HACER CON LA FUNCION RANDOM PARA GENERAR NUMEROS ALEATORIOS, PERO NO LE ENTIENDO QUISIERA QUE ME DIJERAN COMO AHCERLE O SI TUVIERAN UN CODIGO FUENTE A LA MANO PARA PRESTARMELO O DONDE LO CONSIGO.

MICHAS GRACIAS POR TU ATENCION Y ESPERO ME AYUDES...

GRACIAS....
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:FUNCION RANDOM EN C

Publicado por Geo (36 intervenciones) el 05/03/2004 03:57:00
Con random sólo obtendrás un número aleatorio, no generarás nada. El número aleatorio simplemente te serviría para simular una entrada de usuario en el caso de tu programa, pero lo que quieres es que el usuario introduzca el número, no que el programa genere el número deseado ¿verdad?
Para lo de crear X registros, necesitas hacer uso de la asignación dinámica (en tiempo de ejecución) de memoria, busca información sobre la función malloc();

Quizá en esta página encuentres algo: http://programarenc.webcindario.com

Saludos,
José Jorge (Geo).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:FUNCION RANDOM EN C

Publicado por Nasón (40 intervenciones) el 05/03/2004 16:08:02
Prueba con esto:
#include <stdio.h> //para printf, scanf y fflush
#include <stdlib.h> //para malloc y free
typedef struct
{
char nombre[25]; //array para almacenar el nombre
int clave; //almacena la clave (si es numérica)
} registro; //creo el tipo definido registro
void main()
{
registro *lista = NULL; //lista es un puntero a una estructura
int n, i; //número de elementos de la lista y contador
//pedimos el número de elementos
printf ("¿Cuántos elementos tiene la lista: ");
scanf ("%d", &n);
//asignamos memoria al vector para los n elementos
lista = (registro *)malloc(n * sizeof(registro));
//comprobamos que la asignación se ha realizado
if (lista == NULL)
exit(-1);
//rellenamos los campos
for (i = 0; i < n; i++)
{
printf ("Clave de %d: ", i);
scanf ("%d", &lista[i].clave);
printf ("Nombre de %d: ", i);
fflush(stdin); //limpia el buffer de entrada
gets(lista[i].nombre);
}
//realizas las operaciones que quieras
//y liberas la memoria antes de terminar
free(lista);
}

si no funciona pones otro mensaje
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:FUNCION RANDOM EN C

Publicado por POLO (9 intervenciones) el 19/03/2004 03:37:01
MUCHAS GRACIAS CHAVOS POR SUS COMENTARIOS ME FUERON DE GRAN UTILIDAD SI HAY ALGO EN LO QUE LES PUEDA AYUDAR LO HARIA CON MUCHO GUSTO...

PERO AHORA TENGO OTRA DUDA COMO GENERAR INDICES EN LOS ARCHIVOS ME COMENTABAN QUE TENIA QUE USAR ARBOLES BALANCEADOS Y QUISIERA SABER ALGO SOBRE ESO O ALGUN CODIGO DE ARBOLES.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 11
Ha aumentado su posición en 5 puestos en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

RE:FUNCION RANDOM EN C

Publicado por zzzzz (318 intervenciones) el 06/03/2004 03:59:09
Hola! Para generar números aleatorios es as:
pones la función
randomize (); //para que siempre empieze con números aleatorios diferentes cada vez que ejecutas el programa
luego declaras un entero para guardar el dato aleatoria
int num;
luego usas el random asi:
num=random(100); //que te regresa un numero aleatorio entre 0 y 100 le puedes poner cualquier valor es recomendado 100, 1000, 1000, etc.
para los 20 números que quieres lo puedes poner dentro de un ciclo for.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar