Ciao a tutti,
vi chiedo gentilmente il vostro aiuto su un codice.
Il codice che sto cercando di scrivere, legge un file di testo ("prova.txt") formato da due colonne. Consideriamo solo la prima colonna.
Molte righe della prima colonna sono sempre uguali, ed io vorrei associare per tutte queste righe il valore "86400". Man mano che le righe scendono, il valore della riga cambia, e a queste nuove righe io dovrei associare il valore precedente (cioè 86400) + 86400 (quindi 86400+86400 = 172800) e cosi via.. (172800+86400=259200).
Il programma mi funziona solo per le prime due serie di righe, poi dalla terza serie di riga con valori diversi non fa più quello che dovrebbe fare.
Qualcuno sa dirmi dove sbaglio?
#include <fstream>
#include <iostream>
#include <string>
#include <stdlib.h>
#include <iomanip>
using namespace std;
const char *input_filename = "prova.txt";
const char *output_filename = "output.txt";
int main()
{
std::ifstream cluster_input(input_filename);
if (!cluster_input)
{
std::cerr << "Errore nell'apertura del file di input\n";
return 1;
}
std::ofstream cluster_output(output_filename);
if (!cluster_output)
{
std::cerr << "Errore nella creazione del file di output\n";
return 2;
}
double giuliano, RMS;
int fisso = 86400;
int data = 2456373;
int NUOVOgiuliano;
int evento;
while (cluster_input >> giuliano>> RMS)
{
evento=fisso;
if (giuliano==data) {NUOVOgiuliano=evento;
cluster_output <<fixed<<setprecision(0)<<NUOVOgiuliano<<" "<<setprecision(3)<<RMS<<endl;}
if(giuliano!=data) {NUOVOgiuliano = evento + fisso;
cluster_output <<fixed<<setprecision(0)<<NUOVOgiuliano<<" "<<setprecision(3)<<RMS<<endl;}
NUOVOgiuliano=evento;
}
cluster_input.close();
cluster_output.close();
cout<<" OK !!!!! "<<endl;
return 0;
}
non riesco allegare il file prova.txt, lo srivo qui di seguito:
2456373 0.399
2456373 0.399
2456373 0.399
2456373 0.399
2456373 0.399
2456373 0.400
2456374 0.400
2456374 1.013
2456374 0.402
2456374 0.400
2456375 0.399
2456375 0.397
2456375 0.397
2456375 0.397
2456375 0.397
2456375 0.397
2456375 0.397
2456376 0.397
2456376 0.397
2456376 0.397
2456376 0.397
2456376 0.397
2456376 0.397
2456376 0.397
2456377 0.397
2456377 0.397
2456377 0.397
2456377 0.397
2456377 0.397
2456377 0.397
2456377 0.397