Diagrama de flujo
Inicio
|
v
+-----------------------------------+
| Función main() |
| Declarar choice |
+-----------------------------------+
|
v
+-----------------------------------+
| Bucle While (true) |
| Mostrar opciones |
| Leer choice |
+-----------------------------------+
|
v
+-----------------------------------+
| Switch (choice) |
| 1. Navidad |
| 2. Año Nuevo |
| 3. Halloween |
| 4. San Valentín |
| 5. Salir |
| Default: Opción no válida |
+-----------------------------------+
| | | | | |
| | | | | |
v v v v v v
+------------+ +------------+ +------------+ +------------+ +------------+ +---------------------
-+
| Caso 1 | | Caso 2 | | Caso 3 | | Caso 4 | | Caso 5 | | Default
|
| Mostrar | | Mostrar | | Mostrar | | Mostrar | | Mostrar | |
Mostrar |
| Navidad | | Año Nuevo | | Halloween | | San Valentín| | Saliendo | |
Opción no válida |
| Llamar a | | Llamar a | | Llamar a | | Llamar a | | Salir | | Intente de
nuevo |
| showCountdown | showCountdown | showCountdown | showCountdown
| del programa| |
| (12, 25) | | (1, 1) | | (10, 31) | | (2, 14) | | || |
+------------+ +------------+ +------------+ +------------+ +------------+ +---------------------
-+
|
v
+-----------------------------------+
| Función calculateDifference |
| Obtener hora actual |
| Convertir a currentTime |
| Ajustar targetTime |
| Ajustar año si necesario |
| Calcular targetEpoch |
| Devolver diferencia en segundos |
+-----------------------------------+
|
v
+-----------------------------------+
| Función showCountdown |
| Llamar a calculateDifference |
| Calcular días, horas, minutos, |
| y segundos |
| Mostrar cuenta regresiva |
+-----------------------------------+
|
v
Fin