Funkcija Pretvori ima "return result" unutar else grane. Da je u tvom kodu tako Visual Studio bi ti javio grešku prilikom bildovanja (funkcija mora potpuno da bude "pokrivena" sa return, a ova nije ako izvršenjem ne uđe u else granu), i ne bi mogao ni da pokreneš program. Pretpostavljam da je tvoj kod drugačiji od ovog što ovde piše.
Takođe, funkcija Pretvori vraća double, ali prilikom osam pozivanja funkcije ta povratna vrednost se ignoriše i nigde se ne koristi. Pretpostavljam da je cilj ipak da se iskoriste te vrednosti.
Takođe, ako već funkcija Pretvori čita string (recimo am) i pretvara ga u double, onda nema potrebe da se poziva double.TryParse(am.Text, out am1). To sad treba rešiti, i postoji nekoliko načina da se to reši, ali ne znam kako jer ne znam kako si zamislio da ti radi program. Kako program treba da se ponaša ako je tekst am prazan, a kako ako ima nešto što liči na n√t, a kako ako ima nešto što ne liči na n√t? Ti moraš da odgovoriš na ova tri pitanja, i onda će se znati kod koji će da ostvari traženo ponašanje.
Trenutno ako am ima simbol √ onda m2 postane false (jer simbol √ nije deo double broja), am1 postane nula, a svi rezultati poziva funkcija Pretvori se ionako ignorišu.