> Každá funkce má nějaký omezený dosah, stejně jako její proměnné.
Dosah proměnných je omezený závorkama pod každým ifem. Cokoliv je venku z ifů je sdílené mezi více příkazy a muselo by to být venku i ve vašem řešení se switchem.
A alternativa k bobtnání mainu je co? Bobtnání enum, StringToEnum a pak té řady funkcí? Že to ve výsledku nabobtnalo ještě víc je jedno, vždyť na každém místě přibyl jen kousek.
> Že musím hlídat 3-4 různá místa samozřejmě může nebo nemusí být pravda - záleží na tom, co jazyk a použitá knihovna dovolí a dokáže.
Já myslel, že se bavíme konkrétně o C. A 3-4 místa jsou to právě proto, že C. Jo, kdyby byl v C obecný StringToEnum, jedno místo by možná odpadlo. Pokud se ten switch napíše tak, že překladač může chytnout nepokrytý enum, tak snad taky jedno místo pro chybu odpadne.