Ihhhhhh GOTOs gehören KEINESFALLS in modernen Code. Ausserdem:
(d=1) wird IMMER zu true ausgewertet, du musst schon (d==1) nehmen. Sonst hab ich mir den Code nicht weiter angeschaut, gewöhn dir bitte an von Anfang an einzurücken, leserlich Leerzeichen zu setzen und solchen Stuff.