#include <iostream.h>
#include <stdlib.h>
#include <cstdlib>
int x=0,val=0,num=0,base=0;
typedef struct datos{
int dato;
struct datos *siguiente;
}tipoNodo;
typedef tipoNodo *pNodo;
typedef tipoNodo *Pila;
Pila *pila;
void push (Pila *l,int val);
int pop (Pila *l);
void convertir (int num,int base);
main (){
Pila pila = NULL;
cout << "Codigo binario de un numeronDigita el numeron";
cin>>num;
cout << "Digita la base que deseas(2-5)n";
cin >>base;
convertir (num,base);}
void push(Pila *pila,int val){
pNodo nuevo;
nuevo
= (pNodo
) malloc (sizeof(tipoNodo
)); nuevo->dato = val;
nuevo->siguiente =*pila;
*pila = nuevo;
}
int pop(Pila *pila){
pNodo aux;
int v;
aux = *pila;
if (!aux) cout<<"npila vacian";
*pila = aux->siguiente;
v = aux->dato;
return v;
}
void convertir(int num,int base){
int aux=0;
aux=num;
do{
val=num%base;
num=num/base;
push(&pila,val);
}while (num>base);
cout<<"el numero es:" <<num;
do{
x=pop(&pila);
cout<<x;
}while (*pila!=NULL);
}