l'eseguibile viene creato (il file .exe) ?

a me, con DevC++ quel codice non da alcun errore
e se lo eseguo funziona.

--------------------------

prova a dichiarare main di tipo int (non void)

int main()

poi, prima di chiudere
il blocco, sotto a

getch();

inserisci

return 0;

p.s. gli header <dos.h> e <conio.h> (in questo caso) non servono.