Foros del Web » Programación para mayores de 30 ;) » C/C++ »

generar un archivo

Estas en el tema de generar un archivo en el foro de C/C++ en Foros del Web. hola el tema es que ultimamente estoy trabajando con programas en los que debo leer alguna structura es decir: struc clima { int hora ,dia,mes,lluvia; ...
  #1 (permalink)  
Antiguo 02/11/2007, 07:03
 
Fecha de Ingreso: octubre-2007
Mensajes: 13
Antigüedad: 17 años, 2 meses
Puntos: 0
generar un archivo

hola el tema es que ultimamente estoy trabajando con programas en los que debo leer alguna structura es decir:

struc clima
{
int hora ,dia,mes,lluvia;
float temperatura , humedad;
};

y hacer un programa que lea esos datos y trabajar pero al no tener un archivo de donde leer los datos no puedo probar el programa, en este caso son datos de todo un año y hay un dato por cada hora es decir:365*24=8760
me gustatia saber si hay alguna forma de crear un archivo con una cantidad "x" de datos aleatorios.

desde ya muchas gracias.
  #2 (permalink)  
Antiguo 02/11/2007, 14:14
 
Fecha de Ingreso: noviembre-2007
Ubicación: http://VentaLocal.com.ar
Mensajes: 6
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: generar un archivo

Este es el codigo para generar en Builder 6
Donde dice 20, es la cantidad de datos a grabar y si mal no recuerdo, para generar numeros aleatorios entre distintos rangos la formula era...

1º randomize();
Para que no repita las secuencias de numeros
2º rand()%n+(k+1)
(CREO) que esto devuelve numeros enteros entre N y K inclusive.
si necesitas flotantes podes multiplicar por 1.00

Saludos

Código:
#include <vcl.h>
#include <fstream.h>
#include <conio.h>
#include <iostream.h>
#pragma hdrstop
#pragma argsused
struct clima {
int hora ,dia,mes,lluvia;
float temperatura , humedad;
};



int main()
{
    fstream f;
    f.open("c://Clima.txt",ios::out|ios::binary);
    for ( int i = 0 ; i < 20 ; i++) {
        clima temp;
        temp.hora = 2230;
        //...
        f.write((char*)&temp,sizeof(clima));
    }
    f.close();

    return 0;
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:57.