大數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì) 學(xué)生成績(jī)管理系統(tǒng)27475

上傳人:仙*** 文檔編號(hào):85465061 上傳時(shí)間:2022-05-05 格式:DOC 頁(yè)數(shù):47 大?。?78KB
收藏 版權(quán)申訴 舉報(bào) 下載
大數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì) 學(xué)生成績(jī)管理系統(tǒng)27475_第1頁(yè)
第1頁(yè) / 共47頁(yè)
大數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì) 學(xué)生成績(jī)管理系統(tǒng)27475_第2頁(yè)
第2頁(yè) / 共47頁(yè)
大數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì) 學(xué)生成績(jī)管理系統(tǒng)27475_第3頁(yè)
第3頁(yè) / 共47頁(yè)

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《大數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì) 學(xué)生成績(jī)管理系統(tǒng)27475》由會(huì)員分享,可在線閱讀,更多相關(guān)《大數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì) 學(xué)生成績(jī)管理系統(tǒng)27475(47頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、word課 程 設(shè) 計(jì) 報(bào) 告課程名稱 數(shù)據(jù)結(jié)構(gòu) 課題名稱 學(xué)生成績(jī)管理系統(tǒng) 專 業(yè) 通信工程 班 級(jí) 1301 學(xué) 號(hào) 2 姓 名 momom 指導(dǎo)教師 鏖烽 幀 黃哲 2015年 7月 2日工程學(xué)院課 程 設(shè) 計(jì) 任 務(wù) 書課程名稱 數(shù)據(jù)結(jié)構(gòu) 課 題 學(xué)生成績(jī)管理系統(tǒng) 專業(yè)班級(jí) 通信工程1301 學(xué)生 momom 學(xué) 號(hào) 2 指導(dǎo)教師 鏖烽 幀 黃哲 審 批 鏖烽 任務(wù)書下達(dá)日期 2015年 6月 29日任 務(wù) 完成日期 2015年 7月 5日目 錄一、課程設(shè)計(jì)的分析41.課程設(shè)計(jì)目的:42.課程設(shè)計(jì)題目43.需求分析5二、概要設(shè)計(jì)5三、詳細(xì)設(shè)計(jì)6四、調(diào)試分析11(1)調(diào)試過(guò)程中遇到的問(wèn)題

2、11(2)經(jīng)驗(yàn)和體會(huì)11五、用戶使用說(shuō)明12六、測(cè)試結(jié)果13七、附錄18八、課程設(shè)計(jì)評(píng)分表37一、課程設(shè)計(jì)的分析1.課程設(shè)計(jì)目的:課程設(shè)計(jì)是對(duì)學(xué)生的一種全面綜合訓(xùn)練,是與課堂聽(tīng)講、自學(xué)和練習(xí)相輔相成的必不可少的一個(gè)教學(xué)環(huán)節(jié)。通常,實(shí)習(xí)題中的問(wèn)題比平時(shí)的習(xí)題復(fù)雜得多,也更接近實(shí)際。實(shí)習(xí)著眼于原理與應(yīng)用的結(jié)合點(diǎn),使讀者學(xué)會(huì)如何把書上學(xué)到的知識(shí)用于解決實(shí)際問(wèn)題,培養(yǎng)軟件工作所需要的動(dòng)手能力;另一方面,能使書上的知識(shí)變“活,起到深化理解和靈活掌握教學(xué)容的目的。平時(shí)的練習(xí)較偏重于如何編寫功能單一的“小算法,而實(shí)習(xí)題是軟件設(shè)計(jì)的綜合訓(xùn)練,包括問(wèn)題分析、總體結(jié)構(gòu)設(shè)計(jì)、用戶界面設(shè)計(jì)、程序設(shè)計(jì)根本技能和技巧,多

3、人合作,以至一整套軟件工作規(guī)的訓(xùn)練和科學(xué)作風(fēng)的培養(yǎng)?!菊n題】學(xué)生成績(jī)管理系統(tǒng)【問(wèn)題描述】根據(jù)自己這個(gè)學(xué)期的課程表,設(shè)計(jì)一個(gè)成績(jī)管理系統(tǒng)管理自己班的成績(jī);每個(gè)學(xué)生記錄包含學(xué)號(hào)、每門課程成績(jī)、總分以與加權(quán)平均分。【根本要求】一個(gè)完整的成績(jī)管理系統(tǒng)應(yīng)具有以下功能:(1)輸入:成績(jī)錄入;(2)輸出:輸出成績(jī)表;(3)插入:在成績(jī)表中適當(dāng)位置插入某個(gè)學(xué)生成績(jī);(4)刪除:在成績(jī)表中刪除某個(gè)學(xué)生成績(jī);(5)查找:根據(jù)某個(gè)關(guān)鍵字查找某個(gè)學(xué)生成績(jī);(6)排序:根據(jù)某一個(gè)或某幾個(gè)關(guān)鍵字進(jìn)展排序;(7)篩選:根據(jù)某個(gè)關(guān)鍵字篩選出符合某些條件的數(shù)據(jù);【測(cè)試數(shù)據(jù)】用本班的成績(jī)總表作為測(cè)試數(shù)據(jù)。本次課程設(shè)計(jì)的題目是學(xué)生

4、成績(jī)管理系統(tǒng),要求可以存入學(xué)生,學(xué)生信息包括學(xué)生學(xué)號(hào)、每科成績(jī)和平均成績(jī)以與加權(quán)平均成績(jī)等。該系統(tǒng)主要有以下七個(gè)功能,即對(duì)學(xué)生信息進(jìn)展:輸入、輸出、插入、刪除、查找、排序、篩選等功能。對(duì)學(xué)生進(jìn)展操作可以有很多思路,而我選用的是單鏈表村學(xué)生信息那一條思路,即設(shè)置一個(gè)單鏈表,其中節(jié)點(diǎn)數(shù)據(jù)域保存學(xué)生根本信息。由于我們學(xué)號(hào)比擬長(zhǎng),用整型數(shù)據(jù)無(wú)法保存,所以我定義char型的字符串來(lái)保存學(xué)號(hào)和。用一個(gè)數(shù)組來(lái)保存學(xué)生每一科的成績(jī),此外在定義一個(gè)總分和平均分變量。定義學(xué)生如下:typedef struct Studentchar mun12; /學(xué)號(hào)char name20; /float score8; /成

5、績(jī)float all_score; /總分float ave_score; /加權(quán)平均分struct Student *next;LinkList;二、概要設(shè)計(jì)本程序采用鏈表的方法將每一個(gè)學(xué)生設(shè)置成為一個(gè)鏈表中的數(shù)據(jù)節(jié)點(diǎn),節(jié)點(diǎn)中有字符型mun12學(xué)號(hào)、name20、浮點(diǎn)型數(shù)據(jù)score8放置每一科成績(jī)的數(shù)組、all_score總分和ave_score加權(quán)平均分。主函數(shù)中在執(zhí)行成績(jī)管理系統(tǒng)之前會(huì)先創(chuàng)建一個(gè)鏈表,并調(diào)用void InitList (LinkList *&L)函數(shù)來(lái)初始化鏈表;而后進(jìn)入菜單項(xiàng)選擇擇項(xiàng)選擇功能進(jìn)展操作,主程序流程圖如下:三、詳細(xì)設(shè)計(jì)1、添加學(xué)生: 2、輸出學(xué)生:創(chuàng)建節(jié)點(diǎn)

6、s LinkList *p=L-next;輸入學(xué)生信息,計(jì)算總分與加權(quán)分for(m=1;mnext=s;r=s;尾插法插入鏈表輸出學(xué)生信息,p=p-nextcount=count+1;學(xué)生總數(shù)加13、插入學(xué)生4、刪除學(xué)生輸入要插入的位置 數(shù)字選擇刪除方式scanf(%d,&w); 按編號(hào)刪除和學(xué)號(hào)刪除調(diào)用插入函數(shù) 1編號(hào) 調(diào)用Delete_StudentInsert_Student(h,w); 2學(xué)號(hào) 調(diào)用Locate_Student找到 學(xué)生位置,在用Delete_Student的流程圖如下:Insert_Student 函數(shù) Delete_Student的函數(shù)流程圖:Locate_Stud

7、ent函數(shù)的流程圖與如下:Locate_Student1的流程圖類似,不再重復(fù)了5查找學(xué)生:調(diào)用Seek_Student函數(shù),分為按學(xué)號(hào)查找和按查找1按編號(hào) 調(diào)用Locate_Student函數(shù)返回i在調(diào)用Out_one_Student輸出第i個(gè)學(xué)生2 按調(diào)用Locate_Student1函數(shù)返回i在調(diào)用Out_one_Student輸出第i個(gè)學(xué)生6排序函數(shù) 調(diào)用Queue_Student函數(shù):其中有按學(xué)號(hào),總分,各科成績(jī)排序我這里采用的是冒泡排序法進(jìn)展排序,分別定義了兩個(gè)節(jié)點(diǎn)指針q指向頭指針p指向q的下一個(gè)節(jié)點(diǎn),在進(jìn)入雙重循環(huán)進(jìn)展比擬排序 流程圖如下:排序的方法都類似,知識(shí)比擬數(shù)據(jù)不同,所以

8、就沒(méi)有一一畫出來(lái)了7 篩選創(chuàng)建另一個(gè)鏈表r用于存篩選出來(lái)的學(xué)生,并調(diào)用output_Student函數(shù)輸出篩選程序流程圖如下:篩選程序又分為1 按總分選 2 全部與格的人 3 按各科成績(jī)1 而總分篩選主要是輸入一個(gè)數(shù)值,判斷數(shù)據(jù)是否大于輸入數(shù)據(jù),大于的都輸出2 去不幾個(gè)的人通過(guò)比擬每一科成績(jī)是否都大于60分,大于的就選出插入新鏈表并輸出3 各科成績(jī)的話是只比擬其中一科來(lái)創(chuàng)建鏈表并輸出其比擬流程圖都如上圖所示,這里便不再一一畫出來(lái)了。四、調(diào)試分析(1)調(diào)試過(guò)程中遇到的問(wèn)題是如何解決的以與對(duì)設(shè)計(jì)與實(shí)現(xiàn)的回顧討論和分析在調(diào)試過(guò)程中遇到的第一個(gè)問(wèn)題是輸出學(xué)生的問(wèn)題,因?yàn)檩敵龅膯?wèn)題,其中總是發(fā)現(xiàn)輸出亂碼

9、,找了好久,后來(lái)終于發(fā)現(xiàn)是輸入時(shí)出了問(wèn)題,因?yàn)槲叶x了字符串型,而字符串長(zhǎng)度我定義了20,在創(chuàng)建節(jié)點(diǎn)的時(shí)候我卻把name20給了學(xué)生節(jié)點(diǎn),導(dǎo)致輸出時(shí)地址錯(cuò)誤而輸出亂碼。第二個(gè)問(wèn)題是查找,我開(kāi)始一直想不到怎么把查找到的學(xué)生輸出,后來(lái)想了很久,找到了方法,我先通過(guò)查找關(guān)鍵字去找到該學(xué)生是在鏈表的那個(gè)位置,在通過(guò)返回的位置的值來(lái)輸出想要輸出的那個(gè)學(xué)生,所以就定義了Locate_Student和Out_one_Student來(lái)完成查找功能。第三個(gè)問(wèn)題是篩選功能的實(shí)現(xiàn),我本來(lái)想通過(guò)比擬,將符合關(guān)鍵字的學(xué)生篩選出來(lái)在輸出,結(jié)果發(fā)現(xiàn)輸出函數(shù)是已經(jīng)定義成一次性全部輸出的形式。導(dǎo)致我一直想不到好的方法來(lái)進(jìn)展這個(gè)

10、功能的代碼編寫。后來(lái)經(jīng)過(guò)教師的指導(dǎo),我知道了一種新的方法來(lái)編寫,就是通過(guò)創(chuàng)建一個(gè)新的學(xué)生鏈表來(lái)存已經(jīng)篩選出來(lái)的學(xué)生。然后在通過(guò)輸出函數(shù)來(lái)將新鏈表進(jìn)展輸出,這樣就可以達(dá)到篩選的目的。改良方法:現(xiàn)在想了一下,其實(shí)可以將輸出函數(shù)進(jìn)展改良,改成一個(gè)一個(gè)學(xué)生輸出的形式,在通過(guò)一個(gè)判斷語(yǔ)句進(jìn)展選擇性輸出,用這個(gè)輸出的方法可以減少代碼的的量,而達(dá)到同樣的效果。第四個(gè)問(wèn)題是主函數(shù)的問(wèn)題,因?yàn)槲蚁胱屩骱瘮?shù)看起來(lái)簡(jiǎn)潔一點(diǎn),就把主函數(shù)分成兩局部,一局部用于選擇操作,另一局部用于進(jìn)展選擇好的操作,可是這樣一來(lái)卻出現(xiàn)了問(wèn)題,就是輸出數(shù)據(jù)之后無(wú)法暫停在輸出界面,而是閃了一下就退出來(lái)進(jìn)入主界面了,這個(gè)問(wèn)題我開(kāi)始以為是輸出函

11、數(shù)的問(wèn)題,結(jié)果我去改了輸出函數(shù),結(jié)果還是無(wú)法停留。后來(lái)知道原因了,主函數(shù)退出switch循環(huán)之后會(huì)立即回到主菜單界面,到時(shí)無(wú)法停在輸出界面。我在主函數(shù)最后加一個(gè)system“pause之后才打到可以觀察到的地方。改良方法:可以將主函數(shù)定義成一個(gè),不用分開(kāi),去掉for;這個(gè)循環(huán)會(huì)好點(diǎn)。(2)經(jīng)驗(yàn)和體會(huì)本次課程設(shè)計(jì)的題目我一開(kāi)始看到的時(shí)候以為很容易就能做出來(lái),所以只是大概想了一下思路,就直接開(kāi)始了,其實(shí)這個(gè)實(shí)驗(yàn)可以用順序表做會(huì)思路更清晰一些,我沒(méi)有選擇順序表來(lái)做,因?yàn)槲以趩捂湵磉@一局部有點(diǎn)模糊,所以想挑戰(zhàn)一下用單鏈表來(lái)做。這個(gè)程序的每一個(gè)代碼都是我經(jīng)過(guò)一步一步分析寫出來(lái)的,在編寫的過(guò)程中遇到了很多

12、的阻礙,很多自己無(wú)法預(yù)知的錯(cuò)誤,在不斷的找錯(cuò)過(guò)程中,我感覺(jué)到自己在c語(yǔ)言這一方面的不足,對(duì)算法的精髓還不是很了解, 對(duì)于單鏈表的操作也不是很熟練,尤其是在節(jié)點(diǎn)指針多起來(lái)的時(shí)候會(huì)有點(diǎn)亂,甚至搞不清指針到底指向哪里了。然而,在編程過(guò)程中,一次次的測(cè)試失敗,再一次次修改正確卻讓我慢慢的熟悉了數(shù)據(jù)結(jié)構(gòu)一些用法,漸漸的知道要編寫一個(gè)系統(tǒng),需要各種功能協(xié)調(diào)才能算一個(gè)系統(tǒng),而每一個(gè)功能有需要很多函數(shù)之間的相互聯(lián)系來(lái)調(diào)用與支撐。同時(shí)要想將課程設(shè)計(jì)完成的好,就需要積極提問(wèn),遇到不懂的地方可以找教師或同學(xué)相互交流經(jīng)驗(yàn),這樣才會(huì)更加有效率的完成課設(shè)。經(jīng)過(guò)這一段時(shí)間的課設(shè),我學(xué)到的不僅僅是數(shù)據(jù)結(jié)構(gòu)的想關(guān)知識(shí),也懂得了

13、團(tuán)隊(duì)協(xié)作的重要性,知道學(xué)習(xí)需要真正扎實(shí)去學(xué)習(xí),這樣才能真正學(xué)到知識(shí),并靈活運(yùn)用這些所學(xué)知識(shí)。五、用戶使用說(shuō)明1、添加學(xué)生功能:進(jìn)入系統(tǒng)后先選擇1回車即可進(jìn)入輸入界面,然后按照提示輸入學(xué)生學(xué)號(hào)、和數(shù)據(jù)結(jié)構(gòu)、數(shù)字信號(hào)處理、數(shù)字電子技術(shù)根底的分?jǐn)?shù)在按回車,如果還想再繼續(xù)添加就按1繼續(xù),否如此可以按任何鍵退出。2、輸出學(xué)生:用戶在輸入完學(xué)生數(shù)據(jù)后既可以按2輸出所輸入的全部學(xué)生3、插入學(xué)生:用戶需在主界面按3即可以進(jìn)入插入界面,此時(shí)可以按數(shù)字鍵在選擇要插入的位置,如輸入1即可以將要插入的學(xué)生插入到第一個(gè)位置,可以在主界面輸入2進(jìn)展查看是否插入到指定位置。4、刪除學(xué)生:用戶可以在主界面輸入4進(jìn)入刪除,在通

14、過(guò)選擇編號(hào)來(lái)刪除要?jiǎng)h除的學(xué)生。5、查找:查找查找功能有按學(xué)號(hào)和查找,如按一進(jìn)入學(xué)號(hào)查找,可以輸入要查找的學(xué)號(hào),回車即可以輸出要查找的學(xué)生。6、排序:排序可以通過(guò)學(xué)號(hào),總分,和各科成績(jī),輸入1可以按學(xué)號(hào)從小到大排序,輸入2可以按總分從小到大進(jìn)展排序,輸入3可以進(jìn)入科目選擇,再按1進(jìn)展數(shù)據(jù)結(jié)構(gòu)排序,2進(jìn)展數(shù)字型號(hào)處理排序,3進(jìn)展數(shù)電的排序。7、篩選:可以按1進(jìn)入總分篩選,進(jìn)入之后輸入篩選多少分以上的人,輸入分?jǐn)?shù),如:200,即可輸出所有大于200分的學(xué)生;在篩選界面輸入2可以輸出全部與格的學(xué)生;按3可以進(jìn)入各科成績(jī)的篩選,再按1選出所有數(shù)據(jù)結(jié)構(gòu)與格的學(xué)生、再按2選出所有數(shù)字信號(hào)處理與格的學(xué)生、再按

15、3選出所有數(shù)字電子技術(shù)根底與格的學(xué)生。8、退出:退出程序只需要在主界面按0再回車即可以退出程序。六、測(cè)試結(jié)果1、添加學(xué)生:2、輸出學(xué)生:3、插入學(xué)生:4、刪除學(xué)生:5、查找學(xué)生:6、排序7、篩選0、退出程序:七、附錄#include #include #include #include int count =0; /記錄學(xué)生人數(shù)typedef struct Studentchar mun12; /學(xué)號(hào)char name20; /float score8; /成績(jī)float all_score; /總分float ave_score; /加權(quán)平均分struct Student *next;Lin

16、kList;void InitList (LinkList *&L) /初始化鏈表L=(LinkList *)malloc(sizeof(LinkList);L-next=NULL;void Creat_Student (LinkList *&L) /輸入學(xué)生并添加到鏈表里面LinkList *r=L,*s;int i=0,j=1;float all=0,ave,a8;while(j=1)while(r-next!=NULL)r=r-next;s=(LinkList *)malloc(sizeof(LinkList);s-next=NULL;printf(輸入學(xué)生學(xué)號(hào)、每科成績(jī)n);print

17、f(學(xué)號(hào):);scanf(%s,&s-mun);printf(:);scanf(%s,&s-name);/*數(shù)據(jù)結(jié)構(gòu)3.0、數(shù)字信號(hào)處理4.0、數(shù)字電子技術(shù)根底2.5 這里只輸入三門成績(jī)作為示*/for(i=0;iscorei=ai;if(i=1)printf(輸入數(shù)字信號(hào)處理分?jǐn)?shù)n);scanf(%f,&ai);s-scorei=ai;if(i=2)printf(輸入數(shù)字電子技術(shù)根底分?jǐn)?shù)n);scanf(%f,&ai);s-scorei=ai;all=a0+a1+a2;s-all_score=all;ave=(a0*3.0+a1*4.0+a2*2.5)/9.5;s-ave_score=ave

18、;r-next=s;r=s;count=count+1;printf(是否繼續(xù)?按1繼續(xù),其他退出。);scanf(%d,&j);void output_Student (LinkList *&L,int n) /輸出全部學(xué)生LinkList *p=L-next;if(p=NULL)printf(沒(méi)有學(xué)生成績(jī)!請(qǐng)?zhí)砑訉W(xué)生。n);return;printf(tt 學(xué)生成績(jī)表 n);printf(編號(hào) 學(xué)號(hào) 數(shù)據(jù)結(jié)構(gòu) 數(shù)字信號(hào) 數(shù)字電路 總分 加權(quán)平均分n);int m;for(m=1;mmun,p-name,p-score0,p-score1,p-score2,p-all_score,p-ave

19、_score);p=p-next;void Delete_Student(LinkList *&L,int i) /刪除第i個(gè)學(xué)生int j=0;LinkList *p=L,*q;if (i=0)printf(沒(méi)有找到該學(xué)生);return;while(jnext;if(p=NULL)printf(沒(méi)有找到該學(xué)生);return ;elseq=p-next;if(q=NULL)return ;p-next=q-next;free(q);count=count-1;printf(刪除成功!n);return;int Locate_Student(LinkList *L,char* mun) /按

20、學(xué)號(hào)定位,返回第i個(gè)學(xué)生int i=1;LinkList *p=L-next;while(p!=NULL&strcmp(p-mun,mun)!=0)i+;p=p-next;if(p=NULL)return (0);else return (i);int Locate_Student1(LinkList *L,char* name) /按定位,返回第i個(gè)學(xué)生int i=1;LinkList *p=L-next;while(p!=NULL&strcmp(p-name,name)!=0)i+;p=p-next;if(p=NULL)return (0);else return (i);void Que

21、ue_Subject(LinkList *&L) /不同科目排序int i;LinkList *q,*p,*t1,*t2;printf(請(qǐng)輸入科目的代號(hào):1 數(shù)據(jù)結(jié)構(gòu) 2 數(shù)字信號(hào)處理 3 數(shù)電n請(qǐng)輸入:);scanf(%d,&i);if(i=1|inext!=NULL;q=q-next)for(p=q-next;p-next!=NULL;p=p-next)if(q-next-scorei-1p-next-scorei-1)if(q-next=p)t1=p-next;p-next=p-next-next;t1-next=q-next;q-next=t1;p=t1;elset1=p-next;t

22、2=q-next;p-next=p-next-next;q-next=q-next-next;t1-next=q-next;q-next=t1;t2-next=p-next;p-next=t2;elseprintf(沒(méi)有找到該科目!n);return;void Queue_Student(LinkList *&L) /排序函數(shù)int i,j=1;printf(1、按照學(xué)號(hào) 2、總分3、按各科分排序n請(qǐng)輸入:);scanf(%d,&i);LinkList *q,*p,*t1,*t2;switch(i) case 1: /學(xué)號(hào)排序for(q=L;q-next!=NULL;q=q-next)for(

23、p=q-next;p-next!=NULL;p=p-next)if(strcmp(q-next-mun,p-next-mun)=1)if(q-next=p)t1=p-next;p-next=p-next-next;t1-next=q-next;q-next=t1;p=t1;elset1=p-next;t2=q-next;p-next=p-next-next;q-next=q-next-next;t1-next=q-next;q-next=t1;t2-next=p-next;p-next=t2;break;case 2: /總分排序for(q=L;q-next!=NULL;q=q-next)fo

24、r(p=q-next;p-next!=NULL;p=p-next)if(q-next-all_scorep-next-all_score)if(q-next=p)t1=p-next;p-next=p-next-next;t1-next=q-next;q-next=t1;p=t1;elset1=p-next;t2=q-next;p-next=p-next-next;q-next=q-next-next;t1-next=q-next;q-next=t1;t2-next=p-next;p-next=t2;break;case 3:Queue_Subject(L); /科目排序break;void O

25、ut_one_Student(LinkList *L,int i) /輸出第i個(gè)學(xué)生int j=0;LinkList *p=L;while(jnext;printf(%-9s%-9s%-10.1f%-10.1f%-10.1f%-8.1f %-10.1fn,p-mun,p-name,p-score0,p-score1,p-score2,p-all_score,p-ave_score);int Seek_Student(LinkList *L) /查找學(xué)生 1 按學(xué)號(hào)查找 2 按查找int m;printf(1 按學(xué)號(hào)查找 2 按查找 3 退出n請(qǐng)輸入:);scanf(%d,&m);switch(

26、m)case 1:char a12;printf(輸入學(xué)號(hào):);scanf(%s,&a);return (Locate_Student(L,a); /返回學(xué)號(hào)查找到的值break;case 2:char b20;printf(輸入:);scanf(%s,&b);return(Locate_Student1(L,b);break;case 3:break;void Filter_Student(LinkList *&L) /篩選LinkList *s,*p=L-next,*r,*q;int y,count2=0;printf(1 按總分選 2 全部與格的人 3 按各科成績(jī) 4 退出n請(qǐng)輸入:);

27、scanf(%d,&y);switch(y)case 1:s=(LinkList *)malloc(sizeof(LinkList);q=s;int i;float all;printf(您要總分多少分以上的人,請(qǐng)輸入:);scanf(%f,&all);for (i=0;inext)if (p=NULL)printf(沒(méi)有);return;if(p-all_scoreall)r=(LinkList *)malloc(sizeof(LinkList);strcpy(r-mun,p-mun);strcpy(r-name,p-name); r-score1=p-score1;r-score2=p-s

28、core2;r-score0=p-score0;r-all_score=p-all_score;r-ave_score=p-ave_score;q-next=r;q=q-next;q-next=NULL;count2+;output_Student(s,count2);free(s);break;case 2:s=(LinkList *)malloc(sizeof(LinkList);q=s;int j;for (j=0;jnext)if (p=NULL)printf(沒(méi)有);return;if(p-score059&p-score159&p-score259)r=(LinkList *)ma

29、lloc(sizeof(LinkList);strcpy(r-mun,p-mun);strcpy(r-name,p-name); r-score1=p-score1;r-score2=p-score2;r-score0=p-score0;r-all_score=p-all_score;r-ave_score=p-ave_score;q-next=r;q=q-next;q-next=NULL;count2+;output_Student(s,count2);free(s);break;case 3:s=(LinkList *)malloc(sizeof(LinkList);q=s;int k,x

30、;printf(選擇 1 數(shù)據(jù)結(jié)構(gòu)與格的 2 數(shù)字信號(hào)處理與格的 3 數(shù)電與格的n);printf(請(qǐng)輸入:);scanf(%d,&x);for (k=0;knext)if (p=NULL)printf(沒(méi)有);return;if(p-scorex-159)r=(LinkList *)malloc(sizeof(LinkList);strcpy(r-mun,p-mun);strcpy(r-name,p-name); r-score1=p-score1;r-score2=p-score2;r-score0=p-score0;r-all_score=p-all_score;r-ave_score=

31、p-ave_score;q-next=r;q=q-next;q-next=NULL;count2+;output_Student(s,count2);free(s);break;case 4:break;bool Insert_Student(LinkList *&L,int i) /插入學(xué)生int j=0;LinkList *p=L,*s;if (i=0)printf(對(duì)不起,沒(méi)有該位置!n);return false;while(jnext;if(p=NULL)printf(對(duì)不起,沒(méi)有該位置!n);return false;elses=(LinkList *)malloc(sizeof(

32、LinkList);s-next=NULL;float all,ave,score;printf(輸入學(xué)生學(xué)號(hào)、每科成績(jī)n);printf(學(xué)號(hào):);scanf(%s,&s-mun);printf(:);scanf(%s,&s-name);for(i=0;iscorei=score;if(i=1)printf(輸入數(shù)字信號(hào)處理分?jǐn)?shù)n);scanf(%f,&score);s-scorei=score;if(i=2)printf(輸入數(shù)字電子技術(shù)根底分?jǐn)?shù)n);scanf(%f,&score);s-scorei=score;all=s-score1+s-score2+s-score0;s-all_s

33、core=all;ave=(s-score0*3.0+s-score1*4.0+s-score2*2.5)/9.5;s-ave_score=ave;s-next=p-next;p-next=s;count+;printf(插入成功n);return true;int menu_select() /*菜單項(xiàng)選擇擇程序*/ int c; do system(cls); printf(nt 歡迎使用學(xué)生成績(jī)管理系統(tǒng) n);printf(t 1. 添加學(xué)生 n); printf(t 2. 輸出學(xué)生 n); printf(t 3. 插入學(xué)生 n); printf(t 4. 刪除學(xué)生 n); printf

34、(t 5. 查找學(xué)生 n); printf(t 6. 排序 n);printf(t 7. 篩選 n); printf(t 0. 退出程序 n); printf(t *n); printf(t 請(qǐng)您選擇(0-7):); scanf(%d,&c); while(c7); return(c); void main() LinkList *h; InitList(h); /初始化for(;) switch(menu_select() case 1: /添加學(xué)生Creat_Student(h); /添加學(xué)生break; case 2: output_Student(h,count); /輸出全部學(xué)生br

35、eak;case 3: /插入int w;printf(輸入插入的位置,位置為大于或等于1的數(shù),如1、2.n);printf(請(qǐng)輸入:);scanf(%d,&w);Insert_Student(h,w);break; case 4: /刪除printf(選擇刪除方式:1 按編號(hào) 2 按學(xué)號(hào) 3 退出n);printf(請(qǐng)輸入:);int i;scanf(%d,&i);if(i=1)int j;printf(輸入編號(hào):);scanf(%d,&j);Delete_Student(h,j);break;if(i=2)int j;char s12;printf(輸入學(xué)號(hào):);scanf(%s,&s);

36、j=Locate_Student(h,s);Delete_Student(h,j);break;if(i=3)break;case 5:/查找int z;z=Seek_Student(h);if(z)printf(學(xué)號(hào) 數(shù)據(jù)結(jié)構(gòu) 數(shù)字信號(hào) 數(shù)字電路 總分 加權(quán)平均分n);Out_one_Student(h,z);break; case 6: /排序Queue_Student(h);output_Student(h,count);break; case 7: /篩選Filter_Student(h);break;case 0: printf(nt使用,再見(jiàn)!n); /*退出*/ printf(nt); system(pause); exit(0); system(pause); 課程設(shè)計(jì)評(píng)分表課程名稱:項(xiàng) 目評(píng) 價(jià)設(shè)計(jì)方案的合理性與創(chuàng)造性設(shè)計(jì)與調(diào)試結(jié)果設(shè)計(jì)說(shuō)明書的質(zhì)量辯論述與回答如下問(wèn)題情況課程設(shè)計(jì)周表現(xiàn)情況綜合成績(jī) 教師簽名: 日 期:47 / 47

展開(kāi)閱讀全文
溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!