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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [Help] Programa que calcula sueldos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Help] Programa que calcula sueldos  (Leído 2,225 veces)
sora_ori

Desconectado Desconectado

Mensajes: 269



Ver Perfil
[Help] Programa que calcula sueldos
« en: 11 Diciembre 2013, 14:00 pm »

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


Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. int main () {
  6.    float sueldo[10], sueldoNeto[10], segSoc, irpf, sueldoNuevo, porcent;
  7.    int opcion=1;
  8.    int i=0;
  9.    bool lleno = false;
  10.    srand(time(NULL));
  11.  
  12.    while (opcion != 0){
  13.          system("cls");
  14.          printf("1.- Introducir sueldos\n");
  15.          printf("2.- Calcular sueldo neto\n");
  16.          printf("3.- Modificar sueldos\n");
  17.          printf("4.- Subir sueldos\n");
  18.          printf("0.- Salir\n");
  19.          printf("\nEscoge una opcion: ");
  20.          fflush(stdin);
  21.          scanf("%d", &opcion);
  22.          switch (opcion){
  23.                 case 1:
  24.                      system("cls");
  25.                      for (i=0; i<10; i++){
  26.                          sueldo[i] = (rand()%4999)+499;
  27.                      }
  28.                      // Mostrar Salario Bruto
  29.                      for (i=0; i<10; i++){
  30.                          printf("%.2f euros\n", sueldo[i]);
  31.                      }
  32.                      printf("\n\n");
  33.                      lleno = true;
  34.                      system("pause");
  35.                      break;
  36.                 case 2:
  37.                      system("cls");
  38.                      if (lleno) {
  39.                                 for (i=0; i<10; i++){
  40.                                     segSoc = sueldo[i] * 0.06;
  41.                                     if (sueldo[i] <= 700) irpf = sueldo[i] * 0.08;
  42.                                     else
  43.                                     if (sueldo[i] <= 1100) irpf = sueldo[i] * 0.11;
  44.                                     else
  45.                                     if (sueldo[i] <= 1500) irpf = sueldo[i] * 0.13;
  46.                                     else
  47.                                     if (sueldo[i] <= 2100) irpf = sueldo[i] * 0.17;
  48.                                     else
  49.                                     if (sueldo[i] <= 3000) irpf = sueldo[i] * 0.20;
  50.                                     else irpf = sueldo[i] * 0.25;
  51.  
  52.                                 sueldoNeto[i] = sueldo[i] - segSoc - irpf;
  53.                                 }
  54.                                 // Visualizar Sueldo Neto
  55.                                 for (i=0; i<10; i++){
  56.                                     printf("\nSueldo neto del empleado %i: %.2f euros\n",i+1, sueldoNeto[i]);
  57.                                 }
  58.                                 printf("\n");
  59.                                 system("pause");
  60.                      }
  61.                      else printf("\nERROR! No se ha introducio ningun sueldo\n");
  62.                      break;
  63.                 case 3:
  64.                      system("cls");
  65.                      if (lleno) {
  66.                                 do{
  67.                                     printf("A que empleado le quieres modificar el sueldo? ");
  68.                                     scanf("%i", &i);
  69.                                 }while((i<0) || (i>11));
  70.                                 do{
  71.                                     printf("Introduce un nuevo sueldo entre %.2f y 5000: ", sueldo[i]);
  72.                                     scanf("%.2f", &sueldoNuevo);
  73.                                     }while ((sueldoNuevo < sueldo[i]) || (sueldoNuevo > 5000));
  74.  
  75.                            printf("\nEl nuevo sueldo es %.2f: ",sueldoNuevo);
  76.                      }
  77.                      else printf("\nERROR! No se ha introducio ningun sueldo\n");
  78.                      break;
  79.                 case 4:
  80.                      system("cls");
  81.                      if (lleno){
  82.                                 printf("Escribe el portencaje para subir los sueldos: ");
  83.                                 scanf("%f", &porcent);
  84.  
  85.                                 for (i=0; i<10; i++){
  86.                                     sueldoNuevo = sueldo[i] + ((sueldo[i] * porcent) / 100);
  87.                                     sueldo[i] = sueldoNuevo;
  88.                                 }
  89.  
  90.                                 // Visualizar sueldos subidos
  91.                                 for (i=0; i<10; i++){
  92.                                     printf("\nSe ha subido el sueldo a: %2.f", sueldo[i]);
  93.                                 }
  94.                          printf("\n\n");
  95.                          system("pause");
  96.                      }
  97.                      else printf("\nERROR! No se ha introducio ningun sueldo\n");
  98.                      break;
  99.                 case 0:
  100.                      printf("\nHas decidido salir, hasta luego!\n\n");
  101.                      system("pause");
  102.                      return 0;
  103.                      break;
  104.                 default:
  105.                         printf ("La opcion es incorrecta, Presiona ENTER");
  106.                 } // Fin switch
  107.    } // Fin While
  108.  
  109.    printf("\n\n");
  110.    system("pause");
  111.    return 0;
  112. }


Gracias


En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: [Help] Programa que calcula sueldos
« Respuesta #1 en: 11 Diciembre 2013, 14:46 pm »


Modifica el scanf quitando el .2:

Código
  1. scanf("%f", &sueldoNuevo);

Saluditos! ..... !!!!       


En línea

sora_ori

Desconectado Desconectado

Mensajes: 269



Ver Perfil
Re: [Help] Programa que calcula sueldos
« Respuesta #2 en: 11 Diciembre 2013, 21:03 pm »

Muchas gracias! =)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Programa que calcula el promedio y la moda. duda con la moda
Programación C/C++
noobc 1 5,309 Último mensaje 27 Mayo 2010, 02:24 am
por h0oke
Programa que calcula el número más próximo al primero « 1 2 3 »
Programación C/C++
DickGumshoe 22 22,412 Último mensaje 29 Enero 2019, 10:07 am
por dijsktra
Programa que calcula factorial de un valor
Programación C/C++
BJM 3 2,614 Último mensaje 24 Julio 2012, 16:34 pm
por Sputnik_
Duda con Programa (Calcula el % de interes de un préstamo)
Programación C/C++
WiseHidden 7 25,286 Último mensaje 7 Agosto 2012, 05:31 am
por Fire544
AYUDA !!! Programa calcula raices n-esimas
Programación C/C++
Ensslin 8 3,510 Último mensaje 24 Febrero 2013, 09:16 am
por leosansan
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines