fork download
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4.  
  5. // Estructura para guardar datos de cada venta diaria por vendedor
  6. struct VentaDiaria {
  7. string vendedor;
  8. float ventas;
  9. };
  10.  
  11. // Estructura para guardar sueldo total por vendedor
  12. struct SueldoTotal {
  13. string vendedor;
  14. float sueldo;
  15. };
  16.  
  17. int main() {
  18. // 1. Arreglo de ventas por día (7 días) - arreglo 2D de VentaDiaria
  19. // Cada día tiene hasta 3 vendedores (ajustable si es necesario)
  20. const int DIAS_SEMANA = 7;
  21. const int MAX_VENDEDORES_POR_DIA = 3; VentaDiaria
  22. ventasPorDiaSemana[DIAS_SEMANA][MAX_VENDEDORES_POR_DIA] = {
  23. // Lunes
  24. {{"María", 1500}, {"Juan", 2000}, {"Luis", 1800}},
  25. // Martes
  26. {{"María", 1800}, {"Juan", 1600}, {"Luis", 2100}},
  27. // Miércoles
  28. {{"María", 2200}, {"Juan", 1900}, {"Luis", 1700}},
  29. // Jueves
  30. {{"María", 1700}, {"Juan", 2100}, {"Luis", 1900}},
  31. // Viernes
  32. {{"María", 2500}, {"Juan", 2300}, {"Luis", 2200}},
  33. // Sábado
  34. {{"María", 1900}, {"Juan", 1800}, {"Luis", 2000}},
  35. // Domingo
  36. {{"María", 1600}, {"Juan", 1700}, {"Luis", 1600}}
  37. };
  38.  
  39. // 2. Calcular suma de ventas y sueldo total por vendedor
  40. const int CANTIDAD_VENDEDORES = 3; SueldoTotal
  41. sueldos[CANTIDAD_VENDEDORES] = {{"María", 0}, {"Juan", 0}, {"Luis", 0}};
  42. const float SUELDO_BASE = 5000;
  43.  
  44. // Recorrer cada día y cada venta
  45. for (int i = 0; i < DIAS_SEMANA; i++) {
  46. for (int j = 0; j < MAX_VENDEDORES_POR_DIA; j++) {
  47. string nombre = ventasPorDiaSemana[i][j].vendedor;
  48. float monto = ventasPorDiaSemana[i][j].ventas;
  49.  
  50. // Sumar ventas al vendedor correspondiente
  51. if (nombre == "María") sueldos[0].sueldo += monto;
  52. else if (nombre == "Juan") sueldos[1].sueldo += monto;
  53. else if (nombre == "Luis") sueldos[2].sueldo += monto;
  54. }
  55. }
  56.  
  57. // Agregar sueldo base
  58. for (int i = 0; i < CANTIDAD_VENDEDORES; i++) {
  59. sueldos[i].sueldo += SUELDO_BASE;
  60. }
  61.  
  62. // 3. Ordenar con método burbuja (mayor a menor)
  63. for (int i = 0; i < CANTIDAD_VENDEDORES - 1; i++) {
  64. for (int j = 0; j < CANTIDAD_VENDEDORES - 1 - i; j++) {
  65. // Intercambiar si el sueldo actual es menor que el siguiente
  66. if (sueldos[j].sueldo < sueldos[j + 1].sueldo) {
  67. SueldoTotal temp = sueldos[j];
  68. sueldos[j] = sueldos[j + 1];
  69. sueldos[j + 1] = temp;
  70. }
  71. }
  72. }
  73.  
  74. // 4. Mostrar resultado
  75. cout<< "Sueldos totales (ordenados por método burbuja - mayor a menor):" <<endl;
  76. for (int i = 0; i < CANTIDAD_VENDEDORES; i++) {
  77. cout<< "Vendedor: " << sueldos[i].vendedor
  78. << " | Sueldo total: $" << sueldos[i].sueldo <<endl;
  79. }
  80.  
  81. return 0;
  82. }
Success #stdin #stdout 0s 5316KB
stdin
Standard input is empty
stdout
Sueldos totales (ordenados por método burbuja - mayor a menor):
Vendedor: Juan | Sueldo total: $18400
Vendedor: Luis | Sueldo total: $18300
Vendedor: María | Sueldo total: $18200