E' possibile aggiungere un nuovo case????

Credo che non si possa "aggiungere un case alla pressione di un pulsante", ma il case debba essere già presente (ovviamente, essendo il C un linguaggio compilato). Se il tuo problema fosse che esso deve rispettare due condizioni nulla vieta di inserire nel case un if. Se invece il tuo problema fosse che devi aggiungere quella funzione a tutti i case esistenti allora o inserisci un if in ogni case o controlli dopo o prima dell'esecuzione della switch