- Tema Autor
- #1
Hola amigos, tengo un programa que me deve indentificar si lo que se ingresa es un numero o no, bueno segun yo ya esta, el problema que tengo es que en una de mis funciones es la que se llama numero, no me entra en el ciclo for, ya le cale con un while y con un do while y tampoco me da, me `pudieran ayudar a corregir el error?, aqui mi programa
#include <cstdlib>
#include <iostream>
#include <string.h>
int digito(char c)
{ int r=0;
if(r==0)
if(c>47 && c<58)
r=1;
else
r=-1;
return r;
}
int letra(char c)
{
int r=0;
if(r==0)
if(c>96 && c<123)
r=1;
else
r=-1;
return r;
}
int numero(char c[])
{ int numcadena,i=0,e=0;
numcadena=strlen(c);
for(i=0; i>=numcadena; i++){
if(digito(c)==1)
e=1;
else{
e=-1;
break;
}
}
return e;
}
int main(int argc, char *argv[])
{
char c,ca[12];
printf("\ncaracter: ");
scanf("%c",&c);
printf("\nnumero: ");
fflush(stdin);
gets(ca);
printf("\ndigito %d\n",digito(c));
printf("letrA %d\n",letra(c));
printf("numero %d\n",numero(ca));
system("PAUSE");
return EXIT_SUCCESS;
}
#include <cstdlib>
#include <iostream>
#include <string.h>
int digito(char c)
{ int r=0;
if(r==0)
if(c>47 && c<58)
r=1;
else
r=-1;
return r;
}
int letra(char c)
{
int r=0;
if(r==0)
if(c>96 && c<123)
r=1;
else
r=-1;
return r;
}
int numero(char c[])
{ int numcadena,i=0,e=0;
numcadena=strlen(c);
for(i=0; i>=numcadena; i++){
if(digito(c)==1)
e=1;
else{
e=-1;
break;
}
}
return e;
}
int main(int argc, char *argv[])
{
char c,ca[12];
printf("\ncaracter: ");
scanf("%c",&c);
printf("\nnumero: ");
fflush(stdin);
gets(ca);
printf("\ndigito %d\n",digito(c));
printf("letrA %d\n",letra(c));
printf("numero %d\n",numero(ca));
system("PAUSE");
return EXIT_SUCCESS;
}