$ls
ascii-table avg.txt env-var.c functions_ver1.c mph-to-kph_v2.c
ascii-table.c avg-with-garbage.txt env-var-set.c functions_ver2.c output.c
ascii-table.md case-changer.c exist.sh mph-to-kph.c
$gcc case-changer.c -o case-changer
$./case-changer
g
G
v
V
FF
ff
$cat case-changer.c
#include <stdio.h>
#include <string.h>
int main(void)
{
char c[20] = { 0 };
char newcase[20] = { 0 };
int i;
while(fgets(c, sizeof(c), stdin) != NULL)
{
for(i=0; i<=sizeof(c); i++)
{
/* Upper case to lower case */
if ( (c[i] >= 65) && (c[i] <= 90) )
{
newcase[i] = c[i] + 32;
}
/* Lower case to upper case */
if ( (c[i] >= 97 && c[i] <= 122) )
{
newcase[i] = c[i] - 32;
}
}
printf("%s\n", newcase);
/* zero out the arrays so there are no
left-overs in the next run */
memset(c, 0, sizeof(c));
memset(newcase, 0, sizeof(newcase));
}
return 0;
}
$