數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)-預(yù)備實(shí)驗(yàn)_第1頁
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)-預(yù)備實(shí)驗(yàn)_第2頁
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)-預(yù)備實(shí)驗(yàn)_第3頁
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)-預(yù)備實(shí)驗(yàn)_第4頁
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)-預(yù)備實(shí)驗(yàn)_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

豫備知識(shí)實(shí)驗(yàn)- 實(shí)驗(yàn)?zāi)康腎、復(fù)習(xí)c語言中結(jié)構(gòu)體類型的定義方法,掌握數(shù)據(jù)元素類型的定義方法。2、掌握存儲(chǔ)空間分配和釋放的基本方法。3、鞏固結(jié)構(gòu)體變量成員的”引用和“引用。4、掌握C語言函數(shù)的聲明、定義和調(diào)用。二 實(shí)驗(yàn)內(nèi)容學(xué)生信息管理:某年級(jí)共有n個(gè)學(xué)生,每一個(gè)學(xué)生的信息構(gòu)成一個(gè)記錄,如下表所示,學(xué)生的學(xué)號(hào)作為關(guān)鍵字(key)。這n個(gè)記錄構(gòu)成為了一個(gè)長度為n的線性表?,F(xiàn)要求完學(xué)號(hào)姓名性別英語計(jì)算機(jī)高數(shù)總分平均分4256007貝小鵬男7668844256012黃堅(jiān)女8764664256020林繼磊女7869784256026潘耀男5466521、輸入所有學(xué)生的信息,建立學(xué)生表。2、輸出所有學(xué)生的信息。3、查找:在學(xué)生表中查找指定學(xué)生的信息,如果找到就顯示該生的所有信息,否則顯示“該學(xué)生的信息不存在,查找失敗”。4、修改:在學(xué)生表中修改指定學(xué)生的信息,然后顯示所有學(xué)生信息,如果表中不存在該生就顯示“該生的信息不存在,修改失敗”。5、添加:在當(dāng)前學(xué)生表的末尾添加一個(gè)記錄(記錄數(shù)增加1)例如,添加記錄為:4256033吳強(qiáng)男828590要求:按下列方法和步驟完成程序,并上機(jī)調(diào)試通過。用struct和typedef語句定義學(xué)生記錄類型(即定義數(shù)據(jù)元素的類型)。typedefstructstudent{intnumber;charname[20];charsex[2];intEnglish;intComputer;intMath;inttotal;doubleaverage;}STUDENT;確定存儲(chǔ)結(jié)構(gòu),現(xiàn)采用順序存儲(chǔ)結(jié)構(gòu)。定義一個(gè)類型為STUDENT的一維數(shù)組stu,最大元素個(gè)數(shù)為100.#defineMAXSIZE100STUDENTstu[MAXSIZE];函數(shù)聲明。題目中有5問,聲明5個(gè)函數(shù)。輸入所有學(xué)生的信息,建立學(xué)生表。voidlnputStu(STUDENTstu[]3intn);輸出所有學(xué)生的信息。voidOutputStu(STUDENTstu[],intn);查找:在學(xué)生表中查找指定學(xué)生的信息,如果找到就顯示該生的所有信息,否則顯示〃該學(xué)生的信息不存在,酰失敗’OvoidSearchStu(STUDENTstu[],intn)修改:在學(xué)生表中修改指定學(xué)生的信息,然后顯示所有學(xué)生信息,如果表中不存在該生就顯示〃該生的信息不存在,修改失敗〃。voidUpdateStu(STUDENTstu[],intn)添加:在當(dāng)前學(xué)生表的末尾添加一個(gè)記錄(記錄數(shù)增加1)例如,添加記錄為:4256033吳強(qiáng)男828590voidAppendStu(STUDENTstu[],int*pn)函數(shù)調(diào)用。編寫main函數(shù)。voidmain(){intn;STUDENTstufMAXSIZE];intindex;printf(H\n請輸入學(xué)生記錄個(gè)數(shù)n=H);scanf(n%dn,&n);printf(”請輸入學(xué)生信息:\nM);lnputStu(stu,n);while(1){printf(H\n\t\t\t\t學(xué)生信息管理系統(tǒng)\rT);printf("\t1.顯示學(xué)生信息\n");printf(”\t2.查找學(xué)生信息\n“);printf("\t3.修改學(xué)生信息\n“);printf(”\t4.添加學(xué)生信息\n");printf("\t請選擇(1?4):”);scanf(”%d”,&index);switch(index){case1:OutputStu(stu,n);break;case2:SearchStu(stu,n);break;case3:llpdateStu(stu,n);break;case4:AppendStu(stu,&n);break;default:printf("\n輸入有誤,請重新輸入!\rT);操作函數(shù)的定義。5個(gè)自定義函數(shù)的定義。voidlnputStu(STUDENTstu[],intn){inti;for(i=0;i<n;i++){scanf(n%dn,&stu[i].num);scanf("%sn5&stu[i].name);scanf(n%sn,&stu[i].sex);scanf(”%d”,&stu[i].English);scanf("%d”,&stu[i].Computer);scanf(H%d",&stu[i].Math);stu[i].total=stu[i].English+stu[i].Computer+stu[i].Math;stu[i].average=stu[i].total/3.0;voidOutputStu(STUDENTstu[],intn){inti=1;STUDENT*p;printf(H\n序號(hào)\t學(xué)號(hào)\t姓名\t性別\t英語\t計(jì)算機(jī)\t高數(shù)\t總分\t平均分\n”);for(p=&stu[0];p<stu+n;p++){printf("%d\t”,i++);printf("%d\tn,p->num);printf("%s\t”,p->name);printf(,'%s\t,'Jp->sex);printf("%d\t”,p->English);printf("%d\t”,p->Computer);printf(H%d\r,p->Math);printf(,,%d\t,1,p->total);printf(”%0.2f\t”,p?>average);printf(H\nn);))voidSearchStu(STUDENTstu[],intn){intx;printf(M\n請輸入待查找的學(xué)號(hào):”);scanf(n%dK,&x);for(inti=0;ivn;i++){if(stu[i].num==x){printf(H\n查找成功\rT);break;})if(i〈n){printf(n\n學(xué)號(hào)Y姓名\t性別\t英語\t計(jì)算機(jī)\t高數(shù)\t總分\t平均分\n“);printf(H%d\t%s\t%s\t%d\t%d\t%d\t%d\t%0.2f\t\nn,stu[i].num,stu[i].name,stu[i].sex,stu[i].English,stu[i].Computer,stu[i].Math,stu[i].totalJstu[i].average);}elseprintf("\n該生信息不存在,查找失敗!\n“);)voidUpdateStu(STUDENTstu[],intn){STUDENT*p;intt,x1,x2;charx[20];printf("\n請輸入要修改記錄的學(xué)號(hào):”);scanf(n%dn,&x1);for(p=stu;p<stu+n;p+4-){if(p->num==x1)

break;}if(p>=stu+n)printf("不存在學(xué)號(hào)為%d的記錄,修改失??!\n\x1);else{printf(n\n學(xué)號(hào)\t姓名\t性別\t英語\t計(jì)算機(jī)\t高數(shù)\t總分\t平均分\n");printf(,'%d\t%s\t%s\t%d\t%d\t%d\t%d\t%0.2f\t\n,,,p->num,p->name,p->sex,p->English,p->Computer,p->Math,p->total,p->average);printf(”\t1.姓名\n“);printf("\t2.性別\rT);printf("\t3.英語\n");printf("\t4.計(jì)算機(jī)\n“);printf("\t5?高數(shù)\n“);printf(n\t請選擇要修改的信息(1?5):)scanf(H%dn,&t);printf("請輸入修改后的信息:");if(t<3)scanf(”%20s”,x);elseif(t<6)scanf(,,%d,,,&x2);switch(t){case1:strcpy(p->name,x);break;case2:strcpy(p->sex,x);break;case3:p->English=x2;break;case4:p->Computer=x2;break;case5:p->Math=x2;break;default:printf("\n輸入有誤,請重新輸入!\n");printf(n\n學(xué)號(hào)\t姓名\t性別\t英語\t計(jì)算機(jī)\t高數(shù)\t總分\t平均分\n");pnntf("%d\t%s\t%s\t%d\t%d\t%d\t%d\t%0.2f\t\rT,p->num,p->namep>sexp>English,p->Computer,p->Math,p->total,p->average);}}voidAppendStu(STUDENTstu[],int*pn){inti;if(*pn==1OO)printf("空間已滿添加失??!\n");else(i=*pn;printf(“\n請輸入學(xué)生信息:”);scanf(n%d%s%s%d%d%dH,&stu[i].num,&stu[i].name,&stu[i].sex,&stu[i].English,&stu[i].Computer,&stu[i].Math);stu[i].total=stu[i].English+stu[i].Computer+stu[i].Math;stu[i].average=stu[i].total/3.0;*pn=*pn+1;printf("更新成功”);)}=實(shí)驗(yàn)鷗L建表輸入學(xué)生信息,并顯示學(xué)生信息24=66n7數(shù)起87生生貝黃4立十72人入0001臂24=66n7數(shù)起87生生貝黃4立十72人入0001臂5656請請42426866示戰(zhàn)擇BH1234油^=£=£=£=00I/.二二二二二一-七-々7+二」J-1學(xué)生信息管理系統(tǒng)0712號(hào)560560學(xué)42笠名⑥姓英語計(jì)算機(jī)高數(shù)76 68 8487 64 66總分 平均分228 76.00217 72.332.通過學(xué)號(hào)查找學(xué)生信息,查找成功則顯示學(xué)生信息,查找失敗則顯示學(xué)號(hào)不存在。2息息息息I唁信信信4)二二二二二二一4一々一4一々一1$-工±-于<靠改咖擇12342息息息息I唁信信信4)二二二二二二一4一々一4一々一1$-工±-于<靠改咖擇1234W學(xué)生信息管理系統(tǒng)首插入待查找的學(xué)號(hào):42560072息I!1■信在厘.4)C二二二一三一々一月二41月二1XXX率I-丁技改加擇顯百修曾1234W123.4.請學(xué)生信息管理系統(tǒng)計(jì)算機(jī)高數(shù)總分平均分68 84 228 76.00學(xué)生信息管理系統(tǒng)青旃人待查找的學(xué)號(hào):42630023.修改學(xué)生信息,選擇要修改的數(shù)據(jù)項(xiàng),輸入修改內(nèi)容,修改后顯示修改后的學(xué)生內(nèi)容。青輸入要修改記錄的學(xué)號(hào),4256007殺計(jì)姓貝LZ3.4.5請改殺計(jì)姓貝LZ3.4.5請改驍機(jī)1源。。7髓磊耕r驢機(jī)薩4.添加學(xué)生信息學(xué)生信息管理系統(tǒng)§..息息面心?一一號(hào)號(hào)?二二二r二二-學(xué)學(xué)學(xué)學(xué)<示加擇顯查修臉?學(xué)生信息管理系統(tǒng)§..息息面心?一一號(hào)號(hào)?二二二r二二-學(xué)學(xué)學(xué)學(xué)<示加擇顯查修臉????主nr1234WV546

溫馨提示

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

評論

0/150

提交評論