Bueno, lo único realmente mal que veo es que estás convitiendo a float y asingnándole a una variable "unsigned long", asunto que en este caso no es necesario, con ponerlo así es suficiente:
Código:
...
c = 4 * (c-1)/5 ;
...
No se si el programa funciona bien o no porque no tengo idea de que hace, además creo que esa es la parte que debes hacer tu.
Saludos