Utilice la pila de cadenas para convertir números decimales en números octales.
(Si quieres un programa completo en C o en lenguaje C, le daré todos los puntos a quien pueda resolverlo, ¡por favor!
/* **************************************** p>
* Nombre de archivo: changeate2.c
* Autor: hufeng Fecha: 12/11/2007
* Versión: v1.0
* *****************************************/
/* archivo de encabezado */
#include lt; stdio.hgt;
#include lt; p>
typedef struct linkstack
{
int fecha;
struct linkstack *next;
}ls;
}ls;
p>
/* cambio de fecha */
void change_date(ls *top, int num)
{
ls *p = NULL;
while (num != 0)
{
p = (ls* )malloc(sizeof(ls)); /* crear un nodo */
p-gt; fecha = num
p-gt; ; /* crear una pila */
top- gt; next = p;
num = num /8
}
}
/* pop_stack */
void pop_stack(ls *top)
{
ls *p = NULL;
mientras (top-gt; siguiente != NULL)
{
p = top-gt;
printf(" d", p-gt; fecha);
top-gt; siguiente = p-gt; siguiente;
libre(p);
}
}
/* programa principal */
int main()
{
int num;
ls *top;
clave de carácter;
int flag = 1;
top = (ls*)malloc(sizeof(ls) ));
top-gt; siguiente = NULL ;
mientras (bandera == 1)
{
>
printf("ingrese un número que será cambiado:\n");
scanf("d", amp; num
change_date(top, num);
pop_stack(top);
printf("\n¡Presione 'Q' o 'q' para salir!\n");
tecla = getch();
if (clave == 'q' || clave == 'Q')
{
bandera = 0; p> p>
}
}
getch();
devuelve 0; p> Este programa es compilado y pasado por win-tc. Si se trata de otros compiladores (serie turbo), elimine getch() en la antepenúltima línea.
¡Feliz programación!