Jump to content

Ayuda urgente en código pequeño C#


Recommended Posts

Hola, necesito saber si me pueden ayudar.

Tengo lo siguiente:

"Haga un programa que al recibir como dato el salario de un profesor de la

universidad, calcule el incremento del salario de acuerdo con el siguiente

criterio y escriba el nuevo salario del profesor.

Salario < 18.000 => Incremento 12%

18.000 <= Salario <= 30000 => Incremento 8%

30000 < Salario <=50000 => Incremento 7%

50000 < Salario => Incremento 6%"

 

y tengo (no cacho una, por eso el código debe verse un asco desordenado):

#include <stdio.h>
int main ()
{
   int salario, resultado;
   printf("Ingrese salario\n");
   scanf("%i", &salario);
   if(salario<18000)
   {
    resultado=salario*1,12;
   }
   if(18000<=salario<=30000)
   {
    resultado=salario+((8*salario)/100);
   }
   if(30000<salario<=50000)
   {
    resultado=salario*1,07;
   }
   if(50000<salario)
   {
    resultado=salario*1,06;
   }

   printf("el resultado es %i \n", resultado);
}

 

¿Alguien sabe qué puede estar mal con el código?

Gracias

Link to comment
Share on other sites

Compadre, el código estaba horrible, me dolieron los ojos. Primero que nada, las condiciones de los if no se escriben así. Vea cómo lo hice yo.

Segundo, tenías que ocupar el "else if", o el "switch case", porque de otra forma podría haberse metido a los otros if, y esa no era la idea del programa.

Tercero, multiplicabas un int por un float, eso causa que por una cuestión de estrangulamiento que tiene c, no te aparecen los decimales, yo lo dejé como float, porque por la cantidad de sueldo supuse que estaba en dólares, no en pesos chilenos, por lo que se aceptan decimales.

Por último, si haces un INT main, tienes que devolver un int. Le agregué un return 0.

Como consejo final, y esto no es un error, la variable resultado no es necesaria, perfectamente podrías haber hecho algo como esto:

 

salario=salario*1,12;

 

 

A seguir estudiando!!

 

#include <stdio.h>
int main ()
{
float salario, resultado;
printf("Ingrese salario");
scanf("%f", &salario);
if(salario<18000)
{
		resultado=salario*1,12;
}
else if(salario >= 18000 && salario <= 30000)
{
		resultado=salario+((8*salario)/100);
}
else if(salario < 18000 && salario <= 50000)
{
		resultado=salario*1,07;
}
else if(salario > 50000)
{
		resultado=salario*1,06;
}

printf("el resultado es %f n", resultado);

return 0;
}

Edited by zafrada
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...