/* =============================================================================================
Wilfredo Cruz Yarlequé wcruzy@gmail.com
Piura, Perú, Enero 19 de 2025
El programa inicialmente muestra una "ventana" con letras desde la K hasta la P
Si ingresa 0, la "ventana" se desplaza a la izquierda y muestra desde la J hasta la O,
o si ingresa 1, la "ventana" se desplaza a la derecha y muestra desde la L hasta la Q
Hay un limite de desplazamientos tanto a la izquierda como a la derecha
============================================================================================= */
#include <stdio.h>
char LETRAS[26]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S',
'T','U','V','W','X','Y','Z'};
char VENTANA[6]={'K','L','M','N','O','P'};
void mostrar(void);
char * haceVentana(int);
int main()
{
int entrada;
int puntero = 10;
int k = 0;
int i, j;
do
{
mostrar();
printf("\nIngrese 0 si desplaza a la izquierda o ingrese 1 si desplaza a la derecha: ");
scanf("%d", &entrada);
if (entrada == 0)
{
k = k - 1;
puntero = puntero - 1;
haceVentana(puntero);
}
else
{
k = k + 1;
puntero = puntero + 1;
haceVentana(puntero);
}
if (k > 10 || k < -10)
{
printf("\nUsted llegó al limite permitido...\n\n");
return 0;
}
} while (entrada == 0 || entrada == 1);
return 0;
}
/* ================ F U N C I O N E S ================ */
void mostrar(void)
{
int i;
for (i = 0; i < 6; i++)
printf("%c", VENTANA[i]);
printf("\n");
}
char * haceVentana(int puntero)
{
int i;
int j = 0;
for (i = puntero; i < puntero + 6; i++)
{
VENTANA[j] = LETRAS[i];
j++;
}
return VENTANA;
}