Forse non hai ben compreso il problema ... se tu scrivessi quel codice in C++ avresti lo stesso risultato ...
L' Else fa parte del blocco "If delta=0" e non del primo If
Quindi tu hai
Se il delta e' < 0 allora la prima If viene eseguita e il codice continua con la seconda Ifcodice:If delta < 0 Then ... End If If delta = 0 Then ... Else ... End If
La seconda If non viene eseguita perche' delta non e' = 0 ma viene giustamente eseguita la Else perche' delta < 0 e' comunque diverso da zero.
Il codice corretto in VB sarebbe
codice:If delta < 0 Then ... Else If delta = 0 Then ... Else ... End If End If