C++課程設(shè)計(jì) 單鏈表——學(xué)生信息管理系統(tǒng)_第1頁(yè)
C++課程設(shè)計(jì) 單鏈表——學(xué)生信息管理系統(tǒng)_第2頁(yè)
C++課程設(shè)計(jì) 單鏈表——學(xué)生信息管理系統(tǒng)_第3頁(yè)
C++課程設(shè)計(jì) 單鏈表——學(xué)生信息管理系統(tǒng)_第4頁(yè)
C++課程設(shè)計(jì) 單鏈表——學(xué)生信息管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、學(xué)生信息管理系統(tǒng)設(shè)計(jì)文檔一、 設(shè)計(jì)任務(wù)描述為了實(shí)現(xiàn)學(xué)籍管理的簡(jiǎn)單化,我們基于Visual C+集成開發(fā)環(huán)境編寫了“學(xué)生信息管理系統(tǒng)”軟件,該軟件適用于所有windows操作系統(tǒng),面向廣大用戶,界面簡(jiǎn)潔,操作簡(jiǎn)單。此軟件主要是實(shí)現(xiàn)對(duì)學(xué)生學(xué)籍信息進(jìn)行系統(tǒng)化的管理,可以對(duì)學(xué)生基本信息進(jìn)行添加、刪除、查找、修改以及對(duì)學(xué)生成績(jī)的管理,主要是根據(jù)學(xué)生的學(xué)號(hào)及其姓名進(jìn)行操作的。該軟件可以更加方便管理者管理學(xué)生學(xué)籍信息。二、 功能需求說(shuō)明該系統(tǒng)所需要的功能有:1、鏈表的建立; 2、學(xué)生信息的插入; 3、學(xué)生信息的查詢; 4、學(xué)生信息的輸出; 5、學(xué)生信息的修改; 6、學(xué)生信息的刪除; 7、良好的歡迎選擇界面。

2、三、總體方案設(shè)計(jì)一、實(shí)現(xiàn)任務(wù)的方法1、在歡迎選擇界面中,使用Switch 這一選擇結(jié)構(gòu)來(lái)連接程序的執(zhí)行和用戶的命令;2、在從學(xué)生信息的建立直到刪除,都是使用鏈表的相關(guān)知識(shí);3、在定義學(xué)生信息時(shí),建立一個(gè)Inform 類;在定義學(xué)生課程成績(jī)時(shí),自定義了一個(gè)achieve 結(jié)構(gòu)體;二、 總體結(jié)構(gòu)三、模塊劃分(1)鏈表的建立。(2)對(duì)鏈表信息的插入。(3)對(duì)鏈表信息的查找。(4)對(duì)鏈表信息的輸出。(5)對(duì)鏈表信息的刪除。(6)對(duì)鏈表信息的修改。課程成績(jī)信息作為附加信息,穿插于各個(gè)模塊中。三、 數(shù)據(jù)結(jié)構(gòu)說(shuō)明一、自定義的數(shù)據(jù)結(jié)構(gòu):1、achieve(課程成績(jī))用于存放課程成績(jī)信息包括課程數(shù)、課程名、成績(jī)

3、、學(xué)分、總分和平均分。2、inform(學(xué)生基本信息)用于存放學(xué)生基本信息,包括姓名、學(xué)號(hào)、性別等。3、結(jié)點(diǎn)結(jié)構(gòu)-Nodetype,定義了數(shù)據(jù)域inform和指針域next;二、類Student 用于存放處理學(xué)生信息的各個(gè)功能函數(shù),private 成員是鏈表的頭指針。四、 各模塊設(shè)計(jì)說(shuō)明一、建立:首先:建立一個(gè)空鏈表: Student:Student() head=new Nodetype;head->next=NULL; 表明這是一個(gè)空鏈表cout<<"請(qǐng)建立鏈表n"然后建立鏈表:二、添加:按照學(xué)號(hào)從小到大的順序插入:三、輸出:將鏈表的數(shù)據(jù)輸出,由于上述

4、操作,輸出時(shí)會(huì)按照學(xué)號(hào)從小到大的順序輸出。四、查找:利用學(xué)號(hào)和姓名兩種方式進(jìn)行查找,查找時(shí)主要是遍歷鏈表進(jìn)行判斷while(p!=NULL&&(d=1&&strcmp(input,p->data.num)!=0)|(d=2&&strcmp(input,p->)!=0)p=p->next; /遍歷鏈表查找符合要求的節(jié)點(diǎn)五、刪除:利用節(jié)點(diǎn)的刪除操作,找到鏈表中第i-1個(gè)結(jié)點(diǎn),修改其指向后繼的指針:q = p->next; p->next = q->next; delete(q);六、更改:利用查找

5、的操作,查到后在進(jìn)行重新輸入的操作;五、 測(cè)試情況說(shuō)明測(cè)試一:學(xué)生信息的輸入和輸出都正常,但是查找、刪除和修改時(shí)都只能對(duì)第一個(gè)數(shù)據(jù)進(jìn)行操作,如下圖所示:但是當(dāng)要進(jìn)行查找、刪除、修改操作時(shí),系統(tǒng)只能對(duì)第一個(gè)對(duì)象進(jìn)行操作查看程序時(shí),發(fā)現(xiàn)查找函數(shù)、刪除和修改函數(shù)都有個(gè)邏輯錯(cuò)誤全部修改后,程序的上述錯(cuò)誤就沒再出現(xiàn)了。錯(cuò)誤二:當(dāng)提示是否輸入課程成績(jī)信息時(shí),輸入第一門課程名時(shí),會(huì)出現(xiàn)無(wú)窮循環(huán)但當(dāng)輸入第一門課程后就會(huì)出現(xiàn)下圖所示狀況:對(duì)于這種狀況,我百思不得其解,后來(lái)請(qǐng)教其他同學(xué),他告訴我錯(cuò)誤在于聲明課程成績(jī)信息時(shí)出錯(cuò)了應(yīng)該為二維數(shù)組,修改之后,課程成績(jī)輸入輸出便正常了錯(cuò)誤三:輸入學(xué)生信息時(shí)不按照學(xué)號(hào)大小順序,輸出結(jié)果時(shí)也不按照從小到大的順序輸出。如下圖所示后來(lái)查看程序,發(fā)現(xiàn)插入函數(shù)(insert)中判斷新插入的數(shù)據(jù)的位置時(shí)出現(xiàn)問(wèn)題應(yīng)該為strcmp(p->data.num,x.num)<0;之后輸出正確了!六、 評(píng)價(jià)和改進(jìn)意見(1

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論