<div>Hola Pablo, la sentencia switch es un selector, que toma una expresion de tipo entero y de acuerdo a su valor ejecutara o no un bloque de codigo.<br></div><div>Ejemplo:</div><div>char letra;</div><div>switch(letra)</div>
<div>{</div><div>case 'a':</div><div><blockquote><p>printf("%c es vocal\n",letra);</p></blockquote><div><blockquote><p>break;</p></blockquote></div></div><div><div>case 'e':</div><div><blockquote>
<p>printf("%c es vocal\n",letra);</p></blockquote><div><blockquote><p>break;</p></blockquote><div><div>case 'i':</div><div><blockquote><p>printf("%c es vocal\n",letra);</p></blockquote><div><blockquote>
<p>break;</p></blockquote><div><div>case 'o':</div><div><blockquote><p>printf("%c es vocal\n",letra);</p></blockquote><div><blockquote><p>break;</p></blockquote><div><div>case 'u':</div><div><blockquote>
<p>printf("%c es vocal\n",letra);</p></blockquote><div><blockquote>break;</blockquote></div></div>default:</div><div><blockquote>printf("%c no es vocal",letra);</blockquote></div></div></div></div></div>
</div></div></div></div><blockquote>break;</blockquote></div><div>}</div><div></div><div>Como notaras, al final del codigo dentro de cada case hay un "break;", esto es por que si no la ejecucion continuaria en el codigo del siguiente "case" o "default" (en caso de que lo halla). Esto se debe al funcionamiento del switch que se podria traducir como:</div>
<div></div><div>if(letra=='a') goto caso_a;</div><div>if(letra=='e') goto caso_e;</div><div>if(letra=='i') goto caso_i;</div><div>if(letra=='o') goto caso_o;</div><div>if(letra=='u') goto caso_u;</div>
<div>goto defa;</div><div>caso_a:</div><div><blockquote><p>printf("%c es vocal",letra);</p></blockquote><div><blockquote>goto fin;</blockquote></div></div><div>caso_e:</div><div><blockquote><p>printf("%c es vocal",letra);</p>
</blockquote><div><blockquote><p>goto fin;</p></blockquote><div><div>caso_i:</div><div><blockquote><p>printf("%c es vocal",letra);</p></blockquote><div><blockquote><p>goto fin;</p></blockquote><div><div>caso_o:</div>
<div><blockquote><p>printf("%c es vocal",letra);</p></blockquote><div><blockquote><p>goto fin;</p></blockquote><div><div>caso_u:</div><div><blockquote><p>printf("%c es vocal",letra);</p></blockquote><div>
<blockquote>goto fin;</blockquote></div></div>defa:</div><div><blockquote>printf("%c no es vocal");</blockquote></div></div></div><blockquote><p>goto fin;</p></blockquote><div>fin:</div><div></div><div></div><div>
Ahora si es bastante claro que si no estubieran los "goto fin;", se seguiria con la ejecucion en la siguiente linea, el "break;" hace el mismo trabajo del "goto fin;"</div><div></div><div>Habiendo visto esto se podria escribir reescribir el switch como:</div>
<div></div><div>char letra;</div><div>switch(letra)</div><div>{</div><div>case 'a':</div><div>case 'e':</div><div>case 'i':</div><div>case 'o':</div><div>case 'u':</div><div><blockquote>
<p>printf("%c es vocal\n",letra);</p></blockquote><div><blockquote>break;</blockquote></div><div>default:</div></div><div><blockquote><p>printf("%c no es vocal\n",letra);</p></blockquote><div><blockquote>
break;</blockquote></div></div><div>} </div></div></div></div></div></div></div><div class="gmail_quote"></div><div class="gmail_quote"></div><div class="gmail_quote">Saludos</div><div class="gmail_quote"></div><div class="gmail_quote">
</div><div class="gmail_quote">El 29 de julio de 2009 13:13, Pablo Coletto <span dir="ltr"><<a href="mailto:pablo06_cabj_ec@hotmail.com">pablo06_cabj_ec@hotmail.com</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hola recien estoy empezando con el curso de programacion y no logro entender las sentencias switch. como es su sintaxis y algunos ejemplos para entender su funcionamiento.<br>
Desde ya gracias y perdon por mi ignorancia<br>
_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
</blockquote></div><br>