Clase 9-1
Clase 9-1
Clase 9-1
else printf((“…Incorrecto…”);
En C una sentencia else siempre se refiere al if precedente más cercano que no tenga ya asociada
una sentencia else. Si lo que se desea es asociar el else a alguna otra sentencia if, se deben usar las
llaves, {}.
ó lo que es lo mismo:
•if(indicador) {
printf(“cuenta Nro: %d”, cuenta_no);
crédito = 0.00;
}
else crédito = 1000.0;
•if (circulo) {
scanf(“%f”, &radio);
área = 3.14159 * radio * radio;
printf(“area del circulo = %f”, área);
}
else {
scanf(“%f %f”, &longitud, &anchura);
área = longitud * anchura);
printf(“área del rectángulo = %f”, área);
}
Marirosa Morello Cardiello
DECISIONES MÚLTIPLES
La sentencia switch compara sucesivamente una variable con una lista de constantes,
enteras o de caracteres. Cuando se encuentra una correspondencia se ejecuta una
sentencia o bloque de sentencias.
switch (variable){
case constante1:
secuencia de sentencias
break;
case constante2:
secuencia de sentencias
break;
•••
default:
secuencia de sentencias
}
Marirosa Morello Cardiello
DECISIONES MÚLTIPLES
NOTAS
•La sentencia switch sólo puede comprobar la igualdad del valor de la variable con alguno de
los valores constantes especificados en case.
•No puede haber dos constantes que tengan los mismos valores en el mismo switch.
•Se puede tener un switch dentro de la secuencia de sentencias de otro switch. Incluso si las
constantes case del switch interior y del exterior contienen valores comunes, no hay conflicto.
ESTRUCTURA SWITCH
case 2: /* secuencia de sentencias */
case 3: /* comunes */
indic = 0;
break;
case 4: indic = 1;
case 5: error(indic);
break;
default: procesar(c);
}
} Marirosa Morello Cardiello
SENTENCIA SWITCH ANIDADA
switch(x){
case 1: switch(y) {
case 0: printf(“error de división por cero “);
break;
case 1: procesar(x,y);
}
break;
case 2:
•••
•Inicio del Proceso Cálculo del área de una figura geométrica seleccionada