基於C 二叉樹鍊錶實現同學錄資訊系統

2022-07-06 01:42:10 字數 1816 閱讀 2015

採用二叉樹儲存結構,建立二叉樹同學錄資訊管理系統;實現對同學錄的輸出和查詢,基於查詢實現對同學錄的修改和新增成員;採用遞迴的方式進行遍歷搜尋,從而實現對滿足條件的某條同學資訊的刪除操作。

【基本要求】

乙個完整的系統應具有以下功能:

(1)可通過鍵盤錄入同學的基本資訊(或通過記事本讀入),並輸出同學錄資訊。

(2)可按照學號、性別、姓名、**查詢同學錄資訊。

(3)可根據學號、姓名、**為索引修改同學錄資訊。

(4)可新增新同學資訊。

(5)可按照姓名、**為索引刪除同學錄資訊。

(6)退出系統。

【測試資料】

以本班同學的基本資訊為測試資料,包括學號、姓名、性別、**等。

a.新增同學錄資訊:通過鍵盤錄入同學的基本資訊,包括學號、姓名等資料。

b.查詢同學錄資訊:可按照學號、姓名、**和性別查詢同學錄資訊。

c.修改同學錄資訊:可按照學號、姓名、**和性別修改同學錄資訊。

d.刪除同學錄資訊:可按照學號、姓名、**和性別刪除同學錄資訊。

e.瀏覽同學錄資訊:可檢視已新增同學錄資訊,方便對其進行操作。

f.儲存同學錄資訊:可儲存同學資訊到磁碟,開啟系統自動讀取磁碟的同學資訊。

g.正常退出系統:退出系統。

字型風格可以自由修改,介面設定都可以自由修改.....

密碼私聊!

**在不同的編譯器上,由於編譯器內部的**檢查不同,編譯可能會報一些錯誤,請根據錯誤進行處理。

本系統是在vc2019上執行,也可以在c與c++程式設計學習與實驗系統2010上執行,在vc2019上執行如果出現了以下錯誤

e0144"const char *" 型別的值不能用於初始化 "char *" 型別的實體

解決方法是:

專案》屬性》c/c++>>語言》符合模式,將符合模式由是改為否

文件很多足夠拿來寫報告的,就是功能圖需要自己畫...

同學錄資料大全

1.輸入字元的校驗沒有寫,那時候不敢寫太好,自行解決,也不難。

2.不可以在記憶體中單獨全部刪除同學資訊然後去瀏覽全部同學資訊會直接退出崩潰的,但是可以一次性刪除同學資訊,

為啥會出現這種問題呢,因為記憶體中的樹的根節點不可以被刪除呀,因為我把第乙個同學的資訊作為根節點了導致第乙個同學不可以被刪除,一旦刪除,不可以呼叫根節點的指標了,

解決辦法也很簡單,自行建立乙個空的根節點,就可以單獨全部刪除了,一次性刪除同學資訊這個功能是我清空了文字的內容,而不是在記憶體中清除的。這種叫野指標,導致讀寫失敗,因為我用了全域性指標變數,一旦連續呼叫就會出問題,比如你刪除了最後乙個同學資訊,然後執行查詢同學資訊,就會導致根節點沒有資料,沒有資料,查詢使用的是先判斷後遞迴呼叫,它一直遞迴下去不就出問題了嗎,解決辦法就是留乙個同學資訊或者留乙個案例同學資訊或者自己申請記憶體空間,釋放野指標。

新增資訊,修改資訊,刪除資訊是在記憶體中進行的,一旦關閉系統,你的操作等於沒有操作,類似你寫word文件,你寫了好多文字,你沒有儲存,關了電腦,相當於白寫,

因此執行新增資訊,修改資訊,刪除資訊操作想儲存到磁碟永久化,必須執行儲存功能!

**不止乙個版本,乙個是通過簡單視窗帶顏色的繪畫版本,乙個手動通過cout和for迴圈選單版本,乙個類模板。

二叉樹鍊錶C 實現

1 用遞迴方法建立二叉鍊錶 2 用遞迴演算法對二叉樹進行先序遍歷,中序遍歷和後序遍歷,並輸出遍歷結果 3 對二叉樹進行層次遍歷,並輸出遍歷序列 4 求二叉樹的深度並輸出 include 標頭檔案 include include typedef struct bitnode bitnode,bitre...

二叉樹(二叉鍊錶實現)

二叉鍊錶結構的二叉樹模型,棧用自己寫的模版,佇列就不了 直接用stl的,不然 太長了 檔案 tree.h include include includeusing namespace std templateclass my stack templateclass node 結點類 node t d...

二叉鍊錶實現二叉樹

二叉樹的遍歷 前序遍歷,中序遍歷,後序遍歷,層序遍歷 二叉鍊錶的儲存實現 1 定義結構體,儲存二叉樹的結點資料,該結點的左兒子,右兒子。2 每乙個函式都要有乙個對應的私有成員 includeusing namespace std templatestruct binode templateclass...