Yo haría ésto:
Código:
# include <stdio.h>
char numero[8],n;
int i,a;
a = 0;
main ()
{
printf("\n Digite un numero fraccionario y cuando termine digite *");
for(i=0;i<=7;i++)
{
switch(n)
{
case 1:numero[i]=n;
break;
case 2:numero[i]=n;
break;
case 3:numero[i]=n;
break;
case 4:numero[i]=n;
break;
case 5:numero[i]=n;
break;
case 6:numero[i]=n;
break;
case 7:numero[i]=n;
break;
case 8:numero[i]=n;
break;
case 9:numero[i]=n;
break;
case 0:numero[i]=n;
break;
case '.':
if (a == 1){
printf("Dos puntos seguidos\n"); return;
}
numero[i]=n;
a = 1;
break;
case '*':i=8;
break;
default:printf("\n error");
}
}
for(i=0;i<=7;i++)
{
printf("\n %c",numero[i]);
}
}
La variable a servirá de bandera. La primera vez que entra vale 0, así que será el primer punto '.' La segunda vez vale 1 (a=1), y como no está permitido introducir dos puntos, imprimimos un mensaje de error y salimos.
Salu2