If you have a lot of choices, and the are numerical or can be represented as numerical, there are better ways to choose than either if/else or switch/case.

For example, if you state variable is s, and s can have the value 1 to 25, you could write

if ( s == 1 ) {}

else if ( s==2 ) {}

else if ( s==3 ) {}

// et cetera

A more efficient scheme would be

if ( s < 13 )

{

if ( s < 6 )

{

if ( s < 3 )

{

}

else // s is 3 or higher

{

}

}

else // s is 6 or higher

{

}

}

else // s is 13 or higher

{

}

The advantage of this is, you get to the point of knowing what to do in only 4 or 5 comparisons of s, instead of possibly 24 failed checks.