Advertisement
Guest User

Untitled

a guest
Nov 12th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.87 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4.  
  5. int seleccion()
  6. {
  7. int opcion;
  8. cout << "\nPresione 1 para altas, 2 para impresión de stock, 3 para calcular impuestos.\n";
  9. cin >> opcion;
  10. return opcion;
  11. }
  12.  
  13. int altas(int indiceActual, int*categoria, int*noSerie, string*modelo, int*valor)
  14. {
  15. int n, tope;
  16. cout << "¿Cuántas unidades desea dar de alta?\n";
  17. cin >> n;
  18. tope = n + indiceActual;
  19. for (indiceActual ; indiceActual < tope; indiceActual++)
  20. {
  21. cout << "\nUnidad " << (indiceActual+1) << "\n";
  22. cout << "Ingrese categoría:\n";
  23. cin >> categoria[indiceActual];
  24. cout << "Ingrese no. de serie:\n";
  25. cin >> noSerie[indiceActual];
  26. cout << "Ingrese modelo:\n";
  27. cin >> modelo[indiceActual];
  28. cout << "Ingrese valor:\n";
  29. cin >> valor[indiceActual];
  30. }
  31. return indiceActual;
  32. }
  33.  
  34. void imprimir(int cantActual, int*categoria, int*noSerie, string*modelo, int*valor, float*impuestos)
  35. {
  36. cout << "\nCategoría\tNo. Serie\tModelo\t\tValor\t\t\tImpuestos\n";
  37. for (int i = 0; i < cantActual; i++)
  38. {
  39. cout << categoria[i] << "\t\t" << noSerie[i] << "\t\t" << modelo[i] << "\t\t$ " << valor[i] << "\t\t\t$ " << impuestos[i] << "\n";
  40. }
  41. }
  42.  
  43. void calculoImp(int cantActual, int* categoria, int* valor, float* impuestos)
  44. {
  45. for (int i = 0; i < cantActual; i++)
  46. {
  47. if (categoria[i] == 1)
  48. {
  49. impuestos[i] = valor[i] * 0.1;
  50. }
  51. else
  52. {
  53. if (categoria[i] == 2)
  54. {
  55. impuestos[i] = valor[i] * 0.07;
  56. }
  57. else
  58. {
  59. if (categoria[i] == 3)
  60. {
  61. impuestos[i] = valor[i] * 0.05;
  62. }
  63. }
  64. }
  65. }
  66. }
  67. void impImpDet(float*totales, int cantActual, int* categoria, int* valor, float* impuestos)
  68. {
  69. for (int i = 0; i < 4; i++)
  70. {
  71. totales[i] = 0.0;
  72. }
  73.  
  74. calculoImp(cantActual, categoria, valor, impuestos);
  75. for (int i = 0; i < cantActual; i++)
  76. {
  77. totales[3] += impuestos[i];
  78. if (categoria[i] == 1)
  79. {
  80. totales[0] += impuestos[i];
  81. }
  82. else
  83. {
  84. if (categoria[i] == 2)
  85. {
  86. totales[1] += impuestos[i];
  87. }
  88. else
  89. {
  90. if (categoria[i] == 3)
  91. totales[2] += impuestos[i];
  92. }
  93. }
  94. }
  95. cout << "\nCategoría\tImpuestos\n";
  96. for (int i = 0; i < 3; i++)
  97. {
  98. cout << (i + 1) << "\t\t$ " << totales[i] << "\n";
  99. }
  100. cout << "Total\t\t$ " << totales[3] << "\n";
  101. }
  102.  
  103. int main()
  104. {
  105. int cantActual = 0, opcionSelec;
  106. int categoria[100];
  107. int noSerie[100];
  108. string modelo[100];
  109. int valor[100];
  110. float impuestos[100];
  111. float totales[3] = {0};
  112.  
  113. while (true)
  114. {
  115.  
  116. opcionSelec = seleccion();
  117. switch (opcionSelec)
  118. {
  119. case 1:
  120. cantActual = altas(cantActual, categoria, noSerie, modelo, valor);
  121. break;
  122. case 2:
  123. calculoImp(cantActual, categoria, valor, impuestos);
  124. imprimir(cantActual, categoria, noSerie, modelo, valor, impuestos);
  125. break;
  126. case 3:
  127. impImpDet(totales, cantActual, categoria, valor, impuestos);
  128. default:
  129. break;
  130. }
  131. }
  132. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement