Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/05/2010, 13:19
xuxon
 
Fecha de Ingreso: mayo-2010
Mensajes: 3
Antigüedad: 14 años
Puntos: 0
copiar los numero de un string en un array de numeros.

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++;
    }
}