#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
struct Vendedor {
string nombre;
vector<int> ventas; // Ventas por día durante la semana
double sueldoTotal;
// Función para calcular el sueldo total basado en las ventas
void calcularSueldo() {
double sueldoBase = 800;
double ganancias = 0;
// Calcular las ganancias por cada día
for (int i = 0; i < ventas.size(); i++) {
int prendasVendidas = ventas[i];
if (prendasVendidas >= 3 && prendasVendidas <= 8) {
ganancias += prendasVendidas * 25; // Nivel Principiante
} else if (prendasVendidas >= 9 && prendasVendidas <= 12) {
ganancias += prendasVendidas * 45; // Nivel Intermedio
} else if (prendasVendidas >= 13 && prendasVendidas <= 18) {
ganancias += prendasVendidas * 70; // Nivel Avanzado
}
}
sueldoTotal = sueldoBase + ganancias; // Sueldo base + ganancias por ventas
}
// Función para imprimir la información del vendedor
void imprimir() {
cout << "Nombre: " << nombre << endl;
cout << "Ventas por dia: ";
for (int i = 0; i < ventas.size(); i++) {
cout << ventas[i] << " ";
}
cout << endl;
cout << "Sueldo Total: $" << sueldoTotal << endl;
cout << "----------------------" << endl;
}
};
// Función para ordenar los vendedores por su sueldo total de mayor a menor
bool compararSueldo(const Vendedor &a, const Vendedor &b) {
return a.sueldoTotal > b.sueldoTotal;
}
int main() {
int numVendedores;
cout << "Ingrese el numero de vendedores: ";
cin >> numVendedores;
vector<Vendedor> vendedores(numVendedores);
// Ingreso de datos
for (int i = 0; i < numVendedores; i++) {
cout << "Ingrese el nombre del vendedor " << i + 1 << ": ";
cin >> vendedores[i].nombre;
vendedores[i].ventas.resize(7); // 7 días de la semana
cout << "Ingrese las ventas por dia para la semana (7 dias):" << endl;
for (int j = 0; j < 7; j++) {
cout << "Dia " << j + 1 << ": ";
cin >> vendedores[i].ventas[j];
}
// Calcular el sueldo total
vendedores[i].calcularSueldo();
}
// Ordenar los vendedores por su sueldo total de mayor a menor
sort(vendedores.begin(), vendedores.end(), compararSueldo);
// Imprimir resultados
cout << "----- Resultados ordenados de mayor a menor sueldo -----" << endl;
for (int i = 0; i < numVendedores; i++) {
vendedores[i].imprimir();
}
return 0;
}