Code danh sách liên kết bị lỗi

#include "stdio.h"

//1. Khai Bao Cau Truc Du Lieu
struct Hocsinh
{
	int Ma;
	char ten[30];
	char diachi[50];
	float DTB;
};
typedef struct Hocsinh HOCSINH;

struct Node
{
	HOCSINH Data;
	Node *pNext;
};
typedef struct Node NODE;

struct List
{
	NODE *pHead;
	NODE *pTail;
};
typedef struct List LIST;

//2. Khoi Tao Danh Sach Lien Ket
void Init(LIST &L)
{
	L.pHead = L.pTail = NULL;
}

//3. Tao Node
NODE *GetNode(HOCSINH hs)
{
	NODE *p;
	p = new NODE;
	if (p == NULL)
		return NULL;

	p->Data = hs;
	p->pNext = NULL;

	return p;
}

//4. Them 1 Node Vao Dau Danh Sach
void AddHead(LIST &L, NODE *p)
{
	if (L.pHead == NULL)
	{
		L.pHead = p;
		L.pHead = L.pTail;
	}
	else
	{
		p->pNext = L.pHead;
		L.pHead = p;
	}
}

void Nhap(HOCSINH hs)
{
	printf("Ma So HS: ");
	scanf("%d", &hs.Ma);
	printf("Nhap Ten HS: ");
	fflush(stdin);
	gets(hs.ten);
	printf("Nhap Dia Chi HS: ");
	gets(hs.diachi);
	printf("Nhap DTB HS: ");
	scanf("%f", &hs.DTB);
}

void Input(LIST &L, int &n)
{
	Init(L);
	HOCSINH hs[10];
	printf("Nhap So Hoc Sinh Muon Nhap: ");
	scanf("%d", &n);
	for (int i = 0; i < n; i++)
	{
		printf(" = = Hoc Sinh 1 = =\n");
		Nhap(hs[i]);
		NODE *p = GetNode(hs[i]);
		AddHead(L, p);
	}
}

void Xuat(HOCSINH hs)
{
	printf("Ma So HS: %d", hs.Ma);
	fflush(stdin);
	printf("Ho Ten HS: ");
	puts(hs.ten);
	printf("Dia Chi HS: ");
	puts(hs.diachi);
	printf("Diem Trung Binh HS: %f", hs.DTB);
}

void Output(LIST L)
{
	for (NODE *p = L.pHead; L.pHead != NULL; p = p->pNext)
	{
		Xuat(p->Data);
	}
}

void main()
{
	int n;
	LIST L;
	Input(L, n);
	Output(L);
}

Mọi người xem dùm em với em còn lỗi nào vậy ạ, em đang làm là nhập mảng struct các học sinh vào danh sách liên kết

2 Likes
void Output(LIST L)
{
	for (NODE *p = L.pHead; p* != NULL; p = p->pNext)
	{
		Xuat(p->Data);
	}
}

p!=NULL nhé bạn

void AddHead(LIST &L, NODE *p)
{
	if (L.pHead == NULL)
	{
		L.pHead = p;
		L.pTail=p;
	}
	else
	{
		p->pNext = L.pHead;
		L.pHead = p;
	}
}
1 Like

Cảm ơn bạn nhiều lắm nha :smiley:

1 Like

Mình đã tìm thầy lỗi sai, cảm ơn bạn đã tìm giúp mình nha

1 Like

ok khong co gi nhe –

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?