#include #include /* [x] Get user input as char [x] check if valid input ([ A- Z][ a- z]) [x] check if valid input ([65-90][97-122]) [x] if valid, print numerical [x] if valid, print ASCII [x] if invalid, print "[ERROR] not a valid character [A-Z] or [a-z]" [x] if invalid, no further output [x] request input repeatedly [x] print round number at start [x] if "Q" or "q", terminate [x] regular output when terminating [x] print "GOODBYE" before terminating */ unsigned char userchar = 0; unsigned int counter = 1; bool charcheck(unsigned char char_) { if((char_ >= 65 && char_ <= 90) || (char_ >= 97 && char_ <= 122)) // A <= %c <= Z OR a <= %c <= z { return true; } else { return false; } } void round_start() { printf("Round %d:\n", counter); counter++; printf("%s", "Insert character: "); } int main() { while(1) { round_start(); scanf(" %c", &userchar); if (charcheck(userchar) == true) { printf("%-17s %d\n", "Number:", userchar); printf("%-17s %c\n", "ASCII character:", userchar); //Q == 81, q == 113 if (userchar == 81 || userchar == 113) {break;} } else { printf("[ERROR] not a valid character [A-Z] or [a-z]\n"); continue; } } printf("GOODBYE\n"); return 0; }