Lees solo una vez un caracter. Con el archivo de prueba, tu programa no hace nada.

No imprimes la cantidad de comas,puntos,etc.

Faltan "elses" en la parte final.