undefined reference to gotoxy en C
Je suis en train d'écrire un programme en langage C(code::blocks sous windows).
J'ai ajouté ci-dessous fichiers d'en-tête, il se compile sans erreur, mais quand il s'agit d'exécuter le code qu'il génère une erreur undefined reference to gotoxy.
Trouver le code complet.
Erreur vient où j'ai gotoxy consolidés.
# include<stdio.h>
# include<conio.h>
# include<malloc.h>
# include<stdlib.h>
# include<windows.h>
#include<dos.h>
struct node
{ int data;
struct node *link;
};
void append(struct node **,int);
void in_begin(struct node **,int);
void del(struct node **,int);
void in_middle(struct node **,int,int);
int count(struct node *);
void display(struct node *);
char ans;
int main()
{ struct node *p; /* p can be said as the head or a start ptr */
p=NULL;
/* Printing the menu */
int num,loc;
char choice;
do
{ //clrscr();
printf("PROGRAM TO IMPLEMENT SINGLY LINKED LIST ");
printf("\n=====================================");
printf("\n\n1.Create \\ Appending The List");
printf("\n2.Insert Node At Begining");
printf("\n3.Insert Node In Middle");
printf("\n4.Deleting a Node");
printf("\n5.Counting The No Of Nodes");
printf("\n6.Displaying the list");
printf("\n7.Exit");
oper:
gotoxy(1,15);printf(" ");
gotoxy(1,11);printf("\n\nEnter ur Choice : ");
choice=getch();
switch(choice)
{
case '1':
// char ans;
do
{ printf("Enter any number : ");
scanf("%d",&num);
append(&p,num);
printf("Enter more (y/n) :");
fflush(stdin);
ans=getchar();
}while(ans !='n');
break;
case '2':
printf("Enter The Data : ");
scanf("%d",&num);
in_begin(&p,num);
break;
case '3':
printf("\nEnter The Position :");
scanf("%d",&loc);
printf("\nEnter The Data : ");
scanf("%d",&num);
in_middle(&p,loc,num);
break;
case '4':
printf("\nEnter The Data u Want To Delete : ");
scanf("%d",&num);
del(&p,num);
break;
case '5':
printf("\nThe No Of Nodes Are %d",count(p));
getch();
break;
case '6':
display(p);
getch();
break;
case '7':
printf("\n\nQuiting.......");
getch();
exit(0);
break;
default:
gotoxy(1,15);printf("Invalid choice.Please Enter Correct Choice");
getch();
goto oper;
}
}while(choice !=7);
return 0;
}
void append(struct node **q,int num)
{ struct node *temp,*r;
temp = *q;
if(*q==NULL)
{ temp = (struct node *)malloc(sizeof(struct node));
temp->data=num;
temp->link=NULL;
*q=temp;
}
else
{ temp = *q;
while(temp->link !=NULL)
{ temp=temp->link;
}
r = (struct node *)malloc(sizeof(struct node));
r->data=num;
r->link=NULL;
temp->link=r;
}
}
void display(struct node *q)
{ if(q==NULL)
{ printf("\n\nEmpty Link List.Can't Display The Data");
getch();
goto last;
}
while(q!=NULL)
{ printf("\n%d",q->data);
q=q->link;
}
last:
;
}
int count(struct node *q)
{ int c=0;
if(q==NULL)
{ printf("Empty Link List.\n");
getch();
goto last;
}
while(q!=NULL)
{ c++;
q=q->link;
}
last:
return c;
}
void in_begin(struct node **q,int num)
{ struct node *temp;
if(*q==NULL)
{ printf("Link List Is Empty.Can't Insert.");
getch();
goto last;
}
else
{ temp=(struct node *)malloc(sizeof(struct node));
temp->data=num;
temp->link=*q;
*q=temp; /* pointing to the first node */
}
last:
getch();
}
void in_middle(struct node **q,int loc,int num)
{ struct node *temp,*n;
int c=1,flag=0;
temp=*q;
if(*q==NULL)
{ printf("\n\nLink List Is Empty.Can't Insert.");
getch();
goto last;
}
else
while(temp!=NULL)
{ if(c==loc)
{ n = (struct node *)malloc(sizeof(struct node));
n->data=num;
n->link=temp->link;
temp->link=n;
flag=1;
}
c++;
temp=temp->link;
}
if(flag==0)
{ printf("\n\nNode Specified Doesn't Exist.Cant Enter The Data");
getch();
}
else
{ printf("Data Inserted");
getch();
}
last:
getch();
}
void del(struct node**q,int num)
{ if(*q==NULL)
{ printf("\n\nEmpty Linked List.Cant Delete The Data.");
getch();
goto last;
}
else
{
struct node *old,*temp;
int flag=0;
temp=*q;
while(temp!=NULL)
{ if(temp->data==num)
{ if(temp==*q) /* First Node case */
*q=temp->link; /* shifted the header node */
else
old->link=temp->link;
free(temp);
flag=1;
}
else
{ old=temp;
temp=temp->link;
}
}
if(flag==0)
printf("\nData Not Found...");
else
printf("\nData Deleted...Tap a key to continue");
getch();
}
last:
getch();
}
S'il vous plaît aider moi.
Vous avez probablement besoin de lier la bibliothèque fournissant cette fonction. Sur Linux qui serait
Ce que la bibliothèque est-il mis en œuvre? Êtes-vous de le lier? L'ajout de fichier d'en-tête
Postez votre erreur exact
codeblock ne conio-tête
Veuillez trouver les mises à jour question
libncurses
mais je n'ai aucune idée pour Windows.Ce que la bibliothèque est-il mis en œuvre? Êtes-vous de le lier? L'ajout de fichier d'en-tête
#include
déclarations ne va pas résoudre une erreur de lien.Postez votre erreur exact
codeblock ne conio-tête
Veuillez trouver les mises à jour question
OriginalL'auteur Rasmi Ranjan Nayak | 2012-03-20
Vous devez vous connecter pour publier un commentaire.
Le problème auquel vous faites face à n'est pas lié à
Code::Blocks
, c'est lié au compilateur que c'est en utilisant (MinGW par défaut), et c'est parce que la fonction n'est pas standard et n'a pas été mis en œuvre dans le compilateur. Je ne suis pas sûr si Borland fournit toujoursconio.h
, mais vous pouvez essayer de cette une pourMinGW
.Jetez un oeil à cette http://projectsofashok.blogspot.in/2010/05/gotoxy-in-codeblocks.html
Vous pouvez également essayer l'extrait de code ci-dessous, cela fonctionne dans GCC
Vous pouvez également jeter un oeil à NCURSES.
OriginalL'auteur Anantha Krishnan
Code::Blocks(MinGW) n'ont pas conio.h fichier d'en-tête. Si vous ne pouvez pas utiliser
gotoxy()
cela fonctionne bien en C. mais pas dans les blocs de code.
Le problème auquel vous faites face à n'est pas lié à Code::Blocks, c'est lié au compilateur que c'est en utilisant (MinGW par défaut), et c'est parce que la fonction n'est pas standard et n'a pas été mis en œuvre dans le compilateur.
essayez d'utiliser ces:
ou utiliser Borland C qui prend en charge conio.h. Pour arriver Visiter le LIEN
je ne peux pas le trouver n'importe
gotoxy()
maintenantOriginalL'auteur Rohit Vipin Mathews
Pour ce que ça vaut la peine, voici quelques versions de Windows de l'ancien Borland fonctions que j'ai écrit peut-être il y a dix ans.
getch
d'interrogation à l'aide dePeekConsoleInput
au lieu de l'appeler ReadConsoleInput (qui bloque lors de l'entrée n'est pas disponible)? Le code de retour d'un personnage à chaque fois qu'une touche est publié.OriginalL'auteur Lundin
Il y a deux choses pour ces types de questions en C
1) vous devez avoir le bon en-tête avec le bon prototp (ce que je conio.h)
2) vous devez avoir la bonne bibliothèque de lien contre dans ce cas probablement quelque chose le long de libconio.lib
Ensuite, vous devez inclure le bon en-tête et de vous informer de l'éditeur de liens à l'encontre des bibliothèques que vous aimez lien.
Le lien commandes gcc e.g -L et-L et les deux sont nécessaires pour utiliser conio.
Voir aussi: g++ conio.h: aucun fichier ou répertoire
Ce qui concerne
OriginalL'auteur Friedrich
est une erreur, car il y a quelque chose qui manque peut gérer l'gotoxy essayer ce code
OriginalL'auteur MarPin