上次我使用動态數組結構體實作了學生成績管理系統:
這次學習了連結清單對連結清單也有所了解,我就想着用連結清單實作學生成績管理系統,我的這個學生成績管理系統和前一個的功能是一樣的,隻是實作的方法不同,因為使用連結清單實作對資料的增删改查不會引起大量資料的變化,是以效率上會有所提高
程式子產品:

程式中使用到的函數:
函數名
函數功能
inputstudent
輸入學生資訊
outputstudent
輸出學生資訊
deletestudent
删除學生資訊
searchstudent
查找學生資訊
changestudent
修改學生資訊
insertstudent
增加學生資訊
scortbychinese
對學生的國文成績排序
scortbymath
對學生的數學成績排序
scortbyenglish
對學生的英語成績排序
scortbytotal
對學生的總分排序
程式主界面:
功能選擇界面:
首先定義一個學生結構和一個結點結構
學生結構:
結點結構:
然後定義一些函數用于處理學生資訊
函數名:pnode inputstudent(void)
函數功能:輸入學生資訊
函數代碼:
實作效果:
輸入學生的人數:
輸入第1個學生的資訊
輸入第2個學生的資訊:
函數名:void outputstudent(pnode phead)
函數功能:輸出學生資訊
測試程式:
函數名:void deletestudent(pnode phead)
函數功能:删除學生資訊
選擇需要删除的學生的編号
删除成功的标志:
删除後的學生資訊:
函數名:void searchstudent(pnode phead)
函數功能:查找學生資訊
查找李四的資訊
函數名:void changestudent(pnode phead)
函數功能:修改學生資訊
函數代碼
修改前李四的成績
修改李四的成績
修改後李四的成績:
函數名:void insertstudent(pnode phead)
函數功能:增加學生資訊
增加王五的資訊
增加後的效果:
函數名:void scortbychinese(pnode phead)
函數功能:對學生的國文成績排序
排序前的學生資訊
排序後的學生資訊:
函數名:void scortbymath(pnode phead)
函數功能:對數學成績排序
排序前:
排序後:
函數名:void scortbyenglish(pnode phead)
函數功能:對學生的英語成績排序
排序前
函數名:void scortbytotal(pnode phead)
函數功能:對學生的總分排序
排序後
學生管理系統的全部代碼: