01/10/2018, 00:23

Chuyển từ khóa trong 1 file keyword.txt thành một danh sách liên kết

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<<"
Danh sach cac phan tu cua: 
";
		NODE *p=l.pHead;
		do{
			cout<<"    "<<p->Data;
			
			p=p->pNext;
		}while(p!=l.pHead);
		cout<<"


";
	}
		else cout<<"
Danh 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("
Dong %d: %s",i,c);
        char x[30];
        strcpy(x,c);
        printf("%s",x);
       addHead(l,x);
    }
    printf("
Danh sach lien ket:
");
  	xuat(l);
}
Quân viết 02:30 ngày 01/10/2018

Một nguyên tắc quan trọng khi nhờ sửa lỗi là up logcat lên.

  • Nếu đang chạy bị lỗi thì up logcat lên
  • Nếu build lỗi thì up build logcat lên
    Chứ bạn up mỗi 1 đống code lên rồi bắt mọi người dò lỗi cho bạn sao. Update thêm đi nhé
Tao Không Ngu. viết 02:37 ngày 01/10/2018

Bạn nên tách thành các thành phần riêng.
VD 1 lớp link-list xây dựng đối tượng link-list chỉ cung cấp các phương thức của link-lít.
1 lớp làm nhiện vụ đọc file và phần giải từ có phương thức check end và get keywork.
2 lớp kiểm thử các lớp trên.
1 lớp chính dể ghép hai lớp con vào thực hiên yêu cầu bài toán.

Bài liên quan
0