SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: tazz1987 en Martes 29 de Julio de 2008, 02:32

Título: error con un valor en un caracter en c
Publicado por: tazz1987 en Martes 29 de Julio de 2008, 02:32
bueno espero que me puedan ayudar es que mi problema radica en que cuando a la variable num que es tipo caracter  se le asigna una letra,etc lo que me hace es que le asigna el valor cero y lo que quiero que me muestre "valor no valido",  entonces cuando hace la suma con la letra suma cero y ademas lo suma en numero valores ese es mi problema espero me ayuden el rango en el que deben estar los valores es 0 a 100

  b = (atoi (num));/*para cambiar el caracter a numero*/
             
              if(b>=0&&b<=100)
                 {
                 printf ("t Valor leido a = %d n", b );
                 verdadero = 1;
                 nv=nv+1; /*numero de valores*/
                 suma=suma+b;
                }
              else
                {
                printf ("n t El valor proporcionado no es valido n ");
              }
Título: Re: error con un valor en un caracter en c
Publicado por: m0skit0 en Martes 29 de Julio de 2008, 15:17
Lo que deberías de hacer es comprobar con anterioridad a "atoi(num)" si num es o no un número.
Título: Re: error con un valor en un caracter en c
Publicado por: lostshell en Martes 29 de Julio de 2008, 18:07
Lo que podrias hacer es recorrer el array 'num', y revizar si cada caracter es digito, para esto puedes usar la funcion 'isdigit'
Título: gracias
Publicado por: tazz1987 en Martes 29 de Julio de 2008, 20:39
gracias a los que respondieron ya resolvi el problema