elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda con colas en c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con colas en c++  (Leído 1,670 veces)
oscar.trevino

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Ayuda con colas en c++
« en: 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?


En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Ayuda con colas en c++
« Respuesta #1 en: 5 Marzo 2017, 12:58 pm »

Esos errores te que indica el compilador precisamente te marcan el fallo.

Usas variables globales que son enteros p y q como punteros a la estructura. Esto es un problema de tipos que deberías solucionar.

Por otra parte usas los miembros de la estructura info y liga cuando estos no existen en ella. En tu estructura tienes definidos los miembros int dato, *p, *q y *t. Por cierto *p, *q y *t son punteros a entero, no deberían ser usados para guardar la dirección de la estructura dato, como intuyo pretendes hacer.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con Pilas y Colas
Programación Visual Basic
[Decoded] 5 8,641 Último mensaje 30 Agosto 2010, 15:06 pm
por goldarg
Ayuda con colas en C++
Programación C/C++
edgar_areyes 0 5,319 Último mensaje 28 Noviembre 2010, 05:42 am
por edgar_areyes
ayuda en colas
Programación C/C++
josue_tux 0 2,191 Último mensaje 25 Mayo 2011, 00:08 am
por josue_tux
ayuda con colas en c/c++
Programación C/C++
alci06 4 3,720 Último mensaje 29 Mayo 2011, 23:55 pm
por alci06
Ayuda Colas en C
Programación C/C++
LordWasowski 3 2,413 Último mensaje 20 Junio 2016, 06:27 am
por AlbertoBSD
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines