• Viernes 8 de Noviembre de 2024, 14:47

Autor Tema:  error con un valor en un caracter en c  (Leído 1208 veces)

tazz1987

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
error con un valor en un caracter en c
« en: Martes 29 de Julio de 2008, 02:32 »
0
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 ");
              }

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: error con un valor en un caracter en c
« Respuesta #1 en: Martes 29 de Julio de 2008, 15:17 »
0
Lo que deberías de hacer es comprobar con anterioridad a "atoi(num)" si num es o no un número.

lostshell

  • Miembro activo
  • **
  • Mensajes: 35
    • Ver Perfil
Re: error con un valor en un caracter en c
« Respuesta #2 en: Martes 29 de Julio de 2008, 18:07 »
0
Lo que podrias hacer es recorrer el array 'num', y revizar si cada caracter es digito, para esto puedes usar la funcion 'isdigit'

tazz1987

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
gracias
« Respuesta #3 en: Martes 29 de Julio de 2008, 20:39 »
0
gracias a los que respondieron ya resolvi el problema