El enunciado es este: Escribe un programa que lea de la entrada estándar y convierta a decimal todos los números que encuentra, extrayéndolos en la salida estándar. Si encuentra un número en octal o en hexadecimal, debe ser convertido. Del mismo modo, detectará que los números contienen decimales y los mostrará de forma correcta
Y este es el codigo que tengo hasta ahora:
El problema es que en este código solo me lee desde la primera posición y necesito que si por ejemplo tengo "Hola mundo A2", me tiene que leer el A2 y pasarmelo a decimal, pero con mi codigo me leeria la H y no funcionaria, una ayudita!!!
Y este es el codigo que tengo hasta ahora:
Código (c) [Seleccionar]
#include <stdio.h>
#include <ctype.h>
main ()
{
int c,i;
int hexa_n, octal_n;
char str[100];
printf ("Escribe un texto incluyendo numeros en hexadecimal y octal: \n");
scanf ("%s",&str);
for (i = 0; i <= strlen(str); i++)
if (isxdigit(str[i]) != 0);
{
hexa_n = strtol(str,NULL,16);
printf ("El numero hexadecimal %X es %d\n",hexa_n,hexa_n);
}
}
El problema es que en este código solo me lee desde la primera posición y necesito que si por ejemplo tengo "Hola mundo A2", me tiene que leer el A2 y pasarmelo a decimal, pero con mi codigo me leeria la H y no funcionaria, una ayudita!!!