Not really.
You use switch(case) and if(else) whenever you want, except that:
switch(case) CAN'T take non-constant arguments. What does it mean?
It means, that your variable value must be known at compile-time. if-else doesn't require that.
Check this:
PS. Oh, and switch-else can handle only integral types, if I'm not wrong(char is integral type). So you can't check for const char* , since string isn't integral.