//: C02:Datagen.cpp // From Thinking in C++, 2nd Edition // Available at http://www.BruceEckel.com // (c) Bruce Eckel 2000 // Copyright notice in Copyright.txt //{L} Datalog // Test data generator #include "DataLogger.h" #include "../require.h" #include #include #include using namespace std; int main() { ofstream data("data.txt"); assure(data, "data.txt"); ofstream bindata("data.bin", ios::binary); assure(bindata, "data.bin"); time_t timer; // Seed random number generator: srand(time(&timer)); for(int i = 0; i < 100; i++) { DataPoint d; // Convert date/time to a structure: d.setTime(*localtime(&timer)); timer += 55; // Reading each 55 seconds d.setLatitude("45*20'31\""); d.setLongitude("22*34'18\""); // Zero to 199 meters: double newdepth = rand() % 200; double fraction = rand() % 100 + 1; newdepth += double(1) / fraction; d.setDepth(newdepth); double newtemp = 150 + rand()%200; // Kelvin fraction = rand() % 100 + 1; newtemp += (double)1 / fraction; d.setTemperature(newtemp); d.print(data); bindata.write((unsigned char*)&d, sizeof(d)); } } ///:~