Ayuda con este Programa Help me [Quiero aprender]

Iniciado por vidalpet, 30 Agosto 2015, 22:58 PM

0 Miembros y 1 Visitante están viendo este tema.

vidalpet

El que este abajo es el codigo de mi cajero , necesito validarlo es decir que no me lo exploten , no he podido y llevo 2 horas ,
hice este mini cajero basico soy nuevo en el lenguaje C , necesito saber como valido las entrada es decir que el usuario no marque caracteres donde van numero .

hice este ajercicio con esto pero no funciono
   #include <stdio.h>
   #include <stdlib.h>
   
   int main() {
       
       char sNum[20];
       int num;
       
       printf("Ingrese numero\n");
       scanf("%s",sNum);
       num=atoi(sNum); /* atoi convierte el numero ingresado como cadena en entero
       en caso de ser posible, de lo contrario retorna 0*/
       
       if(num!=0)
           printf("El numero es: %d\n",num);
       else
           printf("No es un numero\n");
       
       return 0;
       
   }


intente utilizar este codigo en mi    CAJERO  pero no funciono porfavor ,

otra pregunta donde puedo   ENCONTRAR EJERCICIO YA HECHOS ASI APRENDO MAS

gracias

#include <stdio.h>
#include <stdlib.h>

int main(){
int  x ;
float saldo =5000, retiro=0 , deposito=0;
int contra=2015;
printf("\t\t\tcajero automatico\n");
printf("\t\t teclee su contraseña señor\n");

do{
scanf("%d",&contra);

if (contra!=2015)

printf("marque su clave correcta\n");

}while (contra!=2015);

printf("1-mostrar\n");
printf("2-retiro\n");
printf("3-deposito\n");
scanf("%d",&x);
switch (x){
case 1:
printf("su saldo es %.1f",saldo);
break;

case 2:
printf("cuanto desea retirar?\n");
scanf("%f",&retiro);
printf("usted acaba de retirar%.1f\n",retiro);
printf("su saldo actual%.2f dolares",saldo-retiro);
break;

case 3 :
printf("cuanto desea depositar\n");
scanf("%f",&deposito);

printf("su deposito  es de %.1f dolares", deposito+saldo);
break;

default :
printf("opcion INVALIDA\n");
break;

}
return 0;
}




disculpen aun no he usado toda las funcionalidades del foro y pense que habia copiado este es el cajero

ivancea96

¿Qué problema te dió ese código? ¿Por qué no funcionó?

snake_linux

El programa que has puesto compila y funciona perfectamente, creo que te refieres a como "forzar" al usuario a tipear un número y no una letra, si es así, siento decirte que no se puede, solo se puede hacer lo que has hecho tu, comprobar si es un número y en caso negativo dar un error.

Saludos.

furciorifa

Revisé tu código y corrio a la perfección, si te refieres a forzar al usuario a que introduzca números solamente puedes usar un puntero y revisar caracter por caracter, y si alguno no es número no hacer nada y pedirle sólo números.