<div dir="ltr">Hola Óscar,<div class="gmail_extra"><br><div class="gmail_quote">2014-04-25 7:04 GMT-04:00 Oscar Aparicio Holgado <span dir="ltr"><<a href="mailto:pelucheloko@hotmail.com" target="_blank">pelucheloko@hotmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">


<div><div dir="ltr">Muy buena Steven el if que compara si eleccion es igual a s, jamás se me habría ocurrido :-)<div><br></div></div></div></blockquote><div><br></div><div>Como dije, se trata de representar los conceptos y usar tal representación. Originalmente, representaste cada elección de la máquina usando cadenas de caracteres, pero usaste otra representación para la elección del usuario. Si usas una representación común, entonces podemos tratar el mismo concepto - la elección - de la misma manera.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div><div dir="ltr"><div></div><div>El código de ahora con el if y el enum (¿está bien usado?) sería este:</div>
<div><br></div></div></div></blockquote><div><br></div><div>Sí, aunque como he explicado deberías tratar 's' y 'eleccion' de la misma manera. Esto es,</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div><div dir="ltr"><div></div><div><div class=""><div>    else if(eleccion == 1)<br></div></div></div></div></div></blockquote><div><br></div><div>Aquí 1 no tiene ningún sentido para nosotros. Tendríamos que recordar que 1 representa "piedra". ¿Por qué recordar esto cuando podemos usar una constante con un nombre descriptivo para comunicar tal idea?</div>
<div><br></div><div>Escribe,</div><div><br></div><div>else if( eleccion-1 == PIEDRA )</div><div><br></div><div>Esto es mucho más legible y por tanto seremos menos propensos a cometer errores.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div><div dir="ltr"><div><div class=""><div></div></div><div>    {</div><div>        if(s == PAPEL)</div><div class=""><div>            cout << "Perdistes panoli!" << endl;</div><div>        else</div>
<div>            cout << "Ganastes tronko!" << endl;</div><div>    }</div></div><div>    else if(eleccion == 2)</div></div></div></div></blockquote><div><br></div><div>Aquí hacemos lo mismo,</div><div>
<br></div><div>else if( eleccion-1 == PAPEL )<br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div><div dir="ltr"><div><div>        if(s == PIEDRA)</div><div class=""><div>            cout << "Ganastes tronko!!" << endl;</div><div>        else</div></div><div class=""><div>            cout << "Perdistes panoli!!" << endl;</div>
<div>    else</div></div><div>        if(s == PIEDRA)</div><div class=""><div>            cout << "Perdistes panoli!!!" << endl;</div><div>        else</div></div><div>            cout << "Ganastes tronko!!!" << endl;</div>
<div>    return 0;</div><div>}</div><div><br></div></div></div></div></blockquote></div><br></div><div class="gmail_extra">Como puedes ver, vas a necesitar usar 'eleccion-1'. Por lo tanto, sugiero que hagas esta resta permanente nada más conseguir tal elección; esto es,</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">cin >> eleccion;</div><div class="gmail_extra"><br></div><div class="gmail_extra">--eleccion;</div><div class="gmail_extra"><br></div><div class="gmail_extra">
if( s == eleccion )  ...<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">if( eleccion == PIEDRA )  ...<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Ya no tienes que estar restando 1 cada vez que uses 'eleccion'.</div>
<div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">La otra alternativa es usar un 'switch/case' en lugar de 'if/else'; o sea,</div><div class="gmail_extra"><br></div>
<div class="gmail_extra">// ¿Empate?</div><div class="gmail_extra">if( s == eleccion )  ...</div><div class="gmail_extra"><br></div><div class="gmail_extra">// No hay empate</div><div class="gmail_extra">switch( eleccion )<br>
{<br>  case PIEDRA:  ...</div><div class="gmail_extra">  case PAPEL:  ...</div><div class="gmail_extra">  case TIJERA:  ...</div><div class="gmail_extra">  default:  ...</div><div class="gmail_extra">}</div><div class="gmail_extra">
<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Espero que esto te oriente.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Steven</div><div class="gmail_extra"><br></div></div>