[C con Clase] hacer loop con switch
Fabian Arenas
lordjerhyn en gmail.com
Sab Oct 18 16:11:11 CEST 2008
El 18 de octubre de 2008 2:35, Marco Ibarra <guarjol_00 en hotmail.com>escribió:
> 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:
>
> /********************************************************
> /********************************************************
>
>
> cout<<"El siguiente programa le permite realizar conversiones de grados
> Celsius"<<endl;
> cout<<"y grados Fahrenheit. Para comenzar:"<<endl<<endl;
>
>
> start1:
> cout<<"Seleccione la escala que desea convertir: " <<endl;
> cout<<"Celsius(1), Fahrenheit(2)." << endl<<endl;
>
> //seleccion de escala y conversion
>
> int escala;
> float celsius, fahrenheit;
> cin>> escala;
>
> start:
>
> switch (escala){
> case 1:
>
> cout<<"Ingrese grados Celsius:"<<endl;
> cin>> celsius;
> fahrenheit=celsius*9/5+32;
> cout<<endl<<endl<<celsius<<" grados Celsius, equivalen
> a "
> <<fahrenheit<<" Grados Fahrenheit"<<endl<<endl;
> break;
>
> case 2:
> cout<<"Ingrese grados Fahrenheit:"<<endl;
> cin>> fahrenheit;
> celsius=fahrenheit-32*5/9;
> cout<<endl<<endl<<fahrenheit<<" grados Fahrenheit
> equivalen a "
> <<celsius<<" Grados Celsius"<<endl<<endl;
> break;
>
> default:
>
> cout<<endl<<"Seleccion incorrecta, ingrese una opcion valida."
> <<endl<<"Celsius(1), Fahrenheit(2)";
> cout<<endl<<endl;
> cin>>escala;
> goto start;
> }
>
> //repetir o salir del programa
>
> char rep;
> cout<<endl<<"Desea realizar otra operacion?"<<endl;
> cout<<"Presione (r)para repetir, o cualquier tecla para
> salir."<<endl<<endl;
> cin>>rep;
>
> if (rep == 'r')
> goto start1;
>
> else {
> cout<<endl<<endl<<endl
> <<"****Gracias por utilizar este programa, Hasta
> luego!!****"<<endl;
> }
>
>
> cin.get();
> cin.get();
> return 0;
> }
>
> Al parecer el codigo ya compilado funciona tal como deveria, pero no dejo
> de pensar en goto.
>
> Gracias de antemano, Marco Ibarra.
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
Bueno ... te mando un saludo de bienvenida ...
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); }
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 ....
sl2 ... welcome to C++ ....
--
Fabian Arenas L.
Estudiante de Ingeniería en Informática. UTEM
Web: http://eterniosilicio.blogspot.com/
Linux Registered User #476277 - http://counter.li.org/
Si nada te resulta.......Rutea el algoritmo po GIL!!!
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20081018/64ee0107/attachment.html>
Más información sobre la lista de distribución Cconclase