Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: Shannon en 27 Septiembre 2018, 23:30 PM

Título: Alguien que sepa cual es el error en este programa en DEV-C++
Publicado por: Shannon en 27 Septiembre 2018, 23:30 PM
Código (cpp) [Seleccionar]
#include <stdio.h>
#include<stdlib.h>


typedef struct nodo_s
{
char dato;
struct nodo_s *siguiente;
} nodo_t;

typedef nodo_t *ptrNodo;
typedef nodo_t *ptrPila;

void push (ptrPila *pila, char x)
{
ptrNodo nodo;
nodo = (ptrNodo)malloc(sizeof(nodo_t));
if (nodo !=NULL)
{
nodo->dato = x;
nodo->siguiente =*pila;
*pila=nodo;

}
}

char pop(ptrPila *pila)
{
ptrNodo nodo;
char x;

nodo =*pila;
x = (*pila)->dato;
*pila = (*pila)->siguiente;
free(nodo);
return x;
}
int pila_vacia(ptrPila *pila)
{
return(*pila == NULL ? 1:0);

}
void nodos_pila(ptrNodo nodo)
{
if(nodo==NULL)
printf("la pila está vacia\n");
else
{
while (nodo !=NULL)
             {
printf("%c\n",nodo->dato);    
nodo = nodo->siguiente;
}
printf("\n");
}
}


Título: Re: Alguien que sepa cual es el error en este programa en DEV-C++
Publicado por: OmarHack en 28 Septiembre 2018, 00:27 AM
Qué error te da? El código no tiene nada raro.
Título: Re: Alguien que sepa cual es el error en este programa en DEV-C++
Publicado por: Shannon en 28 Septiembre 2018, 00:59 AM
me da este error que no se porque
18  undefined reference to `WinMain'
      [Error] ld returned 1 exit status
Título: Re: Alguien que sepa cual es el error en este programa en DEV-C++
Publicado por: OmarHack en 28 Septiembre 2018, 01:31 AM
Claro que te da ese error. No hay función main en el programa.
Qué es exactamente lo que quieres hacer? xD
Título: Re: Alguien que sepa cual es el error en este programa en DEV-C++
Publicado por: Shannon en 28 Septiembre 2018, 01:37 AM
en donde pongo el main
Título: Re: Alguien que sepa cual es el error en este programa en DEV-C++
Publicado por: OmarHack en 28 Septiembre 2018, 01:41 AM
Puedes explicar que programa quieres y para qué?
Título: Re: Alguien que sepa cual es el error en este programa en DEV-C++
Publicado por: Shannon en 28 Septiembre 2018, 01:43 AM
implementar  las funciones push y pop para ser utilizadas con caracteres

Título: Re: Alguien que sepa cual es el error en este programa en DEV-C++
Publicado por: OmarHack en 28 Septiembre 2018, 01:49 AM
Lo estás mirando en clase, o aprendiendo por tu cuenta?
Título: Re: Alguien que sepa cual es el error en este programa en DEV-C++
Publicado por: Shannon en 28 Septiembre 2018, 01:54 AM
en clase


como pongo un main y un constructor aqui?


//INTENTE HACERLO ASI PERO ME MARCA 0. ALGUIEN QUE SEPA COMO HACERLO?
Código (cpp) [Seleccionar]
#include<stdio.h>
#include<stdlib.h>

typedef struct nodo_s
{
char dato;
struct nodo_s *siguiente;
} nodo_t;

typedef nodo_t * ptrNodo;
typedef nodo_t * ptrPila;

void push (ptrPila *pila, char x)
{
ptrNodo nodo;
nodo = (ptrNodo)malloc(sizeof(nodo_t));
if (nodo!= NULL)

{
nodo->dato = x;
nodo->siguiente = *pila;
*pila=nodo;

}
}

char pop (ptrPila *pila)
{
ptrNodo nodo;
char x;

nodo = *pila;
x = (*pila)->dato;
(*pila)->siguiente;

free(nodo);
return x;
}
int pila_vacia(ptrPila *pila)
{
return (*pila == NULL ? 1:0);
}

void nodos_pila(ptrNodo nodo)
{
if(nodo == NULL)
printf("La pila esta vacia \n");
else
{
while (nodo!= NULL)
{
printf("%c\n");

nodo = nodo->siguiente;
}
printf("\n");
}
}
main()
{
ptrPila pila = NULL;
push(&pila,43);
push(&pila,95);
push(&pila,20);
if ( !pila_vacia(&pila)){

printf("\n ESTOS SON LOS NUMEROS DE LA PILA: \n");
nodos_pila(pila);
}

}



ALGUIEN!!! :-( :-( :-(

MOD: No hacer múltiples posts. Usa el botón modificar. . Usa etiquetas GeShi.
Título: Re: Alguien que sepa cual es el error en este programa en DEV-C++
Publicado por: CalgaryCorpus en 29 Septiembre 2018, 17:48 PM
El printf no imprime nada ahora, pues no recibe argumentos.
Sugiero poner un valor o variable para que se imprima algo.
Título: Re: Alguien que sepa cual es el error en este programa en DEV-C++
Publicado por: donYoyo en 6 Octubre 2018, 06:21 AM
cuando programas una pila, habitualmente se deja un nodo que apunte al comienzo de la pila, y otro al último, asi la puedes recorrer