You are on page 1of 4
Estructuras de seleccién Dentro de las estructuras de seleccién encontramos dos modelos en el C++, las de condicién simple (sentencias if else) y las de condicin mip (switch). A continuacin estuiareos ambos tipos de sentencias. La sentencia if ‘Se emplea para elegir en funcién de una condicién. Su sintaxis es: Af (expresién) sentencia 2 sentencia 2 Los paréntesis de la expresién a evaluar son obligatorios, lasentencia 1 puede ser una sola instruecién (que no necesita ir entre Ilaves) o un bloque de instrucciones (entre llaves pero sin punto y coma después de cerrar). El eise es opcional, cuando aparece determina las acciones a tomar si la expresién es falsa, El tinico problema que puede surgir con estas sentencias es el anidamiento de if y else: Cada else se empareja con el if més cereano: Af (expt) Sf texpr2) aceién 2 else 1/ este else corresponde al if de expr 2 ‘accién 2 else 1/ este corresponde al if de exprt Para diferenciar bien unas expresiones de otras (el anidamiento), es recomendable tabular correctamente y hacer buen uso de las llaves: af (expr) af (ex@r2) ‘aceién 2 > 11 Notar que 1a Liave no Leva punto y coma desputs, si 1o pustérans 11 nabeianoe terninado la sentancla y'el else se quedaria suelto else 11 Rate else corresponde al if de exprl aecién 3 Por iiltimo indicaremos que cuando anidamos else - if se suele escribir: if en al alse if (02) else LF (03) de esta manera evitamos el exceso de tabulacién. La sentencia switch Esta sentencia nos permite seleccionar en funcién de condiciones miltiples. Su sintaxis es: switch (expresién) ( ‘case valor 1: sentencia 21; Breaky ‘case valor 21 sentencia sentencia 221 entancia 2m7 breaks Gefauit: — sentencia sentencia 42: Sentencia dp ' El paréntesis en la expresién es obligatorio. El funcionamiento es el siguiente, si al evaluar la expresién se obtiene uno de los valores indicados por caso valor : se ejecutan todas las sentencias que encontremos hasta llegar a un break (0 al cierre de las llaves). Si no se verifica ningiin case pasamos a las sentencias cerauie, si existe (default es opcional) y si no existe no hhacemos nada, Indicaremos que si queremos hacer lo mismo para distintos valores podemos escribir los case seguidos sin poner break en ninguno de ellos y se ejecutaré lo mismo para todos ellos. Ejemplo: void maint) ( seitcn (hy ( ‘case Ot feout <<" EL nimeco " << << * 08 par\nt, break: ceee 3 case St case 7: ‘cout <¢ "El nimero "

You might also like