//---------------------------------------------------------------------------
#include <iostream>
#include <iomanip>
#include <windows.h>
using namespace std;
int main(int argc, char* argv[])
{
int valor[5] = {500, 50, 6, 88, 100000};
float n[5] = {12.5, 55.100, 100.555, 5000.227, 8.77};
double m[5] = {1250.5678, 50.12, 12.444, 4.556, 500.087};
HANDLE hstdout = GetStdHandle(STD_OUTPUT_HANDLE);
bool color=false;
long precisionOriginal = cout.precision(); //Guardamos la precision actual
long flagsOriginales = cout.flags(); //Guardamos los flags originales
//Fila titulo
SetConsoleTextAttribute(hstdout,0xA0);
cout << setw(16) << fixed << right << "Columna 1"
<< setw(16) << fixed << right << "Columna 2"
<< setw(16) << fixed << right << "Columna 3" << endl << endl;
//Cambiamos la precision y la alineacion por lo que deseemos
cout.precision(2);
cout.flags(ios::right);
//Filas con numeros
for(int i=0; i<5; i++){
color = !color;
SetConsoleTextAttribute(hstdout,(color*0x8)+0x2);
cout << setw(15) << fixed << (double)valor[i] << "$"
<< setw(15) << fixed << n[i] << "$"
<< setw(15) << fixed << m[i] << "$" << endl;
}
//Restauramos precision y flags
cout.precision(precisionOriginal);
cout.flags(flagsOriginales);
SetConsoleTextAttribute(hstdout,0x7);
cout << endl << "Pulsa intro para salir.";
cin.get();
return 0;
}
//---------------------------------------------------------------------------