// registro.cpp - Definición de la clase CRegistro
#include <iostream>
#include <iomanip>
#include "registro.h" // declaración de la clase CRegistro
using namespace std;

/////////////////////////////////////////////////////////////////
CRegistro::CRegistro() // constructor
{
  memset(referencia, 0, 30);
  precio = 0.0F;
}

void CRegistro::AsignarRegistro(char *ref, float pre)
{
  strcpy(referencia, ref);
  precio = pre;
}

char *CRegistro::ObtenerReferencia(char *ref) const
{
  return strcpy(ref, referencia);
}

float CRegistro::ObtenerPrecio() const
{
  return precio;
}

ostream& operator<<(ostream& os, const CRegistro& reg)
{
  // Visualizar un registro
  // Salida de resultados alineados en columnas
  os << setw(32) << left  // establecer ancho y ajuste a la izda.
     << setfill( '.' )  // carácter de relleno
     << reg.referencia  // escribe la referencia
     << setw(10) << right // establecer ancho y ajuste a la dcha.
     << fixed << setprecision(2) // coma flotante con dos decimales
     << reg.precio << endl; // escribe precio y '\n'
  return os;
}
/////////////////////////////////////////////////////////////////
