GOTOXY en visual C++

RAMON
22 de Julio del 2005
Hola a todos tengo un programa en C++ pero en mi casa que tengo Visual C++ cuando lo compilo me dice que "gotoxy es una variable no identificada. y esta me comunica con la biblioteca llamada listas. Si alguien me podria decir como hago para sustituir el gotoxy ya que el clrscr() ya lo acomode con system("cls"); aqui esta el cpp y la biblioteca
#include <stdio.h>
#include <conio.h>
#include <listas.h>
#include <process.h>

void salir();

void main()

{
int opc,n,a,i,opc2,m,x,opc3,cont=0;
item *q;
do

{
system("cls");

printf("nnttPROGRAMA QUE MANIPULA LISTAS DOBLEMENTE ENLAZADAS");
gotoxy(27,6);
printf(" 1. Crear una lista");
gotoxy(27,8);
printf(" 2. Insertar un elemento en la lista");
gotoxy(27,10);
printf(" 3. Eliminar un elemento de la lista");
gotoxy(27,12);
printf(" 4. Imprimir la lista");
gotoxy(27,14);
printf(" 5. Eliminar la lista ");
gotoxy(27,16);
printf(" 6. Salir");
gotoxy(27,18);
printf(" ESCOJA UNA OPCION: ");
scanf("%d", &opc);

switch (opc)

{

case 1:
system("cls");
printf("nntttt 1. CREAR LISTAnn");
item *h;
h=0;
printf("Cuantos elementos desea ingresar a la listan");
scanf("%d",&n);
printf("Digite el elemento numero 1n");
scanf("%d",&a);
insfirstd(&h,a);
for(i=2;i<=n;i++)

{
printf("Digite el elemento numero %dn",i);
scanf("%d",&a);
inslastd(&h,a);
}

cont=1;
break;

case 2:
do

{

system("cls");
printf("nnttt 2. INSERTAR UN ELEMENTO EN LA LISTA");
gotoxy(19,6);
printf(" 1. Insertar un elemento al principio de la lista");
gotoxy(19,8);
printf(" 2. Insertar un elemento al final de la lista");
gotoxy(19,10);
printf(" 3. Insertar un elemento despues de un dato");
gotoxy(19,12);
printf(" 4. Insertar un elemento antes de un dato");
gotoxy(19,14);
printf(" 5. Regresar al menu principal");
gotoxy(19,16);
printf(" ESCOJA UNA OPCION: ");
scanf("%d", &opc2);

switch (opc2)

{

case 1:
system("cls");
printf("nntt1. INSERTAR UN ELEMENTO AL PRINCIPIO DE LA LISTAnn");
printf("Digite el elemento que desea insertarn");
scanf("%d",&m);
insfirstd(&h,m);
printf("El elemento fue insertado");
getch();
break;

case 2:
system("cls");
printf("nntt2. INSERTAR UN ELEMENTO AL FINAL DE LA LISTAnn");
printf("Digite el elemento que desea insertarn");
scanf("%d",&m);
inslastd(&h,m);
printf("El elemento fue insertado");
getch();
break;

case 3:
system("cls");
printf("nntt3. INSERTAR UN ELEMENTO DESPUES DE UN DATOnn");
printf("Digite el dato donde usted quiere insertar el elementon");
scanf("%d",&x);
q=search(h,x);

if(q==0)
printf("El elemento no fue encontrado y no se puede insertar");
else

{
printf("Digite el elemento a insertarn");
scanf("%d",&m);
insafterd(&h,x,m);
printf("El elemento fue insertado");
}

getch();
break;

case 4:
system("cls");
printf("nntt4. INSERTAR UN ELEMENTO ANTES DE UN DATOnn");
printf("Digite el dato donde usted quiere insertar el elementon");
scanf("%d",&x);
q=search(h,x);

if(q==0)
printf("El elemento no fue encontrado y no se puede insertar");
else

{
printf("Digite el elemento a insertarn");
scanf("%d",&m);
insbefored(&h,x,m);
printf("El elemento fue insertado");
}

getch();
break;

case 5:
break;

default:
system("cls");
gotoxy(31,10);
printf("LA OPCION NO ES VALIDA ");
gotoxy(24,12);
printf("aPRESIONE UNA TECLA PARA VOLVER AL MENU");
getch();
break;

}
}

while(opc2 != 5);
break;

case 3:
do

{
system("cls");
printf("nnttt 3. ELIMINAR UN ELEMENTO DE LA LISTA");
gotoxy(19,6);
printf(" 1. Eliminar un elemento al principio de la lista");
gotoxy(19,8);
printf(" 2. Eliminar un elemento al final de la lista");
gotoxy(19,10);
printf(" 3. Eliminar un elemento despues de un dato");
gotoxy(19,12);
printf(" 4. Eliminar un elemento antes de un dato");
gotoxy(19,14);
printf(" 5. Regresar al menu principal");
gotoxy(19,16);
printf(" ESCOJA UNA OPCION: ");
scanf("%d", &opc3);

switch (opc3)

{
case 1:
system("cls");
printf("nntt1. ELIMINAR UN ELEMENTO AL PRINCIPIO DE LA LISTAnn");
delfirstd(&h);
printf("El elemento fue eliminado");
getch();
break;

case 2:
system("cls");
printf("nntt2. ELIMINAR UN ELEMENTO AL FINAL DE LA LISTAnn");
dellastd(&h);
printf("El elemento fue eliminado");
getch();
break;

case 3:
system("cls");
printf("nntt3. ELIMINAR UN ELEMENTO DESPUES DE UN DATOnn");
printf("Digite el dato donde usted quiere eliminarn");
scanf("%d",&x);
q=search(h,x);

if(q==0)
printf("El elemento no fue encontrado y no se puede eliminar");

else

{
delafterd(&h,x);
printf("El elemento fue eliminado");
}

getch();
break;

case 4:
system("cls");
printf("nntt4. ELIMINAR UN ELEMENTO ANTES DE UN DATOnn");
printf("Digite el dato donde usted quiere eliminarn");
scanf("%d",&x);
q=search(h,x);

if(q==0)
printf("El elemento no fue encontrado y no se puede elimimar");

else

{
delbefored(&h,x);
printf("El elemento fue eliminado");
}

getch();
break;

case 5:
break;

default:
system("cls");
gotoxy(31,10);
printf("LA OPCION NO ES VALIDA ");
gotoxy(24,12);
printf("aPRESIONE UNA TECLA PARA VOLVER AL MENU");
getch();
break;

}
}
while(opc3 != 5);
break;

case 4:
system("cls");
printf("nnttt4. IMPRIMIR LA LISTAnn");
if(cont==0)
printf("La lista no se puede imprimir porque ha sido borradan");

else

imprilistd(h);
getch();
break;

case 5:
system("cls");
dellistd(&h);
printf("nnttt5. ELIMINAR LA LISTAnn");
printf("Lista borrada");
cont=0;
getch();
break;

case 6:
system("cls");
dellistd(&h);
salir();
getch();
break;

default:
system("cls");
gotoxy(31,10);
printf("LA OPCION NO ES VALIDA ");
gotoxy(24,12);
printf("aPRESIONE UNA TECLA PARA VOLVER AL MENU");
getch();
break;

}
}

while(opc != 6);
}

struct item
{ item *prev;
int key;
item *next;
};

void insfirstd(item **,int);
void inslastd(item **,int);
void insafterd(item **,int,int);
void insbefored(item **,int,int);
item *search(item *,int);
void delfirstd(item **);
void dellastd(item **);
void delafterd(item **,int);
void delbefored(item **,int);
void imprilistd(item *);
void dellistd(item **);

void insfirstd(item **p,int k)

{
item *n;
n=new item;
n->prev=0;
n->key=k;
n->next=*p;
(*p)->prev=n;
*p=n;
}


void inslastd(item **p,int k)

{
item *n,*m;
m=*p;
while(m->next!=0)
{
m=m->next;
}
n=new item;
n->key=k;
n->next=0;
m->next=n;
n->prev=m;
}


void insafterd (item **p,int k,int j)

{
item *q,*n,*r;
q=search(*p,k);
n=new item;
n->key=j;
n->prev=q;
n->next=q->next;
r=n->next;
q->next=n;
r->prev=n;
}


void insbefored(item **p,int k,int j)

{
item *q,*n,*m;
q=search(*p,k);
n=new item;
n->key=j;
n->next=q;
n->prev=q->prev;
q->prev=n;
m=n->prev;
m->next=n;
}


item *search(item *h,int k)

{
item *p;
p=h;
while(p->key!=k && p!=0)
{
p=p->next;
}
return p;
}


void delfirstd(item **p)

{
item *n;
n=*p;
*p=(*p)->next;
(*p)->prev=0;
delete n;
}


void dellastd(item **p)
{
item *n,*m;
n=*p;
while(n->next!=0)
{
n=n->next;
}
m=n->prev;
m->next=0;
delete n;
}

void delafterd(item **p,int k)

{
item *q,*n,*m;
q=search(*p,k);
n=q->next;
q->next=n->next;
m=q->next;
m->prev=q;
delete n;
}

void delbefored(item **p,int k)

{
item *q,*n,*m;
q=search(*p,k);
n=q->prev;
q->prev=n->prev;
m=q->prev;
m->next=q;
delete n;
}


void imprilistd(item *h)

{
item *p;
p=h;
while(p->next!=0)
{
printf(" %d ",p->key);
p=p->next;
}
printf(" %d ",p->key);
}

void dellistd(item **p)

{
item *n;
while((*p)->next!=0)
{
*p=(*p)->next;
n=(*p)->prev;
delete n;
}
delete *p;
}