//: C04:Datagen.cpp
// Z knihy "Myslíme v jazyce C++, část 2" od Bruce Eckela a Chucka Allisona.
// (c) 1995-2004 MindView, Inc. Všechna práva vyhrazena.
// Přečtěte si podmínky používání zdrojových kódů umístěné v souboru 
// 'Licence.txt' dodávaném spolu s balíčkem kódu dostupným na www.MindView.net.
// Generátor zkušeních dat
//{L} DataLogger
#include <cstdlib>
#include <ctime>
#include <cstring>
#include <fstream>
#include "DataLogger.h"
#include "../require.h"
using namespace std;

int main() {
  time_t casovac;
  srand(time(&casovac)); // nastavit generátor náhodných čísel
  ofstream data("data.txt");
  assure(data, "data.txt");
  ofstream bindata("data.bin", ios::binary);
  assure(bindata, "data.bin");
  for(int i = 0; i < 100; i++, casovac += 55) {
    // Nula ve 199 metrech:
    double novaHloubka  = rand() % 200;
    double zlomek = rand() % 100 + 1;
    novaHloubka += 1.0 / zlomek;
    double novaTeplota = 150 + rand() % 200; // Kelvin
    zlomek = rand() % 100 + 1;
    novaTeplota += 1.0 / zlomek;
    const MerenyBod d(casovac, Souradnice(45,20,31),
                      Souradnice(22,34,18), novaHloubka,
                      novaTeplota);
    data << d << endl;
    bindata.write(reinterpret_cast<const char*>(&d),
                  sizeof(d));
  }
} ///:~
