# include <stdio.h>
# include <conio.h>
# include <string.h>
# include <stdlib.h>
char cadena[100];
int estado=0;
int i=0;
main ()
{
printf("INGRESE UN VALOR DECIMAL :");
gets(cadena);
for
(i=0;((i<strlen(cadena))&&(estado!=3));i++)
{
if (estado==0)
{
if ((cadena[i]>=48)&&(cadena[i]<=57))
estado=1;
if (cadena[i]=='.')
estado=2;
else estado=4;
}
else
if (estado==1)
{
if ((cadena[i] >=48)&&(cadena[i]<=57))
estado=1;
if (cadena[i]=='.')
estado=2;
else estado=5;
}
else
if (estado==2)
{
if ((cadena[i] >=48)&&(cadena[i]<=57))
estado=3;
else estado=6;
}
else
if (estado==3)
{
if ((cadena[i] >=48)&&(cadena[i]<=57))
estado=3;
else estado=7;
}
}
if (estado==1)
printf("EL NUMERO ES DECIMAL");
{
if (estado==2)
printf("EL NUMERO CONTIENE PUNTO");
{
if (estado==3)
printf("EL NUMERO DECIMAL ES CORRECTO");
{
if (estado==4)
printf("ERROR: DEBE EMPEZAR CON NUMERO O PUNTO");
{
if (estado==5)
printf("ERROR: SOLO SE ACEPTAN NUMEROS");
{
if (estado==6)
printf("DEBE INGRESAR PUNTO DECIMAL");
{
if (estado==7)
printf("SOLO SE HACEPTAN NUMEROS");
}
}
}
}
}
getch();
}
}