Instantly share code, notes, and snippets.
Last active
June 7, 2024 17:17
-
Star
(0)
0
You must be signed in to star a gist -
Fork
(0)
0
You must be signed in to fork a gist
-
Save kurotori/b38b35580027bc91c189c6753149104b to your computer and use it in GitHub Desktop.
Menu de Opciones en PSeInt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Algoritmo de Menú de Opciones | |
// Por Luis Sebastián de los Ángeles | |
// ---------------------------------- | |
// Este algoritmo demuestra cómo se declara un menú de opciones simple | |
// realizando algunas modificaciones a un algoritmo Bucle Principal | |
Algoritmo MenuDeOpciones | |
//Declaramos una variable para las opciones que elija el usuario... | |
Definir opciones como Texto; | |
//... y la inicializamos | |
opciones = ""; | |
//Variable para controlar la cantidad de registros | |
Definir cant Como Entero; | |
cant = 10; | |
//Variables para las listas de registros | |
Definir nombres,apellidos como Texto; | |
Dimension nombres(cant), apellidos(cant); | |
// | |
Definir regVacio Como Entero; | |
regVacio=0; | |
Definir pagina como Entero; | |
pagina = 0; | |
Para posicion=0 Hasta (cant-1) Con Paso 1 | |
nombres(posicion) = "..."; | |
apellidos(posicion) = "..."; | |
FinPara | |
//Declaramos el Bucle Principal, controlado por la variable 'opciones' | |
Mientras opciones<>"x" Hacer | |
//Limpiamos la pantalla para lograr una visualización más fluida | |
Limpiar Pantalla; | |
//Se muestran en pantalla las opciones disponibles | |
Escribir "Elija una opción:"; | |
Escribir "1: Agregar un registro"; | |
Escribir "2: Ver todos los registros"; | |
Escribir "3: Modificar un registro"; | |
Escribir "4: Borrar registros"; | |
Escribir "x: Salir"; | |
//Esperamos la selección del usuario | |
Leer opciones; | |
//Transformamos el dato ingresado a minúsculas para facilitar su análisis | |
opciones = Minusculas(opciones); | |
Limpiar Pantalla; | |
//Evaluación de la selección del usuario | |
Segun opciones Hacer | |
//En esta opción del sistema demostraremos un submenú persistente | |
"1": | |
//Para establecer el submenu persistente, declaramos un bucle principal anidado | |
// y reniciamos la variable 'opciones' para evitar cierres prematuros del bucle | |
opciones = ""; | |
//Este submenú funciona de forma semejante al principal | |
Mientras opciones <> "x" Hacer | |
Escribir "Eligió la opción 1"; | |
Escribir "Opciones del sub menu 1:"; | |
Escribir "1 - Sub Opción 1.1"; | |
Escribir "2 - Sub Opción 1.2"; | |
Escribir "3 - Sub Opción 1.3"; | |
Escribir "X - Volver al Menu Principal"; | |
Leer opciones; | |
opciones = Minusculas(opciones); | |
Limpiar Pantalla; | |
Segun opciones Hacer | |
"1": | |
Escribir "Nuevo Registro"; | |
regVacio = 0; | |
Mientras nombres(regVacio)<>"..." Hacer | |
regVacio = regVacio + 1; | |
FinMientras | |
Escribir "Posicion ",regVacio; | |
Escribir Sin Saltar "Nombre:"; | |
Leer nombres(regVacio); | |
Escribir Sin Saltar "Apellido:"; | |
Leer apellidos(regVacio); | |
Esperar Tecla; | |
"2": | |
Escribir "Elegiste la opción 1.2"; | |
Esperar Tecla; | |
"3": | |
Escribir "Elegiste la opción 1.3"; | |
Esperar Tecla; | |
Fin Segun | |
Limpiar Pantalla; | |
FinMientras | |
//Reiniciamos la variable opciones para evitar que el bucle principal | |
// se cierre prematuramente | |
opciones = ""; | |
"2": | |
Escribir "Ver Todos los Registros"; | |
pagina=0; | |
opciones=""; | |
Mientras opciones != "x" Hacer | |
Escribir "Atrás: A Adelante: D Salir: X"; | |
Leer opciones; | |
opciones = Minusculas(opciones); | |
FinMientras | |
opciones = ""; | |
Para posicion=0 Hasta cant-1 Con Paso 1 Hacer | |
FinPara | |
Esperar Tecla; | |
//En caso de que el usuario elija la opción de salir, le advertimos | |
// que ha seleccionado esa opción y le pedimos confirmación | |
"x": | |
Escribir "Vas a salir del programa"; | |
Escribir "¿Deseas continuar?"; | |
Escribir "S: Si N:No"; | |
//Obtenemos la selección del usuario y la almacenamos en la variable 'opciones' | |
Leer opciones; | |
opciones = Minusculas(opciones); | |
//Analizamos la selección del usuario | |
Si opciones="s" Entonces | |
//Si el usuario confirma la salida, debemos modificar el valor de | |
// la variable 'opciones' a 'x' para permitir el cierre del bucle | |
opciones="x"; | |
SiNo | |
//Si el usuario no confirma la salida, o si ingresa cualquier otro | |
// valor, reiniciamos el valor de la variable 'opciones' para evitar | |
// el cierre prematuro del bucle | |
opciones=""; | |
FinSi | |
Fin Segun | |
Fin Mientras | |
FinAlgoritmo |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment