C語言巢狀鍊錶實現學生成績管理系統

2021-10-19 08:46:08 字數 2058 閱讀 8806

鍊錶a,每個節點存放乙個新的鍊錶b1,b2,b3,b4,b5的頭結點。 場景: 乙個年級,相當鍊錶a 該年級5個班,每個班5個人,相當於鍊錶b1--b5 做乙個學生成績管理系統 學生成績有語文 數學 英語 功能: 錄入成績 找三科總分的最高分 最低分 算出平均分

鍊錶是一種常見的基礎資料結構,結構體指標在這裡得到了充分的利用。

鍊錶可以動態的進行儲存分配,也就是說,鍊錶是乙個功能極為強大的陣列,他可以在節點中定義多種資料型別,還可以根據需要隨意增添,刪除,插入節點。

鍊錶都有乙個頭指標,一般以head來表示,存放的是乙個位址。鍊錶中的節點分為兩類,頭結點和一般節點,頭結點是沒有資料域的。鍊錶中每個節點都分為兩部分,乙個資料域,乙個是指標域。

說到這裡你應該就明白了,鍊錶就如同車鏈子一樣,head指向第乙個元素:第乙個元素又指向第二個元素;……,直到最後乙個元素,該元素不再指向其它元素,它稱為「表尾」,它的位址部分放乙個「null」(表示「空位址」),鍊錶到此結束。

作為有強大功能的鍊錶,對他的操作當然有許多,比如:鍊錶的建立,修改,刪除,插入,輸出,排序,反序,清空鍊錶的元素,求鍊錶的長度等等。

c語言巢狀鍊錶實現學生成績管理系統:熟悉鍊錶的建立,結構體指標的使用。

實現思路:建立學生鍊錶->建立班級鍊錶

其中學生鍊錶的結點的資料域存放學生的資訊;

班級鍊錶的結點的資料域為指向學生煉表頭結點的指標;

利用這樣的巢狀鍊錶實現多個班級,以及每個班級多個學生的成績管理。

**如下(示例):

#include

#include

**如下(示例):

struct student //宣告學生鍊錶的節點

;

**如下(示例):

struct class//宣告班級鍊錶的節點

;

**如下(示例):

struct student*

createstudentnode

(struct student*head,

int num)

//生成乙個新的學生節點並且利用尾插法插入鍊錶中

else

//將指標p移到鍊錶尾

} p->next=node;

return head;

}

**如下(示例):

struct student*

init_studentlink()

//生成學生鍊錶

return p;

}

**如下(示例):

struct class*

createclassnode

(struct class* head,

int num)

//生成乙個新的班級節點並且利用尾插法插入鍊錶中

else

}return0;

}

**如下(示例):

void

init_class

(struct class* head)

//生成班級鍊錶

}

**如下(示例):

void

printf_node

(struct class *head)

//列印節點資訊

if(p->sum}printf

("\n");

q=q->next;

j=0;

}printf

("總分最高為:%d\n"

,max)

;printf

("總分最低為:%d\n"

,min)

;}

**如下(示例):

int

main()

c 實現學生成績管理

include include include include include struct score void main printf all the score bellow n printf id t語文 t英語 t數學 n for i 0 i int max 0 int m 0 for i...

C 鍊錶實現學生成績管理(增刪改查)

簡介 並未封裝成類,功能也僅實現了增量改查。資料為txt,格式 學號 long 姓名 string 總分 int 學生資訊結構體 struct student 節點結構體 struct node 讀取data.txt中獲取資料 node readinformation node root q nex...

C語言鍊錶實現學生管理系統

include include include include include include using namespace std typedef struct ndoestudent struct student 建立學生資訊 student insert student head r nex...