學(xué)生成績管理系統(tǒng)(線性表版)_第1頁
學(xué)生成績管理系統(tǒng)(線性表版)_第2頁
學(xué)生成績管理系統(tǒng)(線性表版)_第3頁
學(xué)生成績管理系統(tǒng)(線性表版)_第4頁
學(xué)生成績管理系統(tǒng)(線性表版)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

學(xué)生成績管理系統(tǒng)(線性表版)學(xué)生成績管理系統(tǒng)(線性表版)學(xué)生成績管理系統(tǒng)(線性表版)學(xué)生成績管理系統(tǒng)(線性表版)編制僅供參考審核批準(zhǔn)生效日期地址:電話:傳真:郵編: 學(xué)年論文(數(shù)據(jù)結(jié)構(gòu)2015-2016第一學(xué)期)題目:數(shù)據(jù)結(jié)構(gòu)課程設(shè)計作者:陳炳宏所在學(xué)院:信息科學(xué)與工程學(xué)院專業(yè)年級:信息安全14-1指導(dǎo)教師:劉淑嫻職稱:副教授2016年1月4日TOC\o"1-3"\h\z\u13018一.學(xué)生成績管理系統(tǒng) 213407需求分析 26451程序分析: 224700執(zhí)行方式: 221381程序執(zhí)行的命令包括: 224885測試數(shù)據(jù): 332627概要設(shè)計 37101線性表的抽象數(shù)據(jù)類型定義為: 415104結(jié)點的抽象數(shù)據(jù)類型定義為: 413633指針的抽象數(shù)據(jù)類型定義為: 424852本程序包含8個模塊: 526059詳細(xì)設(shè)計 630531元素類型、結(jié)點類型和指針類型 631598函數(shù)說明 616101功能函數(shù) 622410調(diào)試分析 1611185用戶手冊 1616228測試結(jié)果 18一.學(xué)生成績管理系統(tǒng)需求分析程序分析:本程序是一個基于線性表結(jié)構(gòu)編寫的學(xué)生成績管理系統(tǒng),學(xué)生可以進(jìn)行包括學(xué)生信息建立、在不同位置插入學(xué)生信息、查詢指定學(xué)生信息、刪除指定學(xué)生信息和輸出顯示所有學(xué)生信息這五項功能,功能操作簡單,效率高,可延展性強。為保證信息的真實性,學(xué)生信息中學(xué)號長度num<=11,姓名長度name<=8,性別gender<=3,成績?nèi)砸廨斎?,并且學(xué)號和成績只能為數(shù)字,否則程序出錯。執(zhí)行方式:本程序以用戶和計算機的對話方式執(zhí)行,即在計算機終端上顯示7個共能選擇的“提示信息”之后,由用戶在鍵盤上輸入本程序中規(guī)定的功能指令;相應(yīng)的輸人數(shù)據(jù)(并能濾去輸入中的非法字符)和顯示信息來處理結(jié)果。程序執(zhí)行的命令包括:(1)學(xué)生信息鏈表的建立;建立后仍意建繼續(xù)輸入,n和N退出;(2)插入學(xué)生信息;輸入插入的位置;(3)查詢學(xué)生信息;選擇兩種方式之一查找并查詢;(4)刪除學(xué)生信息;選擇兩種方式之一查找并刪除;(5)修改學(xué)生信息;選擇兩種方式之一查找并修改;(6)輸出所有學(xué)生信息;(7)退出管理系統(tǒng)。測試數(shù)據(jù):(1)建立三個學(xué)生信息:學(xué)號(11)姓名(8)性別成績210,cc,n,89399,sxz,w,99596,sad,n,88(2)插入一個學(xué)生信息:學(xué)號(11)姓名(8)性別成績2016,scs,n,79輸入插入位置:2(3)查詢學(xué)生信息:按1選擇學(xué)號查詢,輸入學(xué)號:210按2選擇姓名查詢,輸入姓名:scz(4)刪除學(xué)生信息:按2選擇姓名刪除,輸入姓名:cc(5)修改學(xué)生信息:按1選擇學(xué)號修改,輸入學(xué)號:399輸入修改后的數(shù)據(jù):學(xué)號(11)姓名(8)性別成績399,scz,w,69概要設(shè)計為實現(xiàn)上述程序功能,首先需要創(chuàng)建一個建立信息鏈表的函數(shù),用于建立線性鏈表并對每個結(jié)點進(jìn)行順序的信息存儲,然后創(chuàng)建其他五個函數(shù),來依次實現(xiàn)插入、刪除、查詢、修改、輸出信息。其中插入信息需要利用循環(huán)使得指針循環(huán)指向指定結(jié)點,而刪除、查詢和修改均需要利用循環(huán)判斷來找到指定數(shù)據(jù)。線性表的抽象數(shù)據(jù)類型定義為:typedefstruct{數(shù)據(jù)對象:charnum,name,genger,score;數(shù)據(jù)關(guān)系:一對一的線性關(guān)系}DataType;基本操作:建立一對一的信息組結(jié)點的抽象數(shù)據(jù)類型定義為:typedefstructnode{數(shù)據(jù)對象:DataTypedata;structnode*next;數(shù)據(jù)關(guān)系:*next∈data;}ListNode;基本操作:ListNode*findList(LinkListhead);初始條件:鏈表指針類型的建立操作結(jié)果:查詢函數(shù)為指針類型voidchangeNode(LinkListhead);初始條件:查詢函數(shù)調(diào)度成功,選擇處有數(shù)據(jù)操作結(jié)果:新數(shù)據(jù)覆蓋原數(shù)據(jù)來修改voiddelNode(LinkListhead);初始條件:查詢函數(shù)調(diào)度成功,選擇處有數(shù)據(jù)操作結(jié)果:選中數(shù)據(jù)被釋放voidprintList(LinkListhead);初始條件:線性表存在且其余操作完成操作結(jié)果:輸出顯示最終數(shù)據(jù)指針的抽象數(shù)據(jù)類型定義為:typedef{數(shù)據(jù)對象:ListNode*LinkList;LinkListhead;數(shù)據(jù)關(guān)系:LinkList初始為head基本操作:LinkListcreateList(void)初始條件:建立一對一的信息組操作結(jié)果:建立信息鏈表函數(shù)本程序包含8個模塊:(1)主程序模塊:BEGIN{main}初始化;SWITCH 接受命令;處理命令;UNTIL數(shù)據(jù)處理結(jié)束;END.(通過返回的菜單選擇函數(shù)值進(jìn)行功能選擇并調(diào)用實現(xiàn)功能;)(2)菜單選擇——單純的選擇功能序號并返回給主函數(shù);(3)鏈表建立函數(shù)——實現(xiàn)順序鏈表的建立并輸入相應(yīng)的數(shù)據(jù)進(jìn)行結(jié)點的存儲;(4)插入信息函數(shù)——通過找到指定節(jié)點并進(jìn)行結(jié)點插入的函數(shù);(5)查詢信息函數(shù)——通過循環(huán)對輸入的學(xué)號和姓名和已經(jīng)存在數(shù)據(jù)一個一個往后對比來查找全部函數(shù);(6)刪除信息函數(shù)——通過查詢函數(shù)的基本原理,找到指定函數(shù)后,釋放指定結(jié)點;(7)修改信息函數(shù)——通過查詢函數(shù)的基本原理,找到指定函數(shù)后,修改并覆蓋原結(jié)點;(8)輸出所有信息函數(shù)——利用循環(huán)依次輸出結(jié)點直到結(jié)點為空為止。各模塊之間的調(diào)用關(guān)系如圖1:主程序主程序菜單 菜單輸出修改信息函數(shù)刪除信息函數(shù)查詢信息函數(shù)插入信息函數(shù)鏈表建立函數(shù)輸出修改信息函數(shù)刪除信息函數(shù)查詢信息函數(shù)插入信息函數(shù)鏈表建立函數(shù)圖1模塊調(diào)用關(guān)系圖詳細(xì)設(shè)計元素類型、結(jié)點類型和指針類型TYPEDEFDataType—char,int;{元素類型}LinkList—head;{指針類型}ListNode—node;{結(jié)點類型}data:DataType;next:*node;END;ViSitProc—PROCEDURE(p:LinkType);{訪問結(jié)點的過程類型}函數(shù)說明intmenu_select();LinkListcreateList(void);voidprintList(LinkListhead);intinsertNode(LinkListhead,ListNode*p,inti);ListNode*findList(LinkListhead);voiddelNode(LinkListhead);voidchangeNode(LinkListhead);功能函數(shù)(1)建立鏈表函數(shù)LinkListcreateList(void){ ListNode*p,*rear;生信息鏈表的建立\n"); printf("2.插入學(xué)生信息\n"); printf("3.查詢學(xué)生信息\n"); printf("4.刪除學(xué)生信息\n"); printf("5.修改學(xué)生信息\n"); printf("6.輸出所有學(xué)生信息\n"); printf("0.退出管理系統(tǒng)\n"); printf("==========================================\n"); printf("請選擇0-6:\n"); scanf("%d",&sn); for(;sn<0||sn>6;)元素類型 結(jié)點類型指針類型主程序菜單輸出刪除信息函數(shù)修改信息函數(shù)查詢信息函數(shù)插入信息函數(shù)鏈表建立函數(shù)查詢函數(shù)查詢函數(shù)查詢函數(shù)xe,如圖3元素類型 結(jié)點類型指針類型主程序菜單輸出刪除信息函數(shù)修改信息函數(shù)查詢信息函數(shù)插入信息函數(shù)鏈表建立函數(shù)查詢函數(shù)查詢函數(shù)查詢函數(shù)圖3運行環(huán)境(2)執(zhí)行程序后即顯示用戶界面,如圖4 圖4用戶界面(3)選擇1進(jìn)入鏈表創(chuàng)立,如圖5圖5鏈表創(chuàng)立(4)選擇2進(jìn)入插入界面,如圖6圖6插入界面(5)選擇3進(jìn)入查詢界面,如圖7圖7查詢界面(6)選擇4進(jìn)入刪除界面,如圖8圖8刪除學(xué)生信息(7)選擇5進(jìn)入修改界面,如圖9圖9修改界面(8)選擇6輸出界面

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論