60 - Estructura condicional switch


La estructura condicional switch remplaza en algunos casos un conjunto de if.

La estructura del switch:

switch(variable) {
    case valor1:
         Instrucciones
         break;
    case valor2:
         Instrucciones
         break;
    case valor3:
         Instrucciones
         break;
  .
  .
  .
  default:
          Instrucciones
          break;
}

Luego de la palabra clave switch entre paréntesis indicamos una variable, con una serie de case verificamos si dicha variable almacena un valor igual a [valor1, valor2, valor3 etc.] en el caso de ser igual se ejecutan las instrucciones contenidas en dicho case.

Si todos los case son falsos, luego se ejecutan las instrucciones contenidas después de la plabra default.

Problema 1:

Ingresar un valor entero entre 1 y 5. Luego mostrar en castellano el valor ingresado. Si se ingresa un valor fuera de dicho rango mostrar un mensaje indicando tal situación

Programa:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Estructuraswitch1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Ingrese un valor entre 1 y 5:");
            int valor = int.Parse(Console.ReadLine());
            switch (valor)
            {
                case 1: Console.Write("uno");
                        break;
                case 2: Console.Write("dos");
                        break;
                case 3: Console.Write("tres");
                        break;
                case 4: Console.Write("cuatro");
                        break;
                case 5: Console.Write("cinco");
                        break;
                default:
                        Console.Write("Se ingreso un valor fuera de rango");
                        break;
            }
            Console.ReadKey();
        }
    }
}

Es obligatorio que esté entre paréntesis la variable luego de la palabra clave switch.
Luego de cada case debemos indicar el valor con el que se comparará la variable (siempre debe ser un valor constante y no podemos disponer una variable luego de la palabra case.

Es necesario la palabra break luego de cada bloque de instrucciones por cada case.

Problema 2:

Ingresar un número entre uno y cinco en castellano. Luego mostrar en formato numérico. Si se ingresa un valor fuera de dicho rango mostrar un mensaje indicando tal situación

Programa:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Estructuraswitch2
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Ingrese un número en castellano entre uno y cinco:");
            string nro = Console.ReadLine();
            switch (nro)
            {
                case "uno": Console.Write(1);
                            break;
                case "dos": Console.Write(2);
                            break;
                case "tres": Console.Write(3);
                            break;
                case "cuatro": Console.Write(4);
                            break;
                case "cinco": Console.Write(5);
                            break;
                default: Console.Write("Debe ingresar un valor entre uno y cinco");
                            break;
            }
            Console.ReadKey();
        }
    }
}

Esto quiere decir que podemos utilizar en el switch variables string para ser comparadas.


Retornar