Foros del Web » Programación para mayores de 30 ;) » C/C++ »

De entero positivo a binario no aceptar letras ni negativos

Estas en el tema de De entero positivo a binario no aceptar letras ni negativos en el foro de C/C++ en Foros del Web. Buenas tengo varias dudas hize un programa que convierte de entero positivo a binario me corre perfectamente pero quiero implementar que no acepte letras que ...
  #1 (permalink)  
Antiguo 26/04/2009, 14:52
 
Fecha de Ingreso: mayo-2008
Mensajes: 20
Antigüedad: 16 años
Puntos: 0
Pregunta De entero positivo a binario no aceptar letras ni negativos

Buenas tengo varias dudas hize un programa que convierte de entero positivo a binario me corre perfectamente pero quiero implementar que no acepte letras que tire un error al ingresar letras, ya hize que no acepte numeros negativos aqui esta el codigo hasta ahora necesito implementar que tire un mensaje de error cuando ingrese una letra cualquiera:

Código:
#include <stdio.h>
#include <conio.h>
main()
{
float a[16];
int ne,x,swi;
clrscr();textcolor(9);textbackground(12);clrscr();
printf("Este progrograma esta diseñado para convertir un numero entero positivo decimal a binario.");
printf("\n\nPara continuar con el programa presione ENTER");
getch();
clrscr();textcolor(9);textbackground(12);clrscr();
intonum:
printf("Introduzca el numero entero positivo que desea convertir a binario:");
scanf("%i",&ne);
if(ne<0)
{
err:
printf("Ha introducido un numero negativo, si desea intentar nuevamente presione 1 o si desea salir del programa presione 2\n");
scanf("%i",&swi);
if(swi==1)
{
printf("\n");
goto intonum;
}
else
if(swi==2)
{
goto fin;
}
else
{
printf("Error de entrada");
goto err;
}
}
else
{
for(x=15;x>=0;x=x-1)
{
if(ne>0)
{
a[x]=ne%2;
}
else
{
a[x]=0;
}
ne=ne/2;
}
for(x=0;x<=15;x++)
{
printf("%.0f",a[x]);
}
}
fin:
getch();
}
Gracias de antemano.
  #2 (permalink)  
Antiguo 28/04/2009, 19:37
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: De entero positivo a binario no aceptar letras ni negativos

Intenta lo siguiente:
Código C:
Ver original
  1. int i = 0;
  2.   printf("Dame un numero:\n");
  3.   scanf("%d", &i);  
  4.   printf("El numero es: %d\n", i);

Y por eso es tan importante inicializar tus variables ;D
Asi si te ponen un, carácter agarra el 0 por defecto.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:58.