Respuestas

2014-02-20T20:09:29+01:00
Ya había escritos varios posts sobre las condiciones if else en c++, pero algo que hace falta saber es que dentro de una estructura if puede haber otra estructura if tantos veces como sea necesario. Es decir:if ( condicion ) { instrucciones if ( condicion ) { instrucciones } } else { if ( condicion ) { instrucciones } else { instrucciones } instrucciones }¿Y como para qué? Pues hay algunas situaciones que así lo requieren. Por ejemplo:“Si un alumno tiene un promedio mayor o igual a 9 se le hara un 20% de descuento en la colegiatura, si tiene un promedio mayor o igual a 8 pero menor que 9 el descuento será del 10%, si su promedio es menor que 8 pero mayor o igual a 7 el descuento será del 5% y si promedia con 7 o menos no tendrá descuento.”La solución de este problema en c++ sería así:#include<stdio.h> #include<conio.h> int main() { float promedio=0,descuento=0,colegiatura=1500,total=0; printf("\n\tCual fue tu promedio?: ");scanf("%f",&promedio); if(promedio>=9) { descuento=0.2; } else { if(promedio>=8 && promedio <9) { descuento=0.1; } else { if(promedio>=7 && promedio <8) { descuento=0.05; } else { descuento=0; } } } total=colegiatura-colegiatura*descuento; printf("\n\tTu colegiatura sera de %.2f",total); getch(); }Ya que sabemos esto podemos ahorrarnos algunas llaves {} usando el else if, vean:#include<stdio.h> #include<conio.h> int main() { float promedio=0,descuento=0,colegiatura=1500,total=0; printf("\n\tCual fue tu promedio?: ");scanf("%f",&promedio); if(promedio>=9) { descuento=0.2; } else if(promedio>=8 && promedio <9) { descuento=0.1; } else if(promedio>=7 && promedio <8) { descuento=0.05;     } else { descuento=0; } total=colegiatura-colegiatura*descuento; printf("\n\tTu colegiatura sera de %.2f",total); getch();