//====================================================
// Proyecto Modular (Modificado)
// Programación I
// Empresa BTA
// Cálculo del sueldo semanal de un vendedor
// Uso de arreglos y método de ordenamiento Burbuja
//====================================================

#include <iostream>
#include <string>

using namespace std;

int main()
{
    // Declaración de variables
    string nombre;
    string categoria;
    int prendasVendidas[7];
    int totalPrendas = 0;

    double sueldoBaseDiario = 800.0;
    double sueldoBaseSemanal;
    double comision = 0.0;
    double sueldoTotal;

    // Título del programa
    cout << "===========================================" << endl;
    cout << "               EMPRESA BTA" << endl;
    cout << "   CALCULO DEL SUELDO SEMANAL DEL VENDEDOR" << endl;
    cout << "===========================================" << endl;

    // Captura de datos
    cout << "\nIngrese el nombre del vendedor: ";
    cin >> nombre;

    // Capturar prendas vendidas durante los 7 días
    cout << "\nIngrese las prendas vendidas durante la semana:\n";

    for(int i = 0; i < 7; i++)
    {
        cout << "Dia " << i + 1 << ": ";
        cin >> prendasVendidas[i];

        totalPrendas += prendasVendidas[i];
    }

    // Ordenamiento de mayor a menor (Método Burbuja)
    for(int i = 0; i < 6; i++)
    {
        for(int j = 0; j < 6 - i; j++)
        {
            if(prendasVendidas[j] < prendasVendidas[j + 1])
            {
                int aux = prendasVendidas[j];
                prendasVendidas[j] = prendasVendidas[j + 1];
                prendasVendidas[j + 1] = aux;
            }
        }
    }

    // Determinar categoría y comisión con el total semanal
    if(totalPrendas >= 3 && totalPrendas <= 8)
    {
        categoria = "Principiante";
        comision = totalPrendas * 25;
    }
    else if(totalPrendas >= 9 && totalPrendas <= 12)
    {
        categoria = "Intermedio";
        comision = totalPrendas * 45;
    }
    else if(totalPrendas >= 13)
    {
        categoria = "Avanzado";
        comision = totalPrendas * 70;
    }
    else
    {
        categoria = "Fuera de rango";
        comision = 0;
    }

    // Cálculo del sueldo semanal
    sueldoBaseSemanal = sueldoBaseDiario * 7;
    sueldoTotal = sueldoBaseSemanal + comision;

    // Mostrar resultados
    cout << "\n========== RESULTADOS ==========" << endl;
    cout << "Nombre del vendedor: " << nombre << endl;
    cout << "Categoria: " << categoria << endl;

    cout << "\nPrendas vendidas ordenadas de mayor a menor:\n";

    for(int i = 0; i < 7; i++)
    {
        cout << prendasVendidas[i] << endl;
    }

    cout << "\nTotal de prendas vendidas en la semana: "
         << totalPrendas << endl;

    cout << "Sueldo base semanal: $" << sueldoBaseSemanal << endl;
    cout << "Comision: $" << comision << endl;
    cout << "Sueldo total semanal: $" << sueldoTotal << endl;

    return 0;
}