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.