Buenas pues tengo el problema de que quiero copiar los numero de una cadena de caracteres en una array de numero, el problema esque al copiarlos me imprime su codigo ASCII y yo quiero ver los numeros, no su codigo ASCII
aqui os dejo el codigo que tengo hasta ahora.
Código:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#define MAX 100
#define TAM 20
struct PILA{
int cont;
int array[MAX];
};
void iniciar_pila(struct PILA *);
void apilar(struct PILA *,int numero);
int pila_llena(struct PILA *);
int pila_vacia(struct PILA *);
void mostrar(struct PILA *);
void main ()
{
int i,numero[50];
char texto[50];
struct PILA digito;
iniciar_pila(&digito);
printf("Introduce el texto: ");
gets(texto);
for(i=0;i<strlen(texto);i++)
{
numero[i]=texto[i];
if(48<texto[i] && 57>texto[i])
{
apilar(&digito,numero[i]);
}
}
mostrar(&digito);
getch();
system("pause");
}
void iniciar_pila(struct PILA *nuevo)
{
int i;
nuevo->cont=0;
for(i=0;i<MAX;i++)
{
nuevo->array[i]=0;
}
}
void apilar(struct PILA *digito, int numero)
{
if(!pila_llena(digito))
{
digito->array[digito->cont]=numero;
digito->cont++;
}
else
printf("La pila esta llena");
}
int pila_vacia(struct PILA *digito)
{
if(digito->cont==0) //Si la pila esta vacia retorna un 1
return 1;
else
return 0;
}
int pila_llena(struct PILA *digito)
{
if(digito->cont==MAX) //Si la pila esta llena retorna un 1
return 1;
else
return 0;
}
void mostrar(struct PILA *digito)
{
int j=1;
printf("Mostrando numeros insertados en la pila\n");
printf("_________________________________________\n");
for (int i=digito->cont-1; i>=0; i--)
{
printf("digito %d: ",j);
printf("%d\n\n",digito->array[i]);
j++;
}
}