<div dir="ltr">El 18 de octubre de 2008 2:35, Marco Ibarra <span dir="ltr"><<a href="mailto:guarjol_00@hotmail.com">guarjol_00@hotmail.com</a>></span> escribió:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Soy nuevo en C++ y tambien en la lista de correo, estuve buscando la manera de regresar al principio de un switch sin la necesidad de goto (en caso de que exista tal manera), como ejemplo el siguiente codigo:<br>
<br>
/********************************************************<br>
/********************************************************<br>
<br>
<br>
cout<<"El siguiente programa le permite realizar conversiones de grados Celsius"<<endl;<br>
cout<<"y grados Fahrenheit. Para comenzar:"<<endl<<endl;<br>
<br>
<br>
      start1:<br>
      cout<<"Seleccione la escala que desea convertir: " <<endl;<br>
      cout<<"Celsius(1), Fahrenheit(2)." << endl<<endl;<br>
<br>
//seleccion de escala y conversion<br>
<br>
      int escala;<br>
      float celsius, fahrenheit;<br>
      cin>> escala;<br>
<br>
     start:<br>
<br>
     switch (escala){<br>
     case 1:<br>
<br>
                     cout<<"Ingrese grados Celsius:"<<endl;<br>
                     cin>> celsius;<br>
                     fahrenheit=celsius*9/5+32;<br>
                     cout<<endl<<endl<<celsius<<" grados Celsius, equivalen a "<br>
                     <<fahrenheit<<" Grados Fahrenheit"<<endl<<endl;<br>
                     break;<br>
<br>
     case 2:<br>
                     cout<<"Ingrese grados Fahrenheit:"<<endl;<br>
                     cin>> fahrenheit;<br>
                     celsius=fahrenheit-32*5/9;<br>
                     cout<<endl<<endl<<fahrenheit<<" grados Fahrenheit equivalen a "<br>
                     <<celsius<<" Grados Celsius"<<endl<<endl;<br>
                     break;<br>
<br>
     default:<br>
<br>
            cout<<endl<<"Seleccion incorrecta, ingrese una opcion valida."<br>
            <<endl<<"Celsius(1), Fahrenheit(2)";<br>
            cout<<endl<<endl;<br>
            cin>>escala;<br>
            goto start;<br>
            }<br>
<br>
//repetir o salir del programa<br>
<br>
            char rep;<br>
            cout<<endl<<"Desea realizar otra operacion?"<<endl;<br>
            cout<<"Presione (r)para repetir, o cualquier tecla para salir."<<endl<<endl;<br>
            cin>>rep;<br>
<br>
            if (rep == 'r')<br>
                         goto start1;<br>
<br>
            else {<br>
                 cout<<endl<<endl<<endl<br>
                 <<"****Gracias por utilizar este programa, Hasta luego!!****"<<endl;<br>
                 }<br>
<br>
<br>
      cin.get();<br>
      cin.get();<br>
      return 0;<br>
}<br>
<br>
Al parecer el codigo ya compilado funciona tal como deveria, pero no dejo de pensar en goto.<br>
<br>
Gracias de antemano, Marco Ibarra.<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><br clear="all">Bueno ... te mando un saludo de bienvenida ...<br><br>concuerdo con lo que dice steven para mi la mejor opcion seria el do-while, ahora bien ... lo que yo haria en vez de poner una variable booleana, seria agregar un case n:{ exit(1); }<br>
<br>donde n es un numero ... generalmente el numero de la ultima opcion.... y por supuesto agregar la opcion SALIR, por si el usuario desea dejar de ocupar el programa ....<br><br>sl2 ... welcome to C++ .... <br>-- <br>Fabian Arenas L.<br>
Estudiante de Ingeniería en Informática. UTEM<br>Web: <a href="http://eterniosilicio.blogspot.com/">http://eterniosilicio.blogspot.com/</a><br>Linux Registered User #476277 - <a href="http://counter.li.org/">http://counter.li.org/</a><br>
Si nada te resulta.......Rutea el algoritmo po GIL!!!<br><br>
</div>