Mọi người giúp em sửa lỗi bài này với ạ. Em compile k được ạ. Em đang học nên còn nhiều cái chưa nắm rõ.
Đề bài:Chuyển các từ khóa trong một File Keyword.txt thành một danh sách liên kết đơn.(các từ cách nhau bởi dấu enter)83 20
#include<iostream>
#include<string.h>
using namespace std;
struct Node{
char Data[30];
struct Node *pNext;
};
typedef struct Node NODE;
struct List{
Node *pHead;
Node *pTail;
};
typedef struct List LIST;
void AddHead(LIST &l, char x[30])
void Init(LIST &l){
l.pHead=l.pTail= NULL;
}
Node *creatNode(char x[30]){
Node *p =new NODE;
if(p==NULL) exit(1);
p->pNext =NULL;
strcpy(p->Data,x);
return p;
}
bool isEmtry(LIST l){
if(l.pHead==NULL) return true;
return false;
}
void addHead(LIST &l, char x[30]){
NODE *p= creatNode(x);
if (isEmtry(l)) l.pHead=l.pTail=p;
else{
p->pNext=l.pHead; //con tro pNext cua p tro toi dia chi cua NODE pHead
l.pHead=p; //Cap nhat cho Node pHead
}
l.pTail->pNext=l.pHead; //khep lai vong
}
void xuat(LIST &l){
if (l.pHead){
cout<<"\nDanh sach cac phan tu cua: \n";
NODE *p=l.pHead;
do{
cout<<" "<<p->Data;
p=p->pNext;
}while(p!=l.pHead);
cout<<"\n\n\n";
}
else cout<<"\nDanh sach rong";
}
int main(){
LIST l;
Init (l);
xuat(l);
int i=0;
char c[30];
FILE *key;
key=fopen("Keyword.txt","a+t");
while(!feof(key)){
i++;
fgets(c,30,key);
printf("\nDong %d: %s",i,c);
char x[30];
strcpy(x,c);
printf("%s",x);
addHead(l,x);
}
printf("\nDanh sach lien ket:\n");
xuat(l);
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?