30/09/2018, 21:32

[C/C++] Danh Sách Liên Kết

#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 = =
");
		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

Huỳnh Trọng Nghĩa viết 23:39 ngày 30/09/2018

void Output(LIST L)
{
for (NODE p = L.pHead; p != NULL; p = p->pNext)
{
Xuat(p->Data);
}
}
p!=NULL nhé bạn

linh viết 23:34 ngày 30/09/2018

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

Thanh Bình Lê viết 23:44 ngày 30/09/2018

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

Thanh Bình Lê viết 23:32 ngày 30/09/2018

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

linh viết 23:33 ngày 30/09/2018

ok khong co gi nhe –

Bài liên quan
0