Il codice che ti avevo indicato funzionava con la prima versione del codice che avevi proposto ... quella SENZA scanf ma con la getchar ...

codice:
        else
            bin+=0;

Questa parte di codice e' assolutamente inutile ... perche' sommare 0 ad un numero?