用棧完成學生資訊管理刪除和撤銷(C語言)

2021-10-10 21:44:28 字數 1158 閱讀 2100

用鍊錶儲存學生資訊

用棧臨時儲存刪除學生資訊,方便刪除

#include

#include

#include

#define stack_size 100

#define stackincrement 10

typedef

struct lnodelnode,

*linklist;

typedef

struct delstudelstu;

delstu *

initstack()

void

push

(delstu *s,

char e)

void

show

(lnode *l)

}void

showdel

(delstu *stu)

p->top=a;

//將top放回原來的頂部

return;}

intdelete

(lnode *l,

char key[

],delstu *stu)

else}if

(i==0)

return0;

}void

undo

(delstu *stu,lnode *l)

return;}

intmain()

show

(l);

printf

("請輸入需要刪除的學生資訊:");

char key[20]

;gets

(key);if

(delete

(l,key,stu)==1

)return0;

//刪除指定學生並壓入stu棧,如果沒有這條記錄則直接返回。

showdel

(stu)

;//展示刪除的資訊

show

(l);

//展示刪除之後剩餘的學生資訊

undo

(stu,p)

;//撤銷刪除操作並顯示撤銷的學生資訊,傳入p因為p此時在鍊錶尾端

show

(l);

//顯示撤銷後的學生資訊

return0;

}

學生資訊管理系統(二)刪除資訊

1.先分析下刪除的過程。假設現在已經新增了記錄,3個記錄.當前顯示第乙個記錄時,刪除.指標向下移動顯示第二個記錄。第二個同理。但當前顯示第三個記錄時,刪除第三個,指標指向eof,這不是是我們想要的,我們要的是刪除第三個記錄後,顯示第乙個記錄。圖1解 如下 1 private sub deleteco...

學生資訊管理系統 之 「探索原因和辦法」

首先我們從上次的部落格學生管理系統 糾錯 的第二個問題開始解釋吧,第乙個問題我更願意用一整篇部落格來敘述,所以我們一起來期待即將要新鮮出爐的部落格吧!一 無法修改或者刪除使用者名稱和密碼的 大概原因在於 資料庫中出現了重複的鍵值或資料,當試圖刪除時錯誤提示資訊就出來了。目前還沒有找到更好的辦法,只能...

用順序表實現乙個簡單的學生資訊管理系統

用順序表實現乙個簡單的學生資訊管理系統,包括如下功能 1 建立學生表 2 輸出學生表 3 增加學生資訊 4 刪除學生資訊 指定學號或者序號,如第幾個學生 5 按照給定的學號查詢學生資訊 6 插入學生資訊 學生資訊結點型別如下 typedef struct student 功能實現 include u...