$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; } $