Ver Mensaje Individual
  #4 (permalink)  
Antiguo 22/11/2011, 23:50
Dtc
 
Fecha de Ingreso: marzo-2011
Ubicación: México
Mensajes: 39
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: Comprobar que el usuario ha ingresado un número y no otra cosa

Muchas gracias, lo de usar el scanf en la condición me funcionó, aunque tengo un problema con eso también, ya que si el usuario coloca una letra o algo que no sea número, el flujo del programa lo regresa para volverle a pedir el número, y el problema es que como la variable ya fué valorada, la condición siempre se cumple y se hace un bucle infinito. Aquí el código en cuestión:

Código C:
Ver original
  1. printf("---Bienvenido---\n Teclee la clave del producto o de la acci%cn, para iniciar una nueva transacci%cn\n", 162, 162);
  2. goto comienzo;
  3. inicio2:
  4. printf("Teclee la clave del producto o de la acci%cn para iniciar una nueva transacci%cn", 162, 162);
  5. comienzo:        
  6. if (scanf("%i", &producto_clave) != 1)
  7. {
  8. printf("Clave de producto incorrecta, la clave debe contener solo n%cmeros", 163);
  9. producto_clave = 0;
  10. goto inicio2;
  11. }
¿Algún método para "formatear" la variable y dejarla sin ningún valor para que pueda ser revalorada? ¿O alguna idea?
Gracias
__________________
La Web del Dtc
http://www.dtcsrni.tk
DtcSrni Technologies
http://technologies.dtcsrni.tk