Está en la página 1de 3

#include <iostream>

using namespace std;


class Factura
{//programa Para factura
private:
string elnumero de lapieza;
string formaDeLaPieza;
int lacanidaddelaPieza;
int elpreciodelapieza;
public:
eFactura(string numero, string descripcion, int cantidad, int precio);
string EstablecerNumero(string numero);
string establecerDescripcion(string descripcion);
int establecerCantidad(int cantidad);
int establecerPrecio(int precio);
void obtenerNumero();
void obtenerDescripcion();
void obtenerCantidad();
void obtenerPrecio();
void obtenerMontoFactura();
};
eFactura::Factura(string numero, string descripcion, int cantidad = 0, int precio = 0){
numeroDePieza = establecerNumero(numero);
descripcionDeLaPieza = establecerDescripcion(descripcion);
cantidadDeLaPieza = establecerCantidad(cantidad);
precioDelLaPieza = establecerPrecio(precio);
}
string Factura::establecerNumero(string numero)
{
if (numero.length() <= 10)
return numero;
if (numero.length() > 10)
{
cout << "El numero \"" << numero << "\" excede la longitud maxima (10).\n"
"se limita numeroDePieza a los primeros 10 caracteres. \n" << endl;
return numero.substr(0, 10);
}
}
string Factura::establecerDescripcion(string descripcion)
{
if (descripcion.length() <= 25)
return descripcion;
if (descripcion.length() > 25)
{
cout << "La descripcion \"" << descripcion << "\" excede la longitud maxima (25).\n"
"se limito la descripcionDeLaPieza a los primeros 25 caracteres. \n" << endl;
return descripcion.substr(0, 25);
}
}
int Factura::establecerCantidad(int cantidad = 0)
{
if (cantidad >= 0)
return cantidad;
if (cantidad < 0)
cout << "\nLa cantidad de piezas no puede ser negativa ";
return 0;
}
int Factura::establecerPrecio(int precio = 0)
{
if (precio >= 0)
return precio;
if (precio < 0)
cout << "\nEl precio de las pieza no puede ser negativa ";
return 0;
}
void Factura::obtenerNumero()
{
cout << "\n#" << numeroDePieza;
}
void Factura::obtenerDescripcion()
{
cout << "\n" << descripcionDeLaPieza;
}
void Factura::obtenerCantidad()
{
cout << "\nCantidad: " << cantidadDeLaPieza;
}
void Factura::obtenerPrecio()
{
cout << "\nPrecio: " << precioDelLaPieza << "Bsf";
}
void Factura::obtenerMontoFactura()
{
int monto = cantidadDeLaPieza * precioDelLaPieza;
if (monto < 0) monto = 0;
cout << "\nMonto total a pagar: " << monto << "Bsf" << endl;
}
int main()
{
Factura llave("1","llave Inglesa",2,100);
llave.obtenerDescripcion();
llave.obtenerNumero();
llave.obtenerCantidad();
llave.obtenerPrecio();
llave.obtenerMontoFactura();
cout << endl;
Factura martillo("2","Martillo");
martillo.establecerCantidad(2);
martillo.establecerPrecio(100);
return 0;
}

También podría gustarte