Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - oscar.trevino

#1
Programación C/C++ / Ayuda con colas en c++
5 Marzo 2017, 04:22 AM
Hola, tengo una duda en un programa que ingrese datos al inicio de la cola y elimine al final. Éste es mi código:

#include<stdio.h>
#include<cstdlib>
#include<conio2.h>

struct nodo{
   int dato;
   int *p,*q,*t;
};

int op,num,p,s,q,n,t;
void insertar();
void eliminar();
void finalizar();

main()
{
   do
   {
      printf("1.- Insertar datos\n");
      printf("2.- Borrar datos\n\n");
      printf("Que opcion desea?");
      scanf("%d",&op);
   
      switch(op)
      {
         case 1: insertar(); break;
         case 2: eliminar(); break;
         case 3: finalizar(); break;
      }
   }
   while(op!=4);
   finalizar();
}

void insertar()
{
   p=malloc(sizeof(struct nodo));
   printf("Captura dato...");
   scanf("%d",&num);
   p->info=num;
   p->liga=NULL;
   printf("Mas nodos? [s/n]");
   while(getche()==s){
      printf("Captura dato...");
      scanf("%d",&num);
      q->info=num;
      q->liga=p;
      p=q;
      printf("Mas nodos?" [s/n]?);
   }
}

void eliminar()
{
   if(p==NULL)
   {
      printf("Vacío");
   }
   else
   {
      q=p;
      if(p->liga==NULL)
      {
         p=NULL;
      }
      else
      {
         while(q->liga!=NULL)
         {
            t=q;
            q=q->liga;
         }
         t->liga=NULL;
         free(q);
      }
   }
}



Y los errores que me marca son los siguientes:
46 4 C:\Users\Oscar Treviño\Desktop\Colass.cpp [Error] base operand of '->' is not a pointer
55 8 C:\Users\Oscar Treviño\Desktop\Colass.cpp [Warning] NULL used in arithmetic [-Wpointer-arith]
74 10 C:\Users\Oscar Treviño\Desktop\Colass.cpp [Error] invalid conversion from 'int' to 'void*' [-fpermissive]

Literal, tengo todo el día con este programa, me podrían ayudar?