Si si, è proprio li che loopaOriginariamente inviato da Celebron
edit2: anche gli else sono sbagliati, o almeno lo sono i messaggi di errore al loro interno
infatti (e prendo come esempio il primo ma al secondo si applica lo stesso ragionamento) ti dovrebbe dire che "il valore si trova sul limite inferiore blabla" anche se non si trova li ma la variabile dir è diversa da s
provo a dare uno sguardo agli else