iLIKEto: on ne parle visiblement pas de la même chose quand on parle de prototype.
Un prototype, c'est simplement la déclaration d'un objet (avec son nom et son type). Ça n'a rien à voir avec la définition de cet objet (valeur initiale d'une variable, code d'une fonction).
Par exemple, un prototype pour main est :
int main(int, char**);
Pour un fonction racine sur les entier, j'utiliserais un prototype comme :
unsigned long sqrt_ul(unsigned long);
Quant à l'indentation... METS TON CODE SUR http://pastebin.com DAMNED! 
Ce site nous permettra (entre autres) d'indenter décemment et sans effort de ta part.