Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Que necesito

Estas en el tema de Que necesito en el foro de C/C++ en Foros del Web. Hola Masters vengo por su ayuda de nuevo. Calcule el aumento de sueldos para N empleados de una empresa, bajo los sig criterios. Si el ...
  #1 (permalink)  
Antiguo 10/12/2009, 10:09
 
Fecha de Ingreso: marzo-2009
Mensajes: 74
Antigüedad: 15 años, 1 mes
Puntos: 1
Exclamación Que necesito

Hola Masters vengo por su ayuda de nuevo.

Calcule el aumento de sueldos para N empleados de una empresa, bajo los sig criterios.


Si el sueldo es menor a $1000: Aumenta 12%
Si el sueldo esta comprendido entre 1000 y 2000: Aumenta 10%
Si el sueldo es mayor a $2000: Aumenta 10%

Que imprima lo siguiente:

1 El nuevo sueldo del trabajador
2 El monto total de la nomina considerado el aumento


Necesito ayuda no se si con WHILE o For hacerlo ustedes me pueden dar una ayudadita
  #2 (permalink)  
Antiguo 10/12/2009, 10:28
 
Fecha de Ingreso: diciembre-2009
Mensajes: 3
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Que necesito

En que lenguaje tienes que hacerlo?
  #3 (permalink)  
Antiguo 10/12/2009, 10:37
Avatar de Anubis_Slash  
Fecha de Ingreso: mayo-2009
Ubicación: aqui y haya
Mensajes: 173
Antigüedad: 15 años
Puntos: 5
Respuesta: Que necesito

puedes hacer un do-while para hacerlo n numero de veces, para almacenar el total de la nomina puedes utilizar una variable que guarde el total de cada pasada ejemplo:

Código codigo:
Ver original
  1. //declaracion de variables
  2. do
  3. {
  4.       //nombre empleado
  5.       //sueldo percibido
  6.       //ifs o switch con los casos dependiendo el sueldo
  7.       //variable monto total ej. nMontoTotal += nTotal donde nMontoTotal es el total global y nTotal es el total de ese empleado.
  8.       //pregunta si quiere seguir capturando empleados
  9. } while (condicion)

saludos
__________________
Bienvenidos los karmas.
Quejas, sugerencias o dudas, se awantan......
  #4 (permalink)  
Antiguo 10/12/2009, 10:39
 
Fecha de Ingreso: diciembre-2009
Mensajes: 3
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Que necesito

si no sabemos a ciencia sierta cuantos empleado se calcula deberiamos de utilizar un while y al final despues de hacer tu codigo preguntar si deseas procesar otro empleado
la cuestion quedaria de la siguiente manera

cant = 1
mientras (cant == 1) hacer
leer sueldo
si sueldo <= 1000 hacel
aumento = sueldo * 0.12
sino si sueldo >1000 and sueldo <=2000 hacer
aumento = sueldo *0.10
sino si sueldo > 2000 hacer
aumento = sueldo *0.10
escribir "el aumento es de" + aumento
escribir "desea procesar otro empleado "
leer cant
fin mientras

claro el codigo esta escrito en pseudocodigo queda de tu parte pasarlo al lenguaje que quieras
  #5 (permalink)  
Antiguo 11/12/2009, 00:30
 
Fecha de Ingreso: marzo-2009
Mensajes: 74
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Que necesito

if(n<1000)
{
scanf("%f",&n);
sueldo=n+(n)*(0.12);
printf("\nEl nuevo sueldo del trabajador: %f",sueldo);
}
if(sueldo>1000 || sueldo<2500)
{
scanf("%f",&n);
sueldo=n+(n)*(0.10);
printf("\nEl nuevo sueldo del trabajador: %f",sueldo);
}
if(sueldo>2500)
{
scanf("%f",&n);
sueldo=n+(n)*(0.8);
printf("\nEl nuevo sueldo del trabajador: %f",sueldo);
}
return 0;
}


Quien me ayuda eso es lo que llevo que me faltaria hacer de lo que me piden
  #6 (permalink)  
Antiguo 11/12/2009, 10:34
 
Fecha de Ingreso: marzo-2009
Mensajes: 74
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Que necesito

Hola llevo esta parte de mi programa que me hace fata de lo que me piden pr favor si me puden decir, y para que el proceso se repita varias veces

#include <stdio.h>
#include <stdio.h>
main ()
{
float n, sueldo;
printf("Sueldo del trabajador: ");
scanf("%f",&n);
if(n<=1000)
{
sueldo=n+(n)*(0.12);
printf("\nEl nuevo sueldo del trabajador: %f",sueldo);
}
if(sueldo>1000 || sueldo<2500)
{
sueldo=n+(n)*(0.10);
printf("\nEl nuevo sueldo del trabajador: %f",sueldo);
}
if(sueldo>2500)
{
sueldo=n+(n)*(0.8);
printf("\nEl nuevo sueldo del trabajador: %f",sueldo);
}
return 0;
}
  #7 (permalink)  
Antiguo 11/12/2009, 10:54
Avatar de Anubis_Slash  
Fecha de Ingreso: mayo-2009
Ubicación: aqui y haya
Mensajes: 173
Antigüedad: 15 años
Puntos: 5
Respuesta: Que necesito

Hola te pongo el codigo que te falta ya incorporado al tuyo, necesitabas todavia que lo pudieras capturar n cantidad de veces y hacer el monto total de los nuevos sueldos....

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdio.h>
  3. main ()
  4. {
  5.      float total;
  6.      do
  7.      {
  8.           char resp;
  9.           float n, sueldo;
  10.           printf("Sueldo del trabajador: ");
  11.           scanf("%f",&n);
  12.           if(n<=1000)
  13.                sueldo=n+(n)*(0.12);
  14.  
  15.           if(sueldo>1000 || sueldo<2500)
  16.                sueldo=n+(n)*(0.10);
  17.  
  18.           if(sueldo>2500)
  19.                sueldo=n+(n)*(0.8);
  20.  
  21.           total += sueldo;
  22.           printf("\nEl nuevo sueldo del trabajador: %f",sueldo);
  23.           printf("\n¿Desea capturar un nuevo empleado? [S/N] ");
  24.           scanf("%c", &resp);
  25.      } while( resp != "N" || resp != "n")
  26.      printf("\nEl nuevo monto total a pagar es:  %f", total);
  27.      return 0;
  28. }

Espero te sirva

NOTA: no probe el codigo, pero esa es la idea
__________________
Bienvenidos los karmas.
Quejas, sugerencias o dudas, se awantan......
  #8 (permalink)  
Antiguo 11/12/2009, 11:22
 
Fecha de Ingreso: marzo-2009
Mensajes: 74
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Que necesito

Estube compiland pero en la parte de while me sale este error

25 C:\Users\Frank\Sin Nombre1.cpp `resp' undeclared (first use this function)
  #9 (permalink)  
Antiguo 11/12/2009, 11:35
 
Fecha de Ingreso: agosto-2009
Ubicación: Cartagena, Colombia
Mensajes: 516
Antigüedad: 14 años, 8 meses
Puntos: 13
Respuesta: Que necesito

Aqui esta corregido el codigo de Anubis_Slash:
Código C++:
Ver original
  1. #include <stdio.h>
  2. #include <stdio.h>
  3. main ()
  4. {
  5.      float total;
  6.      char resp;
  7.      do
  8.      {
  9.  
  10.           float n, sueldo;
  11.           printf("Sueldo del trabajador: ");
  12.           scanf("%f",&n);
  13.           if(n<=1000)
  14.                sueldo=n+(n)*(0.12);
  15.  
  16.           if(sueldo>1000 || sueldo<2500)
  17.                sueldo=n+(n)*(0.10);
  18.  
  19.           if(sueldo>2500)
  20.                sueldo=n+(n)*(0.8);
  21.  
  22.           total += sueldo;
  23.           printf("\nEl nuevo sueldo del trabajador: %f",sueldo);
  24.           printf("\n¿Desea capturar un nuevo empleado? [S/N] ");
  25.           scanf("%c", &resp);
  26.      } while( resp != 'N' || resp != 'n') ;
  27.      printf("\nEl nuevo monto total a pagar es:  %f", total);
  28.      return 0;
  29. }
  #10 (permalink)  
Antiguo 11/12/2009, 11:38
 
Fecha de Ingreso: agosto-2009
Ubicación: Cartagena, Colombia
Mensajes: 516
Antigüedad: 14 años, 8 meses
Puntos: 13
Respuesta: Que necesito

las declaraciones de la variables no estan en el lugar correcto.
se me paso mover esto:
float n,sueldo;
donde estan las otras variables.
y la variable resp es de tipo char (caracter), por ende su valor debe estar entre comillas simples (')

Saludos
  #11 (permalink)  
Antiguo 11/12/2009, 11:50
 
Fecha de Ingreso: marzo-2009
Mensajes: 74
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Que necesito

Ok ya compile todo y si me ejecuta pero como detengo el proceso para que me aparesca el monto total

  #12 (permalink)  
Antiguo 11/12/2009, 12:15
 
Fecha de Ingreso: marzo-2009
Mensajes: 74
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Que necesito

jaja me diran que que burro soy per sigo sin saber como detener el proceso y que me apareca El Nuevo monto total a pagar es:

  #13 (permalink)  
Antiguo 11/12/2009, 12:31
 
Fecha de Ingreso: agosto-2009
Ubicación: Cartagena, Colombia
Mensajes: 516
Antigüedad: 14 años, 8 meses
Puntos: 13
Respuesta: Que necesito

La verdad no se porque no funciona con la varible tipo char
lo que se puede hacer es cambiarla a array
Código C++:
Ver original
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <stdio.h>
  4. main ()
  5. {
  6.      float total=0;
  7.      float n, sueldo;
  8.      char resp[1];
  9.      do
  10.      {
  11.  
  12.  
  13.           printf("Sueldo del trabajador: ");
  14.           scanf("%f",&n);
  15.           if(n<=1000)
  16.                sueldo=n+(n)*(0.12);
  17.  
  18.           if(sueldo>1000 || sueldo<2500)
  19.                sueldo=n+(n)*(0.10);
  20.  
  21.           if(sueldo>2500)
  22.                sueldo=n+(n)*(0.8);
  23.  
  24.           total += sueldo;
  25.           printf("\nEl nuevo sueldo del trabajador: %f",sueldo);
  26.           printf("\nDesea capturar un nuevo empleado? [S/N]: ");
  27.           scanf("%s",&resp);
  28.      } while( resp[0] == 'S' || resp[0] == 's') ;
  29.      printf("\nEl nuevo monto total a pagar es:  %f", total);
  30.      getch();
  31.      return 0;
  32. }
  #14 (permalink)  
Antiguo 11/12/2009, 12:59
 
Fecha de Ingreso: marzo-2009
Mensajes: 74
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Que necesito

Muchisimas gracias ahora si me dice
El Nuevo monto total a pagar es:






GRACIAS A
mhax
Anubis_Slash
Saint_Samuel
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:01.