Ir al contenido principal

Concepto: Estructura Selectiva Múltiple



SWITCH


Definición: esta instrucción es útil cuando se tiene que elegir entre dos  más opciones, como es el caso de manejo de menús. Esta instrucción es preferible que el uso de anidamientos de varios "if()".
  • Se evalúa una expresión que podrá tomar n valores distintos. Según el resultado de la evaluación, se realizará una de las n acciones. Si el resultado no es igual a ninguno de los valores v1 a vn se realizará la acciónE. 
         EN CASO (expresión)
                v1  : Bloque1
                v2  : Bloque2
                ....
                vn  : BloqueN
             SINO
        acciónE : BloqueE
       FINCASO

Ejemplo:
Construya una calculadora que permita leer dos números y un operador, y efectúe las operaciones básicas como son: suma, resta, multiplicación, división y potencia.

#include<iostream.h>                             //por uso de cin y cout
#include<stdlib.h>                                 // por uso de exit                               
#include<math.h>                                 // por uso de pow (potencia)

void main(void)
{float n1, n2;
 char op;
 double r;

cout<<"Ingrese primer numero:";
cin>>n1;
cout<<"Ingrese Operador:";
cin>>op;
cout<<"Ingrese segundo numero:";
cin>>n2;

switch(op)
{ case '+': r=n1+n2; break;
   case '-' : r=n1-n2;  break;
   case '/': r=n1/n2; break;
   case '*' : r=n1*n2;  break;
   case '#' : r= pow(n1,n2); break;

default: cout<<"Operador no definido"; exit(1);
} //fin de switch

cout<<"El resultado es:"<<r;
//fin de main
 

Comentarios

Entradas más populares de este blog

Programación en c++ : Matriz - Calcular mayor de la matriz

1.- Hacer un programa que permita ingresar n datos de una matriz y calcular el mayor de la matriz. #include<iostream.h> #include<conio.h> #define lim 50 void main() {int i,j,a[lim][lim],fila,col,  may=a[0][0];  clrscr(); do {cout<<"Ingresar limite de la fila:";  cin>>fila; }while(fila<=0); do {cout<<"Ingesar limite de la columna:";  cin>>col; }while(col<=0); gotoxy(10,7); cout<<"Ingresar Elementos de la matriz\n\n"; for(i=0;i<fila;i++) for(j=0;j<col;j++) {cout<<"a["<<i<<"]"<<"["<<j<<"]";  cin>>a[i][j]; } for(i=0;i<fila;i++) for(j=0;j<col;j++) if(a[i][j]>may) may=a[i][j]; clrscr(); gotoxy(10,7); cout<<"Elementos de la matriz\n\n"; for(i=0;i<fila;i++) for(j=0;j<col;j++) {cout<<a[i][j];  cout<<"\n"; } clrscr(); gotoxy(10,20); cout...

Lenguaje de Programacion en Java: Ecuación de primer grado

public class Main {     public static void main(String[] args) {         float x,a,e;                   Scanner teclado = new Scanner(System.in);         System.out.println("Coeficiente de X:");         x=teclado.nextInt();         System.out.println("Término independiente:");         a=teclado.nextInt();         if(a==0)           System.out.println("No es una ecuación de primer grado");           else         {              e=-a/x;              System.out.println("La raíz es=" +e);         }                                     } ...

Programación en Java: Suma de los cuadrados de los primeros números

public class Main {     public static void main(String[] args) {         int n,s;                  Scanner teclado = new Scanner(System.in);         System.out.println("Ingresar cantidad de elementos:");         n=teclado.nextInt();                      s=(n*(n+1)*(2*n+1))/6;                   System.out.println("Suma de los cuadrados de los primeros números=" +s);                   }    }