#include<vector>
#include<fstream>
#include<iostream>
#include<iomanip>
#include<sstream>
#include<string>
using namespace std;
typedef float coordenada ;
typedef struct posicion { coordenada latitud; coordenada longitud; };
typedef struct pixel { posicion posicionpixel; int cuentadigital; };
typedef vector<pixel> :: iterator iterador;
int main()
{
string linealeida, palabraleida;
coordenada revisar;
vector<pixel>vsat;
pixel p;
fstream flujoentrada ("mat.txt");
stringstream flujodestrings, convertir1, convertir2, convertir3;
while(getline(flujoentrada,linealeida))
{
flujodestrings<<linealeida;
getline(flujodestrings,palabraleida,',');
convertir1<<palabraleida;
convertir1>>revisar;
if(convertir1.fail())
{
cerr<<"error"<<endl;convertir1.flush();revisar=00;convertir1.clear();
}
p.posicionpixel.latitud=revisar;
convertir1.clear();
getline(flujodestrings,palabraleida,',');
convertir2<<palabraleida;
convertir2>>p.posicionpixel.longitud;
convertir2.clear();
getline(flujodestrings,palabraleida,',');
convertir3<<palabraleida;
convertir3>>p.cuentadigital;
convertir3.clear();
flujodestrings.clear();
vsat.push_back(p);
}
cout<<setw(15)<<"latitud";
cout<<setw(15)<<"longitud";
cout<<setw(15)<<"cuentadigital"<<endl;
for( iterador iter = vsat.begin() ; iter != vsat.end() ; iter++ )
{
cout<<setw(15)<<iter->posicionpixel.latitud;
cout<<setw(15)<<iter->posicionpixel.longitud;
cout<<setw(15)<<iter->cuentadigital<<endl;
}
return 0;
}