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#include <iostream>
#include <conio.h>
#include <windows.h>
using namespace std;
//FUNCION PLANILLA
void planilla(int a){
float contador;
float liquido;
float descuentoTotal;
float igss;
int i;
//CONTAMOS CUANTOS EMPLEADOS FUERON INGRESADOS
for (i=0; i<=a; i++);{
contador = i;
}
//REALIZO LOS PROCESOS
descuentoTotal = 500+a*0.0983;
igss = 500+a*0.0483;
liquido = 500-descuentoTotal;
//IMPRIMO LOS RESULTADOS DE LOS PROCESOS
textcolor(15);
gotoxy(24,11); cprintf("Ingresados: "); cout << contador; cprintf(" Empleados");
textcolor(15);
gotoxy(24,13); cprintf("Liquido total: "); cout << liquido;
textcolor(15);
gotoxy(24,15); cprintf("Descuentos total: "); cout << descuentoTotal;
textcolor(15);
gotoxy(24,17); cprintf("IGSS total: "); cout << igss;
}
int sueldo; //VARIABLES GLOBALES DE TIPO ENTERO
int opcion;
int sueldoNuevo;
int main(){
gotoxy(24,4); cprintf("Acumulo las planillas para ti");
textcolor(15);
gotoxy(24,6); cprintf("Ingresa el sueldo nominal: ");
cin >> sueldo;
textcolor(15);
gotoxy(24,8); cprintf("Todo listo, quieres ingresar otro empleado?");
textcolor(15);
gotoxy(24,9); cprintf("1 = Si, 2 = No ");
cin >> opcion;
if (opcion == 1){
while (opcion != 1){
clrscr();
//VUELVO A IMPRIMIR EL ENCABEZADO CON UN WHILE
gotoxy(24,4); cprintf("Acumulo las planillas para ti");
textcolor(15);
gotoxy(24,6); cprintf("Ingresa el sueldo nominal: ");
cin >> sueldoNuevo;
sueldo = sueldo+sueldoNuevo;
planilla (sueldo);
textcolor(15);
gotoxy(24,8); cprintf("Todo listo, quieres ingresar otro empleado?");
textcolor(15);
gotoxy(24,9); cprintf("1 = Si, 2 = No ");
cin >> opcion;
}
}
//LLAMO A LA FUNCION PLANILLA
planilla (sueldo);
return 0;
}
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!