Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Implementacion Cola,duda

Estas en el tema de Implementacion Cola,duda en el foro de C/C++ en Foros del Web. Buenas muchachoss, estoy practicando para un parcial q tengo en unos dias y no puedo encontrar los errores en este ejercicios, y estabas bsucando si ...
  #1 (permalink)  
Antiguo 24/08/2009, 14:58
 
Fecha de Ingreso: mayo-2009
Mensajes: 2
Antigüedad: 15 años
Puntos: 0
Busqueda Implementacion Cola,duda

Buenas muchachoss, estoy practicando para un parcial q tengo en unos dias y no puedo encontrar los errores en este ejercicios, y estabas bsucando si alguien me podia dar alguna mano o tambien si me pueden facilitar algun otro ejemplo de cola y pila q funcionen, desde ya muchas gracias!!

Nahuel





Cita:
#include<stdio.h>
#include<conio.h>
#define TAM 5

typedef struct {char ayn[30];int edad;}tipo_elemento;
typedef struct {tipo_elemento base [TAM];int prim,ult;} cola;

void crear_cola(cola*);
int cola_vacia(cola);
int cola_lenna(cola);
int insertar(cola*,tipo_elemento);
int eliminar(cola*,tipo_elemento*);
int primero(cola,tipo_elemento*);
int listar(cola);

void main()
{
cola C;int opcion;
tipo_elmento d;
crear_cola(&C);
do{
printf(" ***MENU DE OPCIONES **\n\n");
printf("1.-insertar\n");
printf("2.-Eliminar\n");
printf("3.-Ver primero\n");
printf("4.-Ver si esta vacia\n");
printf("5.-Ver si esta llena\n");
printf("6.-Listar contenido de la cola\n");
printf("0.-Fin\n\n");
printf("Ingrese su opcion: ");scanf("%d",&opcion);
switch(opcion)
{case 0:break;
case 1:printf("ingrese el apellido y nombres: ");gets(d.ayn);
printf("ingrese edad: ");scanf("%d",&d.edad);
if(insertar(&C,d)) printf("la cola esta llena\n);
else printf("se cargo el dato\n");
getch();break;
case 2:if(eliminar(%C,&d)) printf("la cola esta vacia\n");
else printf("Se elimino el dato: %-30s%5d\n";d.ayn,d.edad);
getch(); break;
case 3:if(primero(C,&d)) printf("La cola esta vacia\n");
else printf("El primero es: %-30s%5d\n",d.ayn,d.edad);
getch(); break;
case 4:if(cola_vacia(C)) printf("la cola esta vacia\n") ;
else printf("La cola tiene datos\n");
getch(); break;
case 5:if(cola_llena(C)) printf("la cola esta llena\n");
else printf("la cola tiene lugar\n");
getch(); break;
case 6:if(listar(C)) printf("la cola esta vacia\n");
getch(); break;
default:printf("opcion incorrecta\n");
getch();

}

}while(opcion);
}
void crear_cola(cola*C)
{C->prim=0;
C->ult=0;}

int cola_vacia(cola C)
{ int x=0;
if(C.ult==C.prim)x=1;
return x;}

int cola_llena(cola C)
{int x=0;
if(C.ult==TAM) x=1;
return x;}

int insertar(cola *C,tipo_elemento d)
{int x=0;
if(cola_llena(*C))x=1;
else {C->base[C->ult]=d;
c->ult++;}
return x;}

int primero(cola C,tipo_elemento *d)
{int x=0;
if(cola_vacia(C) x=1;
else *d=C.base[C.prim];
return x;}

int listae(cola C)
{int x=0;
if(cola_vacia(C)) x=1;
else {clrscr();
printf(" ****LISTADO****\n\n");
for(;C.prim<C.ult;c.prim++)
printf("%-30s%d\n",C.base[C.prim].ayn,C.base[C.prim].edad; }
return x;}
  #2 (permalink)  
Antiguo 24/08/2009, 16:12
Avatar de Anubis_Slash  
Fecha de Ingreso: mayo-2009
Ubicación: aqui y haya
Mensajes: 173
Antigüedad: 15 años
Puntos: 5
Respuesta: Implementacion Cola,duda

a simple vista veo tres errores, primero estas mandando llamar la funcion eliminar y no existe todavia, o no la has creado:

case 2:if(eliminar(%C,&d)) printf("la cola esta vacia\n");
else printf("Se elimino el dato: %-30s%5d\n";d.ayn,d.edad);
getch(); break;

el siguente error es que a la funcion listar le estas cambiando el nombre:

int listae(cola C)
{int x=0;
if(cola_vacia(C)) x=1;
else {clrscr();
printf(" ****LISTADO****\n\n");
for(;C.prim<C.ult;c.prim++)
printf("%-30s%d\n",C.base[C.prim].ayn,C.base[C.prim].edad; }
return x;}

y el siguiente, bueno no es propiamente un error, pero no es necesario poner el caso 0 porque para eso existe el caso default.

saludos
__________________
Bienvenidos los karmas.
Quejas, sugerencias o dudas, se awantan......
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:42.