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

Ayuda con If Else

Estas en el tema de Ayuda con If Else en el foro de C/C++ en Foros del Web. Estimados. Soy novato en C. Necesito hacer lo siguiente y al compilar me esta arrojando un error. Explico lo que necesito, adjunto el codigo y ...
  #1 (permalink)  
Antiguo 21/08/2007, 09:17
 
Fecha de Ingreso: diciembre-2006
Mensajes: 24
Antigüedad: 18 años
Puntos: 0
Ayuda con If Else

Estimados.

Soy novato en C.
Necesito hacer lo siguiente y al compilar me esta arrojando un error.
Explico lo que necesito, adjunto el codigo y el error arrojado.

Este programa debe permitir clasificar los empleados (A, B o C) deacuerdo a la siguiente información.

A= Si Edad >18 y <=25, Sueldo entre 500000 y 800000, años en la empresa entre 1 y 5, genero =1

B= Si Edad >25 y <40, Sueldo >800000, años en la empresa entre 1 y 10, genero =0

C= Si Edad >=40, Sueldo >1000000, años en la empresa >5, genero =0

Si no cumple con estas condiciones mostrar mensaje sin clasificación.


El codigo que he generado es el siguiente:

#include <stdio.h>
main () {
long sueldo;
int edad, anos, genero;
printf("IngresoDatos");
scanf("%d","%d","%d","%ld", &edad,&anos,&genero, &sueldo);
if ((edad >18 && edad <=25) && (sueldo >=500000 && sueldo <800000) && (anos >=1 && anos <=5) && (genero==1));
printf("Clasificacion es:A");
else if ((edad >25 && edad<40) && (sueldo >=800000 && sueldo<1000000) && (anos >=1 && anos<=10) && (genero==0));
printf("Clasificacion es:B");
else if ((edad >=40) && (sueldo >1000000) && (anos>5) && (genero==0));
printf("Clasificacion es:C");
else
printf("Sin_Clasificacion");}

El error que me arroja al compilar es el siguiente.
cpp:9: error: expected primary-expression before "else"
  #2 (permalink)  
Antiguo 21/08/2007, 11:10
 
Fecha de Ingreso: julio-2007
Mensajes: 14
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Ayuda con If Else

Escribe lo siguiente

#include <stdio.h>
main () {
long sueldo;
int edad, anos, genero;
printf("IngresoDatos");
scanf("%d","%d","%d","%ld", &edad,&anos,&genero, &sueldo);
if ((edad >18 && edad <=25) && (sueldo >=500000 && sueldo <800000) && (anos >=1 && anos <=5) && (genero==1))
{

printf("Clasificacion es:A");

}
else if ((edad >25 && edad<40) && (sueldo >=800000 && sueldo<1000000) && (anos >=1 && anos<=10) && (genero==0))
{
printf("Clasificacion es:B");
}
else if ((edad >=40) && (sueldo >1000000) && (anos>5) && (genero==0))
{
printf("Clasificacion es:C");
else
printf("Sin_Clasificacion");}

El error que te arrojaba se trataba de no utilizar los corchetes para cada if {} else if {} else {}
  #3 (permalink)  
Antiguo 22/08/2007, 09:10
Avatar de _Lucifer_  
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 18 años, 7 meses
Puntos: 28
Re: Ayuda con If Else

Cita:
Iniciado por davide Ver Mensaje
...
El codigo que he generado es el siguiente:

#include <stdio.h>
main () {
long sueldo;
int edad, anos, genero;
printf("IngresoDatos");
scanf("%d","%d","%d","%ld", &edad,&anos,&genero, &sueldo);
if ((edad >18 && edad <=25) && (sueldo >=500000 && sueldo <800000) && (anos >=1 && anos <=5) && (genero==1));
printf("Clasificacion es:A");
else if ((edad >25 && edad<40) && (sueldo >=800000 && sueldo<1000000) && (anos >=1 && anos<=10) && (genero==0));
printf("Clasificacion es:B");
else if ((edad >=40) && (sueldo >1000000) && (anos>5) && (genero==0));
printf("Clasificacion es:C");
else
printf("Sin_Clasificacion");}

El error que me arroja al compilar es el siguiente.
cpp:9: error: expected primary-expression before "else"
El error está en las lineas que te marqué en negritas...pusiste un ";" después del if. Debería quedarte así:
Código:
#include <stdio.h>
main ()
{
long sueldo;
int edad, anos, genero;
printf("IngresoDatos");
scanf("%d","%d","%d","%ld", &edad,&anos,&genero, &sueldo);
if ((edad >18 && edad <=25) && (sueldo >=500000 && sueldo <800000) && (anos >=1 && anos <=5) && (genero==1))
printf("Clasificacion es:A");
else if ((edad >25 && edad<40) && (sueldo >=800000 && sueldo<1000000) && (anos >=1 && anos<=10) && (genero==0))
printf("Clasificacion es:B");
else if ((edad >=40) && (sueldo >1000000) && (anos>5) && (genero==0))
printf("Clasificacion es:C")
else
printf("Sin_Clasificacion");
}
Saludos
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba:
  #4 (permalink)  
Antiguo 22/08/2007, 09:13
Avatar de _Lucifer_  
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 18 años, 7 meses
Puntos: 28
Re: Ayuda con If Else

Cita:
Iniciado por aosuna Ver Mensaje
Escribe lo siguiente

#include <stdio.h>
main () {
long sueldo;
int edad, anos, genero;
printf("IngresoDatos");
scanf("%d","%d","%d","%ld", &edad,&anos,&genero, &sueldo);
if ((edad >18 && edad <=25) && (sueldo >=500000 && sueldo <800000) && (anos >=1 && anos <=5) && (genero==1))
{

printf("Clasificacion es:A");

}
else if ((edad >25 && edad<40) && (sueldo >=800000 && sueldo<1000000) && (anos >=1 && anos<=10) && (genero==0))
{
printf("Clasificacion es:B");
}
else if ((edad >=40) && (sueldo >1000000) && (anos>5) && (genero==0))
{
printf("Clasificacion es:C");

else
printf("Sin_Clasificacion");}

El error que te arrojaba se trataba de no utilizar los corchetes para cada if {} else if {} else {}
Al tener una sola instrucción asociada a cada if no es obligatorio el uso de las llaves, sin embargo a tu código le falta cerrar una llave...

Saludos
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba:
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 18:23.