You could have an array of structs, with a function pointer and a char string. The string is the name of the function, and the pointer is the address of that function. Read in the string, compare it to the structs, and execute the corresponding function pointer.