Ma tu il codice lo compili e non ci sono errori? Sicuro?

Come hai usato la scanf ?

http://www.cplusplus.com/reference/cstdio/scanf/

Cosa vuol dire quella while usata in quel modo?

Comunque è meglio che utilizzi la fscanf

fscanf(string, MAX, stdin);

per l'input al posto della scanf