Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/09/2015, 10:22
thespecialjoseph
 
Fecha de Ingreso: septiembre-2015
Mensajes: 3
Antigüedad: 9 años, 2 meses
Puntos: 0
Funcion planilla C++

Hola chicos! Tengo un problema con este ejercicio que tengo que realizar. Principalmente soy nuevo en esto de C++, soy estudiante de universidad y agradecería si alguien pudiera ayudarme a corregir mi código. El problema menciona de que tengo que ingresar el sueldo de "n" empleados y después calcular algunas operaciones (descuentos, etc), el número de empleados pueden ser los que sean (10, 100, 1000), al final el programa pregunta si quiero continuar o no ingresando empleados, y al terminar realiza los procesos dependiendo de cuántos empleados fueron ingresados. Esto lo tengo que realizar con una función. Les comparto mi código, aparentemente compila y se ejecuta pero las opciones 1 y 2 no funcionan a como yo quiero, y en la impresión de resultados no calcula para nada, comparto el código y una imagen del programa ejecutandose:

Código C++:
Ver original
  1. #include <iostream>
  2. #include <conio.h>
  3. #include <windows.h>
  4. using namespace std;
  5.  
  6. //FUNCION PLANILLA
  7. void planilla(int a){
  8.  
  9. float contador;
  10. float liquido;
  11. float descuentoTotal;
  12. float igss;
  13. int i;
  14.  
  15. //CONTAMOS CUANTOS EMPLEADOS FUERON INGRESADOS
  16.     for (i=0; i<=a; i++);{
  17.     contador = i;
  18.    }
  19.  
  20. //REALIZO LOS PROCESOS
  21.    descuentoTotal = 500+a*0.0983;
  22.    igss = 500+a*0.0483;
  23.    liquido = 500-descuentoTotal;
  24.  
  25.  
  26. //IMPRIMO LOS RESULTADOS DE LOS PROCESOS
  27.  
  28.     textcolor(15);
  29.     gotoxy(24,11); cprintf("Ingresados: "); cout << contador; cprintf(" Empleados");
  30.    textcolor(15);
  31.     gotoxy(24,13); cprintf("Liquido total: "); cout << liquido;
  32.    textcolor(15);
  33.     gotoxy(24,15); cprintf("Descuentos total: "); cout << descuentoTotal;
  34.    textcolor(15);
  35.     gotoxy(24,17); cprintf("IGSS total: "); cout << igss;
  36.  
  37. }
  38.  
  39. int sueldo;    //VARIABLES GLOBALES DE TIPO ENTERO
  40. int opcion;
  41. int sueldoNuevo;
  42.  
  43. int main(){
  44.  
  45. gotoxy(24,4); cprintf("Acumulo las planillas para ti");
  46. textcolor(15);
  47. gotoxy(24,6); cprintf("Ingresa el sueldo nominal: ");
  48. cin >> sueldo;
  49. textcolor(15);
  50. gotoxy(24,8); cprintf("Todo listo, quieres ingresar otro empleado?");
  51. textcolor(15);
  52. gotoxy(24,9); cprintf("1 = Si, 2 = No ");
  53. cin >> opcion;
  54. if (opcion == 1){
  55. while (opcion != 1){
  56. clrscr();
  57. //VUELVO A IMPRIMIR EL ENCABEZADO CON UN WHILE
  58. gotoxy(24,4); cprintf("Acumulo las planillas para ti");
  59. textcolor(15);
  60. gotoxy(24,6); cprintf("Ingresa el sueldo nominal: ");
  61. cin >> sueldoNuevo;
  62. sueldo = sueldo+sueldoNuevo;
  63. planilla (sueldo);
  64. textcolor(15);
  65. gotoxy(24,8); cprintf("Todo listo, quieres ingresar otro empleado?");
  66. textcolor(15);
  67. gotoxy(24,9); cprintf("1 = Si, 2 = No ");
  68. cin >> opcion;
  69. }
  70. }
  71.  
  72. //LLAMO A LA FUNCION PLANILLA
  73. planilla (sueldo);
  74.  
  75. return 0;
  76. }

Programa:


Como pueden ver en la parte de Si, No, ingresé 1 y en vez de preguntar el sueldo nuevamente, imprime los resultados, pero aun asi no los calculó de manera correcta no se porque, ojala me puedan ayudar con la solución del código, gracias!