// Archivo main.cpp 
#include <iostream>
#include<locale.h>
#include <windows.h>
#include "venta.hpp"
#include "efectivo.hpp"
#include "tarjeta.hpp"
using namespace std;

void lectura(void);
void titulo(void);
int main()
{
	system("cls");
	system("color 70");
	setlocale(LC_ALL, "");
	string seguir = "S";
	while (seguir == "S" or seguir == "s")
	{
		titulo();
		Sleep(200);
		lectura();
		Sleep(200);
		cout << endl;
		cout << "\n\tDesea procesar otra venta S o N: ";
		cin >> seguir;
		while (seguir != "S" and seguir != "s" and seguir != "N" and seguir != "n")
		{
			cout << "\n\tError. Digite S o  N\t";
			Sleep(200);
			cin >> seguir;
		}
	}
}
void lectura(void)
{
	int ce, cel, ed, omve;
	string no, ciu, act, mov;
	cout << "\n\tDatos del objeto de la clase venta " << endl;
	cout << "\n\t----------------------------------";
	cout << "\n\tIngrese cuatro últimos dígitos de la cédula: ";
	cin >> ce;
	while (ce < 1000 or ce > 9999)
	{
		cout << "\n\tError. Ingrese cuatro últimos dígitos de la cédula: ";
		cin >> ce;
	}
	cout << "\n\tDigite el nombre: ";
	cin >> no;
	cout << "\n\tIngrese últimos cinco dígitos del celular: ";
	cin >> cel;
	while (cel < 10000 or cel > 99999)
	{
		cout << "\n\tError. Ingrese últimos cinco dígitos del celular: ";
		cin >> cel;
	}
	cout << "\n\tDigite la ciudad: ";
	cin >> ciu;
	cout << "\n\tIngrese la edad: ";
	cin >> ed;
	while (ed <= 0 or ed > 150)
	{
		cout << "\n\tError. Ingrese la edad: ";
		cin >> ed;
	}
	cout << "\n\tDigite la actividad: ";
	cin >> act;
	cout << "\n\tDigite el número de la modalidad de venta: 1.Efectivo 2.Tarjeta ";
	cin >> omve;
	while (omve < 1 or omve > 2)
	{
		cout << "\n\tError. Digite el número de la modalidad de venta: 1.Efectivo 2.Tarjeta ";
		cin >> omve;
	}
	if (omve == 1)
	{
		int to, de, vap;
		titulo();
		mov = "Efectivo";
		cout << "\n\tDigite el total de venta: ";
		cin >> to;
		while (to <= 0)
		{
			cout << "\n\tError. Digite el total de venta: ";
			cin >> to;
		}
		if (to < 1000000)
			de = 0.05 * to;
		else
			de = 0.1 * to;
		vap = to - de;
		titulo();
		Venta Ven;
		Ven.getventa(ce, no, cel, ciu, ed, act, mov);
		Ven.setventa();
		Efectivo Efe;
		Efe.getefectivo(ce, no, cel, ciu, ed, act, mov, to, de, vap);
		Efe.setefectivo();
		
	}
	else
	{
		int vt, nc;
		titulo();
		mov = "Tarjeta";
		cout << "\n\tDigite el valor de venta: ";
		cin >> vt;
		while (vt <= 0)
		{
			cout << "\n\tError. Digite el valor de venta: ";
			cin >> vt;
		}
		cout << "\n\tIngrese el número de cuotas: ";
		cin >> nc;
		while (nc <= 0)
		{
			cout << "\n\tError. Ingrese el número de cuotas: ";
			cin >> nc;
		}
		titulo();
		Venta Ven;
		Ven.getventa(ce, no, cel, ciu, ed, act, mov);
		Ven.setventa();
		Tarjeta Tar;
		Tar.gettarjeta(ce, no, cel, ciu, ed, act, mov, vt, nc);
		Tar.settarjeta();
	}
}
void titulo(void)
{
	system("cls");
	system("color 70");
	cout << "\n\tPrograma que procesa la clase Venta aplicando herencia";
	cout << "\n\t------------------------------------------------------";
	cout << endl;
}
// final del archivo main.cpp
