C'è qualche conflitto nella logica di funzionamento di quella condizione.
In generale, a prescindere dal linguaggio di programmazione, l'operatore OR logico (||) interrompe la verifica se la prima espressione risulta essere vera. Per cui non ci sarà bisogno di verificare la seconda espressione dal momento che il risultato sarà comunque vero.
Esaminiamo quindi quella condizione.
La prima espressione è conferma != 's'. In questo caso sarà chiaramente valutato il valore di conferma, se non è uguale ad 's' allora l'intera condizione è vera, per cui il ciclo continua.
Supponiamo invece che conferma sia uguale ad 's', quindi sarà valutata la seconda espressione conferma != 'n'. Questa espressione risulterà ovviamente vera in questo caso, per cui il ciclo continua.
Come puoi vedere, il ciclo continuerà comunque in qualsiasi caso.
Dovrai quindi rivedere quella condizione. Sinceramente non ho capito però quando vuoi che si esca dal ciclo.