La construcción de un menú iterativo en C
Gracias a la instrucción switch, que vimos anteriormente en el blog, podemos crear una especie de menú que nos permitía realizar ciertas acciones predeterminadas. El defecto de este programa es que cuando termine de realizar una acción (sumar, multiplicar, etc.) el programa finalizará su ejecución.
Con el bucle do-while podemos solucionar el problema.
Ejemplo : Una calculadora que realiza las operaciones de sumar, restar y multiplicar dos números.
#incluir <stdio.h>
int principal () {
int menu_choice;
float a,b,result;
printf("Calculadora v.1.0.0\n");
printf ("1 - suma dos números \n");
printf ("2 - resta dos números \n");
printf ("3 - multiplica dos números \n");
printf ("4 - salir del programa \n");
printf("\n");
do {
printf ("¿Qué acción desea realizar? \n");
printf (">>");
scanf ("%d", & opción_menú);
switch (menu_choice) {
case 1:
printf("\n");
printf ("insertar valor en:");
scanf ("%f", &a);
printf ("insertar valor b:");
scanf ("%f", & b);
printf("\n");
result = a + b;
printf ("resultado:%f\n", result);
break;
case 2:
printf("\n");
printf ("insertar valor en:");
scanf ("%f", &a);
printf ("insertar valor b:");
scanf ("%f", &b);
printf("\n");
result = a - b;
printf ("resultado:%f\n", result);
break;
case 3:
printf("\n");
printf ("insertar valor en:");
scanf ("%f", &a);
printf ("insertar valor b:");
scanf ("%f", &b);
printf("\n");
result = a * b;
printf ("resultado:%f\n", result);
break;
case 4:
printf ("Salí del programa \n");
break;
default:
printf ("ingresó una opción no válida \n");
break;
}
} while (opción_menú! = 4);
}
Explicación del código para las líneas:
• 4 - 7 , instala las variables que necesitará dentro del programa. dos variables (a y b) de tipo float para gestionar todo tipo de números, una variable para elegir la operación a realizar (choice_menu) y una variable que guarda el valor del resultado.
• 9 - 14 , imprime las características de mi menú en la pantalla.
• 17 - 20 , una vez ingresado el "do" empiezo a adquirir los datos del teclado para la operación que desea realizar. Esta adquisición debe colocarse dentro del bucle do-while para permitir que el usuario elija posteriormente otras operaciones para realizar.
• 22 - 63 , una vez adquirida la elección a través del teclado, el switch realiza el case concreto. Tenga en cuenta que el mismo código se repite en cada case, solo cambia la operación que realiza.
• 64 , después de ejecutar uno de los “cases” pasamos al “while” si el valor de la elección es diferente a 4 entonces se seguirá ejecutando a partir del “do” hasta elegir la opción 4.
No hay comentarios:
Publicar un comentario