Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ALUMNO
CUI
DOCENTE
20153324
CURSO
NUMERICOS
PROGRAMACION Y METODOS
TEMA
SENTENCIA SWITCH
AREQUIPA PERU
SENTECIA SWITCH
CONCEPTO
La sentencia switch da una alternativa mucho ms refinada a la necesidad
de utilizar o implementar mltiples sentencias condicionales if cuando
deseamos que una determinada variable tome diferentes valores para
cada condicin.
Generalmente, la sentencia switch se implementa cuando es necesarario
la utilizacin de un men de opciones ya que el usuario deber escoger
una de las opciones, a esto me refiero cuando comento que la variable
puede tomar diferentes valores.
SINTXIS
La sintaxis o estructura general de la sentencia switch es la siguiente:
switch
{
case
sentencia_12;
...
case
sentencia_22;
...
...
...
...
case
sentencia_n;
(expresin)
cte_1:
sentencia_11;
cte_2:
sentencia_21;
cte_n:
sentencia_n;
...
}
Vale la pena resaltar que expresin es el nombre de la variable que se
utilizar como argumento de la sentencia switch.
Ahora bien, en la sintaxis de la sentencia switch que anteriormente
present se comprueba el valor que ingrese el usuario que es el que
tomar la variable expresin y lo compara con algunas de las etiquetas
que acompaen a cada case. En caso de no encontrar ninguna
coincidencia, el valor lo tomar como default.
Por otra parte, como antes lo mencion, si la sentencia switch no contiene
el valor ingresado por el usuario (que lo tomar la variable expresin o el
argumento), se puede crear un default (que es una palabra clave reservada
del lenguaje C), y mostrar un mensaje que diga, por ejemplo: opcin
errnea, intente de nuevo., as de esa manera, cuidamos nuestro
programa.
EJEMPLO
En tal sentido, se podra hacer un caso prctico. Creemos un programa
donde se muestre al usuario un men de opciones conformado por:
1.
Capital
2.
Capital
3.
10000+58000
4. Capital de Alemania
de
de
=
Argentina
Espaa
?
EJERCICIO
#include<iostream>
#include<stdlib.h>
#include<math.h>
using namespace std;
int promedio,n1,n2,n3,cat;
char nomape[40],cur[20];
int main()
{
printf("\t\tingrese nombres y apellidos del alumno\n");
gets(nomape);
printf("\t\tingrese curso \n");
gets(cur);
printf("\t\telija una categoria \n");
printf("\t\t1 - A\t\t \n");
printf("\t\t2 - B\t\t \n");
printf("\t\t3 - C\t\t \n");
cin>>cat;
printf("\t\tingrese 3 notas \n");
scanf("%i""%i""%i",&n1,&n2,&n3);
system("cls");
if (n1>=0&&n2>=0&&n3>=0&&n1<=20&&n2<=20&&n3<=20)
promedio=(n1+n2+n3)/3 ;
else
cout<<"revise datos"<<endl;
if (promedio>0 && promedio<11)
cout<<"estado : desaprobado con "<<promedio<<endl;
else
if (promedio>=11 && promedio<=14)
cout<<"estado : aprobado con "<<promedio<<endl;
else
if (promedio>14 && promedio<17)
switch(cat)
{
case 1 :
if (n1>=0&&n2>=0&&n3>=0&&n1<=20&&n2<=20&&n3<=20&&promedio>=17
&& promedio<=20)
{promedio=(n1+n2+n3)/3 ;
printf("\t\tnombres y apellidos del alumno: %s\n",nomape);
printf("\t\tcurso: %s\n",cur);
printf("\t\tpromedio: %i\n",promedio);
printf("\t\tcategoria : A\n");
cout<<"apto"<<endl; }
else
if (n1<0||n2<0||n3<0||n1>20||n2>20||n3>20)
cout<<"revise datos"<<endl;
else
{ printf("\t\tnombres y apellidos del alumno: %s\n",nomape);
printf("\t\tcurso: %s\n",cur);
printf("\t\tpromedio: %i\n",promedio);
printf("\t\tcategoria : A\n");
cout<<"no apto"<<endl; }
break;
case 2 :
if (n1>=0&&n2>=0&&n3>=0&&n1<=20&&n2<=20&&n3<=20)
{promedio=(n1+n2+n3)/3 ;
printf("\t\tnombres y apellidos del alumno: %s\n",nomape);
printf("\t\tcurso: %s\n",cur);
printf("\t\tpromedio: %i\n",promedio);
printf("\t\tcategoria : B\n");
cout<<"no apto"<<endl; }
else
cout<<"revise datos"<<endl;
break;
case 3 :
if (n1>=0&&n2>=0&&n3>=0&&n1<=20&&n2<=20&&n3<=20)
{promedio=(n1+n2+n3)/3 ;
printf("\t\tnombres y apellidos del alumno: %s\n",nomape);
printf("\t\tcurso: %s\n",cur);
printf("\t\tpromedio: %i\n",promedio);
printf("\t\tcategoria : C\n");
cout<<"no apto"<<endl; }
else
cout<<"revise datos"<<endl;
break;
default:
printf ("revisar datos introducidos\n");
}
system("PAUSE");
}