Hola,
Estoy haciendo un programa en C que al introducir unos sueldos me calcule el sueldo neto, pueda modificar el suelo y también poder subir el sueldo.
Es un menú de 4 opciones, solamente me falla la opción 3 que es la de modificar el sueldo. ¿Podrían echarle un ojo y decirme en que fallo?
Gracias
Gracias
Estoy haciendo un programa en C que al introducir unos sueldos me calcule el sueldo neto, pueda modificar el suelo y también poder subir el sueldo.
Es un menú de 4 opciones, solamente me falla la opción 3 que es la de modificar el sueldo. ¿Podrían echarle un ojo y decirme en que fallo?
Gracias
Código (c) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main () {
float sueldo[10], sueldoNeto[10], segSoc, irpf, sueldoNuevo, porcent;
int opcion=1;
int i=0;
bool lleno = false;
srand(time(NULL));
while (opcion != 0){
system("cls");
printf("1.- Introducir sueldos\n");
printf("2.- Calcular sueldo neto\n");
printf("3.- Modificar sueldos\n");
printf("4.- Subir sueldos\n");
printf("0.- Salir\n");
printf("\nEscoge una opcion: ");
fflush(stdin);
scanf("%d", &opcion);
switch (opcion){
case 1:
system("cls");
for (i=0; i<10; i++){
sueldo[i] = (rand()%4999)+499;
}
// Mostrar Salario Bruto
for (i=0; i<10; i++){
printf("%.2f euros\n", sueldo[i]);
}
printf("\n\n");
lleno = true;
system("pause");
break;
case 2:
system("cls");
if (lleno) {
for (i=0; i<10; i++){
segSoc = sueldo[i] * 0.06;
if (sueldo[i] <= 700) irpf = sueldo[i] * 0.08;
else
if (sueldo[i] <= 1100) irpf = sueldo[i] * 0.11;
else
if (sueldo[i] <= 1500) irpf = sueldo[i] * 0.13;
else
if (sueldo[i] <= 2100) irpf = sueldo[i] * 0.17;
else
if (sueldo[i] <= 3000) irpf = sueldo[i] * 0.20;
else irpf = sueldo[i] * 0.25;
sueldoNeto[i] = sueldo[i] - segSoc - irpf;
}
// Visualizar Sueldo Neto
for (i=0; i<10; i++){
printf("\nSueldo neto del empleado %i: %.2f euros\n",i+1, sueldoNeto[i]);
}
printf("\n");
system("pause");
}
else printf("\nERROR! No se ha introducio ningun sueldo\n");
break;
case 3:
system("cls");
if (lleno) {
do{
printf("A que empleado le quieres modificar el sueldo? ");
scanf("%i", &i);
}while((i<0) || (i>11));
do{
printf("Introduce un nuevo sueldo entre %.2f y 5000: ", sueldo[i]);
scanf("%.2f", &sueldoNuevo);
}while ((sueldoNuevo < sueldo[i]) || (sueldoNuevo > 5000));
printf("\nEl nuevo sueldo es %.2f: ",sueldoNuevo);
}
else printf("\nERROR! No se ha introducio ningun sueldo\n");
break;
case 4:
system("cls");
if (lleno){
printf("Escribe el portencaje para subir los sueldos: ");
scanf("%f", &porcent);
for (i=0; i<10; i++){
sueldoNuevo = sueldo[i] + ((sueldo[i] * porcent) / 100);
sueldo[i] = sueldoNuevo;
}
// Visualizar sueldos subidos
for (i=0; i<10; i++){
printf("\nSe ha subido el sueldo a: %2.f", sueldo[i]);
}
printf("\n\n");
system("pause");
}
else printf("\nERROR! No se ha introducio ningun sueldo\n");
break;
case 0:
printf("\nHas decidido salir, hasta luego!\n\n");
system("pause");
return 0;
break;
default:
printf ("La opcion es incorrecta, Presiona ENTER");
} // Fin switch
} // Fin While
printf("\n\n");
system("pause");
return 0;
}
Gracias