#include <iostream>
#include <fstream>
#include <vector>
#include <string>

#include "Arquivo.h"
#include "Principal.h"

using namespace std;

int saveArq(string nomeArq, ios_base::openmode mode)
{
    int i,j;
    static ofstream arq(nomeArq.c_str(), ios_base::out | mode);
    Simulacao reg;

    if (arq.fail())
        return ERROR;
    else {
        for (j=0; j<simul.size(); ++j) {
            reg = simul[j];

            arq << reg.N << endl;

            for (i=0; i<reg.N; ++i)
                arq << reg.X[i] << " ";
            arq  << endl;

            for (i=0; i<reg.N; ++i)
                arq << reg.Y[i] << " ";
            arq  << endl ;

            arq << reg.DSS << " " << reg.DP << endl;
            arq << reg.US << " " << reg.E1 << " " << reg.E2 << endl;
            // Grava resultado da simulação se houver
            arq  << endl ;

            arq  << endl ;
        }
        arq.close();

        return OK;
    }
}

int readArq(string nomeArq)
{
    int i;
    string s;
    ifstream arq;
    Simulacao reg;

    arq.open(nomeArq.c_str());

    if (arq.fail())
        return ERROR;
    else {
        simul.clear();

        while (arq >> reg.N) {
            for (i=0; i<reg.N; ++i)
                arq >> reg.X[i];

            for (i=0; i<reg.N; ++i)
                arq >> reg.Y[i];

            arq >> reg.DSS >> reg.DP >> reg.US >> reg.E1 >> reg.E2;

            // Ler resultados se existentes
            getline(arq,s);

            simul.push_back(reg);
        }
        arq.close();

        return OK;
    }
}
