數(shù)據(jù)結(jié)構(gòu)學(xué)生管理系統(tǒng)實(shí)驗(yàn)報(bào)告_第1頁(yè)
數(shù)據(jù)結(jié)構(gòu)學(xué)生管理系統(tǒng)實(shí)驗(yàn)報(bào)告_第2頁(yè)
數(shù)據(jù)結(jié)構(gòu)學(xué)生管理系統(tǒng)實(shí)驗(yàn)報(bào)告_第3頁(yè)
數(shù)據(jù)結(jié)構(gòu)學(xué)生管理系統(tǒng)實(shí)驗(yàn)報(bào)告_第4頁(yè)
數(shù)據(jù)結(jié)構(gòu)學(xué)生管理系統(tǒng)實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩2頁(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、四、運(yùn)行結(jié)果(運(yùn)行界面圖及說(shuō)明):測(cè)試數(shù)據(jù):1245678阿貍 8956892314阿麗 56當(dāng)輸入數(shù)據(jù)合法時(shí),運(yùn)行結(jié)果如下:詁依次輸入學(xué)生的學(xué)號(hào),姓名,成就*124567能阿貍3956092314 阿皿 56學(xué)號(hào)姓名成績(jī)1245678 阿貍 8956部2314阿麗56潘瑜人影所要在找晌學(xué)生的小力m.學(xué)號(hào)成騎1715桿7號(hào)0 S1Q話輸入你所在找的學(xué)生的位置:2南2個(gè)學(xué)生的數(shù)據(jù)為:學(xué)號(hào)知名成結(jié)56892314 河麗 56請(qǐng)輸入所插入學(xué)生的學(xué)號(hào).姓幺.成繼,位置:45788123 阿力 95 2加入H的找則為:學(xué)號(hào)科名成第124567fi5 阿狎 陽(yáng)45789123 阻力 9556S92314

2、I隨 56 爐輸入所唾刪除的學(xué)t的位置: 刪除標(biāo)的效鬢為,國(guó)號(hào)姓行威籟12456789 網(wǎng)狎 8915789123 阿力 95表中的學(xué)生個(gè)效用2清按任意雄奉續(xù).當(dāng)輸入數(shù)據(jù)不合法時(shí):SB C :WI N DOWS&y&te m J 2c it d. exe輸入學(xué)生的個(gè)數(shù):2請(qǐng)依次輸入學(xué)生的學(xué)號(hào),姓名,成績(jī);20174546 李華 8920178956 李艷 95學(xué)號(hào)姓名成績(jī)20174546 李華 8920178956 李艷 95盾輸入您所要查拽的學(xué)生的姓名t李氏該系統(tǒng)沒(méi)有此人數(shù)據(jù)-5了2662307 2. 14305e312請(qǐng)輸入你所杏找的學(xué)1的位S:3招Ljj翡律|曙輔人所插入

3、學(xué)生的學(xué)號(hào).姓著成縹位置;4567891230895木達(dá)蒂拉禮物100 3插入后的數(shù)據(jù)為:學(xué)號(hào)姓名成績(jī)20174546 李隼 3920178956 李艷 952017895G 車艷 95請(qǐng)輸入所要?jiǎng)h除的學(xué)生的位置;刪除后的數(shù)據(jù)為:學(xué)號(hào)姓名成績(jī)20174546 在華 8920178956 李他 95表中的學(xué)生個(gè)數(shù)為;2請(qǐng)按任意鍵繼續(xù)一.S3 C:WIN DCWSsystem32<mclHexe輸入學(xué)生的個(gè)數(shù):2請(qǐng)依次輸入學(xué)生的學(xué)號(hào),姓名,成績(jī)20174589563202 lili 90殍號(hào)姓名成績(jī)卜858993駛。T. 25598+061-858993460T. 255969061請(qǐng)輸入您

4、所要查找的學(xué)生的姓徐學(xué)號(hào),成績(jī)卜85sg93460 -9. 255960+061請(qǐng)輸入你所查找的學(xué)生的位置:第1個(gè)學(xué)生的數(shù)據(jù)為:學(xué)號(hào) 姓名 成績(jī)卜858993460 -9. 25596+061道輸入所插入學(xué)生的學(xué)號(hào),姓名,成績(jī).位置:忸入后的數(shù)據(jù)為:怪號(hào)姓名成績(jī)卜55599346023596*0618589934609. 2339G埼t0618589934609. 2539G4061諸輸入所要?jiǎng)h除的學(xué)生的位置:刪除后的數(shù)掂為;序號(hào)姓名成績(jī)卜858993460-9. 25596/061卜85S993460-9. 25596巳+061展中的學(xué)生個(gè)數(shù)為:2請(qǐng)按任意鍵繼續(xù),.五、實(shí)驗(yàn)體會(huì)1 .實(shí)驗(yàn)錯(cuò)誤

5、太多,應(yīng)加強(qiáng)基礎(chǔ)知識(shí)的學(xué)習(xí)。2 .對(duì)函數(shù)的定義聲明掌握的不到位。3 .多練習(xí)敲代碼,熟練掌握線性表。4 .輸入時(shí)注意大小寫字母對(duì)應(yīng)!六、附完整代碼#include <iostream>#include <fstream>#include <string>#include <iomanip> using namespace std;# define OK 1# define ERROR 0# define OVERFLOW -2typedef int Status; /Status是函數(shù)返回值類型,其值是函數(shù)結(jié)果狀態(tài)代碼。typedef int E

6、lemType; /ElemType 為可定義的數(shù)據(jù)類型,此設(shè)為 int類型 #define MAXSIZE 100順序表可能達(dá)到的最大長(zhǎng)度struct Student int num; / 學(xué)號(hào)string name; / 姓名double score; / 成績(jī);typedef struct Student *elem; / 存儲(chǔ)空間的基地址 int length; / 當(dāng)前長(zhǎng)度 SqList;Status initlist(SqList &L) / 算法 .1 順序表的初始化/ 構(gòu)造一個(gè)空的順序表LL.elem = newStudentMAXSIZE; /為順序表分配一個(gè)大小為M

7、AXSIZ的數(shù)組空間if (!L.elem)exit(OVERFLOW); / 存儲(chǔ)分配失敗退出L.length = 0;/ 空表長(zhǎng)度為return OK;Status GetElem(SqList L, int i, Student &e) / 算法 .2 順序表的取值if (i < 1 | i > L.length)return ERROR; / 判斷 i 值是否合理,若不合理,返回ERRORe = L.elemi - 1;/elemi-1 單元存儲(chǔ)第i 個(gè)數(shù)據(jù)元素return OK;void print(SqList &L) int i;for (i = 0;

8、 i < L.length; i+)cout << L.elemi.num <<" " << L. <<" " << L.elemi.score << endl;int LocateElem(SqList L, string e) / 算法 .3 順序表的查找/ 順序表的查找for ( int i = 0; i < L.length; i+)if (L. = e) return i + 1;/ 查找成功,返回序號(hào)i+1return

9、0; / 查找失敗,返回 Status listinsert(SqList &L,int i, Student e) / 算法 .4 順序表的插入/在順序表L中第i個(gè)位置之前插入新的元素e/i 值的合法范圍是<=i<=L.length+1if (i < 1) | (i > L.length + 1)return ERROR; /i 值不合法if (L.length = MAXSIZE)return ERROR; / 當(dāng)前存儲(chǔ)空間已滿for ( int j = L.length - 1; j >= i - 1; j-)L.elemj + 1 = L.elem

10、j;/ 插入位置及之后的元素后移L.elemi - 1 = e;/將新元素e放入第i個(gè)位置+L.length; / 表長(zhǎng)增 return OK;Status ListDelete(SqList &L, int i) / 算法 .5 順序表的刪除/在順序表L中刪除第i個(gè)元素,并用e返回其值/i 值的合法范圍是<=i<=L.lengthif (i < 1) | (i > L.length) return ERROR; /i 值不合法for ( int j = i; j <= L.length; j+)L.elemj - 1 = L.elemj;/ 被刪除元素之

11、后的元素前移-L.length; / 表長(zhǎng)減 return OK;Status listLength(SqList &L)return L.length;int main() SqList L;int i = 0,ge;string name;Student e;initlist(L);cout << " 輸入學(xué)生的個(gè)數(shù):" ;cin>>ge;cout << " 請(qǐng)依次輸入學(xué)生的學(xué)號(hào), 姓名,成績(jī):" <<endl;for (i=0;i<ge;i+) cin>>e.num;cin&

12、gt;>;cin>>e.score;listinsert(L,i+1,e);cout << " 學(xué)號(hào)姓名成績(jī)" <<endl;print(L);cout << " 請(qǐng)輸入您所要查找的學(xué)生的姓名:"cin>>name;i=LocateElem(L,name);if (i=0)cout << " 該系統(tǒng)沒(méi)有此人數(shù)據(jù)" <<endl;if (i)cout << " 學(xué)號(hào)成績(jī)" <<endl;cou

13、t << L.elemi-1.num<< " " <<L.elemi-1.score<< " " <<endl;cout << "請(qǐng)輸入你所查找的學(xué)生的位置 :"<<endl; cin>>i;if (i<0&&i=0)|i>L.length) cout<<"超出范圍"<<endl;if (i>0&&i<L.length+1)cout<&

14、lt; "第"<<i<<"個(gè)學(xué)生的數(shù)據(jù)為:"; cout<< "學(xué)號(hào)姓名成績(jī)"<<endl;<<endl;cout<<L.elemi-1.num<< " " <<L.<< " " <<L.elemi-1.score<< cout<<"請(qǐng)輸入所插入學(xué)生的學(xué)號(hào),姓名,成績(jī),位置 :"<<endl;cin>>e.num>>>>e.score;cin>>i;listinsert(L,i,e);cout<< "插入后的數(shù)據(jù)為:"<<endl;cout<< "學(xué)號(hào)姓名成績(jī)"<<endl;print(L);cout<< "請(qǐng)輸入

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論