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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Error de validación o calculo matemático
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Error de validación o calculo matemático  (Leído 932 veces)
Miguel2097

Desconectado Desconectado

Mensajes: 4


Ver Perfil
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


« Última modificación: 13 Diciembre 2016, 05:36 am por engel lex » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Error de validación o calculo matemático
« Respuesta #1 en: 13 Diciembre 2016, 05:39 am »

linea 86

Código
  1. }else if (aumento = 50000) {

estás asignando, no comparando...


otra cosa... la siguiente condicion con un simples else basta... ya que pones un else if aumento >= 50001 pero como aumento es float podría vale 50000.1 y no entra en ninguna condición


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines