elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Error de validación o calculo matemático en: 13 Diciembre 2016, 05:32 am
Hola!

Tengo el siguiente problema en el case 2, ocupo hacer una validacion de "salarios" todos los calculos me estan funcionando excepto el de mayor a 50 mil, lo que debe de hacer esa validación es que todo salario mayor a 50 mil , se le aumenta un 7% pero no lo esta haciendo, de hecho todo monto que pongo mayor a 50 mil me imprime por pantalla 57500 cabe destacar que las demas validaciones si me estan funcionando.

Código:

Código
  1. #include <string>
  2. #include <sstream>
  3.  
  4. using namespace std;
  5.  
  6. struct strdatos {
  7.  
  8. string cedula;
  9. string nombre;
  10. string edad;
  11. string salario;
  12.  
  13. }Empleado;
  14.  
  15.  
  16. int main () {
  17.  
  18. string mat [3][4];
  19. int f = 0;
  20. int c = 0;
  21. double aumento = 0;
  22.  
  23. int opc;
  24.  
  25. do {
  26.  
  27. system("cls");
  28. cout << "***********  Menu ******************" << endl;
  29. cout << "1 . Ingresar Datos" << endl;
  30. cout << "2. Mostrar Planilla" << endl;
  31. cout << "3. Salir" << endl << endl;
  32. cin >> opc;
  33. cout << endl;
  34.  
  35.  
  36.  
  37. switch (opc) {
  38.  
  39. case 1:
  40.  
  41. system ("cls");
  42.  
  43. for (f = 0; f <= 2; f++) {
  44.  
  45.  
  46. cout << "Ingrese Cedula ";
  47. cin >> Empleado.cedula;
  48. mat [f][0] = Empleado.cedula;
  49.  
  50. cout << "Ingrese Nombre ";
  51. cin >> Empleado.nombre;
  52. mat [f][1] = Empleado.nombre;
  53.  
  54. cout<< "Ingrese Edad ";
  55. cin >> Empleado.edad;
  56. mat [f][2] = Empleado.edad;
  57.  
  58. cout<< "Ingrese Salario ";
  59. cin >> Empleado.salario;
  60. mat [f][3] = Empleado.salario;
  61.  
  62. cout << "Empleado Ingresado" << endl << endl;
  63.  
  64. for (c = 0; c <= 3; c++){
  65.  
  66. }
  67. }
  68. break;
  69.  
  70. case 2:
  71.  
  72. for (f = 0; f <= 2; f++) {
  73. for (c = 0; c <= 3; c++){
  74.  
  75. cout << mat [f][c] << " ";
  76.  
  77. }
  78.  
  79. cout << endl;
  80.  
  81. stringstream (mat[f][3]) >> aumento;
  82.  
  83. if (aumento < 50000 ) {
  84. aumento = (aumento * 0.3) + aumento;
  85.  
  86. }else if (aumento = 50000) {
  87. aumento = (aumento * 0.15 ) + aumento;
  88.  
  89. }else if (aumento >= 50001 ) {
  90. aumento = (aumento * 0.07) + aumento;
  91.  
  92. }
  93.  
  94. cout << "El salario con el aumento es de : " << aumento << endl << endl;
  95.  
  96. }
  97.  
  98.  
  99. system ("pause");
  100.  
  101. }// Switch
  102.  
  103.  
  104. }while (opc != 3);
  105.  
  106.  
  107.  
  108.  
  109. return 0;
  110. }


Mod: Los códigos deben ir en etiquetas GeSHi, segundo aviso
2  Programación / Programación C/C++ / Duda con estructuras y punteros en: 12 Diciembre 2016, 07:23 am
Hola tengo una duda respecto al almacenamiento de datos en estructuras y creo que esto también va ligado a punteros pero no sé mucho sobre este tema.

Resulta ser que ocupo capturar los datos mediante una estructura y luego almacenarlos en una matriz, creí que lo estaba haciendo bien pero cuando quiero imprimir no me imprime nada, espero que me puedan ayudar con esto gracias. :huh:

Código
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. struct strdatos {
  7.  
  8. string cedula;
  9. string nombre;
  10. string edad;
  11. string salario;
  12.  
  13. }Empleado;
  14.  
  15.  
  16. int main () {
  17.  
  18. string mat [3][4];
  19. int f = 0;
  20. int c = 0;
  21.  
  22. int opc;
  23.  
  24. do {
  25.  
  26. system("cls");
  27. cout << "***********  Menu ******************" << endl;
  28. cout << "1 . Ingresar Datos" << endl;
  29. cout << "2. Mostrar Planilla" << endl;
  30. cout << "3. Salir" << endl << endl;
  31. cin >> opc;
  32. cout << endl;
  33.  
  34.  
  35.  
  36. switch (opc) {
  37.  
  38. case 1:
  39.  
  40. system ("cls");
  41.  
  42. for (f = 0; f <= 2; f++) {
  43.  
  44.  
  45. cout << "Ingrese Cedula ";
  46. cin >> Empleado.cedula;
  47. Empleado.cedula = mat [f][0];
  48.  
  49. cout << "Ingrese Nombre ";
  50. cin >> Empleado.nombre;
  51. Empleado.nombre = mat [f][1];
  52.  
  53. cout<< "Ingrese Edad ";
  54. cin >> Empleado.edad;
  55. Empleado.edad = mat [f][2];
  56.  
  57. cout<< "Ingrese Salario ";
  58. cin >> Empleado.salario;
  59. Empleado.salario = mat [f][3];
  60.  
  61. cout << "Empleado Ingresado" << endl << endl;
  62.  
  63. for (c = 0; c <= 3; c++){
  64.  
  65. }
  66. }
  67. break;
  68.  
  69. case 2:
  70.  
  71. for (f = 0; f <= 2; f++) {
  72. for (c = 0; c <= 3; c++){
  73.  
  74. cout << mat [f][c] << " ";
  75.  
  76. }
  77. }
  78.  
  79. }// Switch
  80.  
  81.  
  82. }while (opc != 3);
  83.  
  84.  
  85. return 0;
  86. }
  87.  


Mod: Los códigos deben ir en etiquetas GeSHi
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines