Programación en C | Creando un menú de operaciones matemáticas con Do-While

in #spanish5 years ago (edited)


¡Programamos un menú de operaciones matemáticas usando Do-While!


bbva-perfil-analista-datos.jpg

En el apartado anterior habíamos visto la estructura de repetición usando el for pero también se podía utilizar el while. Entonces veremos uno llamado "Do-While".

Su estructura es esta:

Do{
instrucciones;
}while(condición);

¿Qué es lo que hace? Y bueno, ejecuta una instrucción y luego pregunta por la condición. Es decir, ejecuta al menos una vez las instrucciones dentro del cuerpo del Do-While. A modo de ejemplo vamos a hacer lo siguiente:

Un programa sencillo que calcula una suma, resta, multiplicación o división. Está hecho en formato menú y al dar el resultado pregunta si queremos hacer otra operación. Si la respuesta es "n" (No), sale del Do-While. Si es "s" continúa ofreciendo las operaciones que queramos elegir.

Este es el código del programa:

assss.PNG

Y acá lo vemos funcionando en Code::Blocks

212.gif

Explicación de cómo funciona:

Necesitamos declarar una variable del tipo entero (int) que sirva para darnos las opciones a elegir. En este caso int opc;

Luego las variables que guardarán el valor ingresado para las operaciones matemáticas. Se tratan de int a y b.

Y una variable de condición de fin para el Do-While la cuál es char salir_continuar.

Entonces necesitamos crear un Do-While. Ejecuta una primer vez el contenido del cuerpo ofreciendo las opciones y luego nos da a elegir. Con el Switch selecciona la operación que hayamos elegido. Va del 1 al 4 y en caso de default si no apretamos ninguno de esos nos dirá si queremos realizar otra operación.

Luego de la operación nos pregunta si queremos hacer una nueva operación. Si la respuesta es "s" continúa por lo que vuelve arriba de todo y ejecuta el cuerpo nuevamente. Otra operación nueva. Si la respuesta fue un "n" significa que denegamos la ejecución. Si nos fijamos bien la condición de fin es mientras salir_continuar no sea 'n' se va a ejecutar pero si es igual a 'n' entonces sale del Do-While. Usamos el operador ! (NOT). Y terminamos con un return 0 ya que al principio pusimos int main() ...

Información extra:

  • fflush(stdin); sirve para limpiar el buffer. Se usa cuando usamos carácteres. Logra que no se produzca ningún conflicto al pedir datos del tipo char.

  • system("cls"); sirve para limpiar la pantalla. Es muy útil cuando hacemos un programa con menúes para que no se vayan acumulando. Se complementa con el Do-While ya que una vez que termina vuelve hacia arriba. Limpiamos cuando termina el ciclo.


Sort:  

¡Felicitaciones!


Has sido votado por @entropia

Estás participando para optar a la mención especial que se efectuará el domingo 19 de mayo del 2019 a las 8:00 pm (hora de Venezuela), gracias a la cual el autor del artículo seleccionado recibirá la cantidad de 1 STEEM transferida a su cuenta.

¡También has recibido 1 ENTROKEN! El token del PROYECTO ENTROPÍA impulsado por la plataforma Steem-Engine.


Te participamos que puedes invertir en el PROYECTO ENTROPÍA mediante tu delegación de Steem Power y así comenzar a recibir ganancias de forma semanal transferidas automáticamente a tu monedero todos los lunes. Entra aquí para más información sobre cómo invertir en ENTROPÍA.

Contáctanos en Discord.

Apoya al trail de @Entropia y así podrás ganar recompensas de curación de forma automática. Entra aquí para más información sobre nuestro trail.

Puedes consultar el reporte diario de curación visitando @entropia.

Atentamente

El equipo de curación del PROYECTO ENTROPÍA

Increíble, si yo supiera tanto de programación como tú, me dedicara a crear un bot para juegos y luego ofrecer el servicio.Te dejo una sugerencia, no termines diciendo para que sirve, ese debe ser el comienzo, así el lector se entusiasma más a leer el post, te lo digo como lector, es magnifico tu trabajo. !shop

Todavía falta muchas cosas interesantes. Quizás haga un ejercicio usando vectores paralelos :P

Ya me gustaría ver eso, para saber que es, ja, ja ,ja o con qué se come. Tus post son increíbles y sabes mucho de programación, espero que sigas compartiendo tus saberes con el mundo, no te canses, que el que persevera, vence.

Usted ha recibido un upvote por la comunidad @inteligentzia y su TRAIL de curadores ya que consideramos su post de información útil y de relevancia creativa.

Si quieres saber más del proyecto aquí te dejamos nuestro post introductorio

También puedes unirte a nuestro canales en el Chat Discord o en nuestro Grupo de Facebook para saber más del proyecto!

Congratulations @vikvitnik! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You received more than 2000 upvotes. Your next target is to reach 3000 upvotes.

You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

Do not miss the last post from @steemitboard:

New japanese speaking community Steem Meetup badge
Vote for @Steemitboard as a witness to get one more award and increased upvotes!

你好鸭,vikvitnik!

@willsaldeno给您叫了一份外卖!

@mia-cc 斤斤 在艳阳高照 吃着软哥咖喱 念着软哥金句:"看你这口牙,难道你和狗是同一个祖先?" 给您送来
Lindt巧克力

吃饱了吗?跟我猜拳吧! 石头,剪刀,布~

如果您对我的服务满意,请不要吝啬您的点赞~
@onepagex

Coin Marketplace

STEEM 0.33
TRX 0.11
JST 0.034
BTC 66598.01
ETH 3236.65
USDT 1.00
SBD 4.66