fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4.  
  5. using namespace std;
  6.  
  7. struct Vendedor {
  8. string nombre;
  9. vector<int> ventas; // Ventas por día durante la semana
  10. double sueldoTotal;
  11.  
  12. // Función para calcular el sueldo total basado en las ventas
  13. void calcularSueldo() {
  14. double sueldoBase = 800;
  15. double ganancias = 0;
  16.  
  17. // Calcular las ganancias por cada día
  18. for (int i = 0; i < ventas.size(); i++) {
  19. int prendasVendidas = ventas[i];
  20. if (prendasVendidas >= 3 && prendasVendidas <= 8) {
  21. ganancias += prendasVendidas * 25; // Nivel Principiante
  22. } else if (prendasVendidas >= 9 && prendasVendidas <= 12) {
  23. ganancias += prendasVendidas * 45; // Nivel Intermedio
  24. } else if (prendasVendidas >= 13 && prendasVendidas <= 18) {
  25. ganancias += prendasVendidas * 70; // Nivel Avanzado
  26. }
  27. }
  28.  
  29. sueldoTotal = sueldoBase + ganancias; // Sueldo base + ganancias por ventas
  30. }
  31.  
  32. // Función para imprimir la información del vendedor
  33. void imprimir() {
  34. cout << "Nombre: " << nombre << endl;
  35. cout << "Ventas por dia: ";
  36. for (int i = 0; i < ventas.size(); i++) {
  37. cout << ventas[i] << " ";
  38. }
  39. cout << endl;
  40. cout << "Sueldo Total: $" << sueldoTotal << endl;
  41. cout << "----------------------" << endl;
  42. }
  43. };
  44.  
  45. // Función para ordenar los vendedores por su sueldo total de mayor a menor
  46. bool compararSueldo(const Vendedor &a, const Vendedor &b) {
  47. return a.sueldoTotal > b.sueldoTotal;
  48. }
  49.  
  50. int main() {
  51. int numVendedores;
  52. cout << "Ingrese el numero de vendedores: ";
  53. cin >> numVendedores;
  54.  
  55. vector<Vendedor> vendedores(numVendedores);
  56.  
  57. // Ingreso de datos
  58. for (int i = 0; i < numVendedores; i++) {
  59. cout << "Ingrese el nombre del vendedor " << i + 1 << ": ";
  60. cin >> vendedores[i].nombre;
  61.  
  62. vendedores[i].ventas.resize(7); // 7 días de la semana
  63.  
  64. cout << "Ingrese las ventas por dia para la semana (7 dias):" << endl;
  65. for (int j = 0; j < 7; j++) {
  66. cout << "Dia " << j + 1 << ": ";
  67. cin >> vendedores[i].ventas[j];
  68. }
  69.  
  70. // Calcular el sueldo total
  71. vendedores[i].calcularSueldo();
  72. }
  73.  
  74. // Ordenar los vendedores por su sueldo total de mayor a menor
  75. sort(vendedores.begin(), vendedores.end(), compararSueldo);
  76.  
  77. // Imprimir resultados
  78. cout << "----- Resultados ordenados de mayor a menor sueldo -----" << endl;
  79. for (int i = 0; i < numVendedores; i++) {
  80. vendedores[i].imprimir();
  81. }
  82.  
  83. return 0;
  84. }
Success #stdin #stdout 0s 5288KB
stdin
Standard input is empty
stdout
Ingrese el numero de vendedores: ----- Resultados ordenados de mayor a menor sueldo -----