fork(1) download
  1. #include <iostream>
  2. #include <algorithm>
  3.  
  4. using namespace std;
  5.  
  6. const int NUM_VENDEDORES = 3;
  7. const int NUM_DIAS = 7;
  8.  
  9. struct Vendedor {
  10. string nombre;
  11. double ventas[NUM_DIAS];
  12. double sueldoTotal;
  13. };
  14.  
  15. double calcularSueldoTotal(Vendedor& vendedor) {
  16. double sueldoBase = 800.0;
  17. double comision = 0.0;
  18.  
  19. for (int i = 0; i < NUM_DIAS; i++) {
  20. if (vendedor.ventas[i] <= 10) {
  21. comision += 0.0;
  22. } else if (vendedor.ventas[i] > 10 && vendedor.ventas[i] <= 20) {
  23. comision += vendedor.ventas[i] * 0.05;
  24. } else {
  25. comision += vendedor.ventas[i] * 0.1;
  26. }
  27. }
  28.  
  29. vendedor.sueldoTotal = sueldoBase + comision;
  30. return vendedor.sueldoTotal;
  31. }
  32.  
  33. void ordenarVentas(Vendedor& vendedor) {
  34. sort(vendedor.ventas, vendedor.ventas + NUM_DIAS, greater<double>());
  35. }
  36.  
  37. int main() {
  38. Vendedor vendedores[NUM_VENDEDORES];
  39.  
  40. for (int i = 0; i < NUM_VENDEDORES; i++) {
  41. cout << "Ingrese el nombre del vendedor " << i + 1 << ": ";
  42. cin >> vendedores[i].nombre;
  43.  
  44. for (int j = 0; j < NUM_DIAS; j++) {
  45. cout << "Ingrese las ventas del día " << j + 1 << " para el vendedor " << vendedores[i].nombre << ": ";
  46. cin >> vendedores[i].ventas[j];
  47. }
  48. }
  49.  
  50. for (int i = 0; i < NUM_VENDEDORES; i++) {
  51. calcularSueldoTotal(vendedores[i]);
  52. ordenarVentas(vendedores[i]);
  53. }
  54.  
  55. for (int i = 0; i < NUM_VENDEDORES; i++) {
  56. cout << "Vendedor: " << vendedores[i].nombre << endl;
  57. cout << "Ventas ordenadas de mayor a menor: ";
  58. for (int j = 0; j < NUM_DIAS; j++) {
  59. cout << vendedores[i].ventas[j] << " ";
  60. }
  61. cout << endl;
  62. cout << "Sueldo total: $" << vendedores[i].sueldoTotal << endl << endl;
  63. }
  64.  
  65. return 0;
  66. }
Success #stdin #stdout 0.01s 5284KB
stdin
1
2
10
42
11
stdout
Ingrese el nombre del vendedor 1: Ingrese las ventas del día 1 para el vendedor 1: Ingrese las ventas del día 2 para el vendedor 1: Ingrese las ventas del día 3 para el vendedor 1: Ingrese las ventas del día 4 para el vendedor 1: Ingrese las ventas del día 5 para el vendedor 1: Ingrese las ventas del día 6 para el vendedor 1: Ingrese las ventas del día 7 para el vendedor 1: Ingrese el nombre del vendedor 2: Ingrese las ventas del día 1 para el vendedor : Ingrese las ventas del día 2 para el vendedor : Ingrese las ventas del día 3 para el vendedor : Ingrese las ventas del día 4 para el vendedor : Ingrese las ventas del día 5 para el vendedor : Ingrese las ventas del día 6 para el vendedor : Ingrese las ventas del día 7 para el vendedor : Ingrese el nombre del vendedor 3: Ingrese las ventas del día 1 para el vendedor : Ingrese las ventas del día 2 para el vendedor : Ingrese las ventas del día 3 para el vendedor : Ingrese las ventas del día 4 para el vendedor : Ingrese las ventas del día 5 para el vendedor : Ingrese las ventas del día 6 para el vendedor : Ingrese las ventas del día 7 para el vendedor : Vendedor: 1
Ventas ordenadas de mayor a menor: 42 11 10 2 1.14131e-310 3.39519e-313 2.96439e-323 
Sueldo total: $804.75

Vendedor: 
Ventas ordenadas de mayor a menor: 1.14131e-310 1.14131e-310 1.14131e-310 1.14131e-310 1.14131e-310 1.14131e-310 1.14131e-310 
Sueldo total: $800

Vendedor: 
Ventas ordenadas de mayor a menor: 4.6819e-310 4.6819e-310 1.14131e-310 1.14131e-310 1.14131e-310 3.59201e-319 4.94066e-324 
Sueldo total: $800