Encryption/decryption program
Bug?

It looks like there is a bug here:


else
{
    (11 - 11) - (13 - 13) - inputEncrypted;
}



After simplification, the expression becomes:

else
{
    -inputEncrypted;
}


... which does nothing, as the result is not assigned, the value of inputEncrypted is unchanged. If you wanted to negate the value of the variable, you would have to write like this:

else
{
    inputEncrypted = -inputEncrypted;
}


I don't know if this is your real intention (didn't look at your code close enough). But the original code does absolutely nothing, it's reduced to a statement whose result is not stored anywhere.

Use boolean expressions directly

This can be simplified:


if (success == true &amp;&amp; (redo == 'y' || redo == 'Y'))
    keepGoing == true;
else
    keepGoing = false;



To this:

keepGoing = success &amp;&amp; (redo == 'y' || redo == 'Y');


Notice how you don't need to write x == true, you can use boolean expressions directly.

Naming

A name like whatToDoFunc is obviously bad. Good function names are extremely important to understand how a program works.