




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、一、問題描述在學(xué)生成績(jī)管理中,經(jīng)常會(huì)遇到求平均成績(jī),統(tǒng)計(jì)不及格學(xué)生成績(jī),統(tǒng)計(jì)優(yōu)秀學(xué)生人數(shù),以及按成績(jī)對(duì)學(xué)生進(jìn)行排名等?,F(xiàn)假設(shè)有某個(gè)班級(jí)的若干名學(xué)生,每個(gè)學(xué)生都考試完成了4門課程,試對(duì)所有學(xué)生的成績(jī)完成以下工作:(1)求每門課程的平均成績(jī)。(2)輸出所有有不及格課程的學(xué)生的學(xué)號(hào)、姓名、全部課程的成績(jī)、平均成績(jī)。(3)輸出所有平均分在90分以上(含90分)的學(xué)生學(xué)號(hào)、姓名。(4)對(duì)4門課程中的任何一門,可隨意抽取1門按學(xué)生成績(jī)進(jìn)行排序。二、基本要求對(duì)學(xué)生信息的輸入完成后,實(shí)現(xiàn)如下功能:1、對(duì)學(xué)生信息的查找、插入、刪除、修改。2、分別輸出優(yōu)秀學(xué)生和不及格學(xué)生的信息。3、顯示每們課程的平均成績(jī)。4、任
2、意抽取一門課程后,可以按該課程學(xué)生成績(jī)對(duì)學(xué)生信息進(jìn)行排序。三、數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)為了對(duì)學(xué)生信息進(jìn)行統(tǒng)一操作,使用了結(jié)構(gòu)體這一數(shù)據(jù)結(jié)構(gòu),學(xué)生的各項(xiàng)數(shù)據(jù)信息都能用結(jié)構(gòu)體來表示,具體如下:struct stuint num;/*學(xué)號(hào),整型變量*/ char name50;/*姓名,長(zhǎng)度為50的字符串?dāng)?shù)組*/ char classes50/*班級(jí)名稱,長(zhǎng)度為50的字符串?dāng)?shù)組*/; double gsps_score;/*高等數(shù)學(xué)平時(shí)成績(jī),雙精度實(shí)型變量*/ double gsks_score;/*高等數(shù)學(xué)考試成績(jī),雙精度實(shí)型變量*/ double gszh_score;/*高等數(shù)學(xué)綜合成績(jī),雙精度實(shí)型變量
3、*/ double dlps_score;/*電路理論平時(shí)成績(jī),雙精度實(shí)型變量*/ double dlks_score;/*電路理論考試成績(jī),雙精度實(shí)型變量*/ double dlzh_score;/*電路理論綜合成績(jī),雙精度實(shí)型變量*/ double yyps_score;/*英語平時(shí)成績(jī),雙精度實(shí)型變量*/ double yyks_score;/*英語考試成績(jī),雙精度實(shí)型變量*/ double yyzh_score;/*英語綜合成績(jī),雙精度實(shí)型變量*/ double wlps_score;/*物理平時(shí)成績(jī),雙精度實(shí)型變量*/ double wlks_score;/*物理考試成績(jī),雙精度實(shí)型
4、變量*/ double wlzh_score;/*物理綜合成績(jī),雙精度實(shí)型變量*/double pj_score;/*平均成績(jī),雙精度實(shí)型變量*/student1000;/*最多存儲(chǔ)1000個(gè)學(xué)生數(shù)據(jù)*/該結(jié)構(gòu)體數(shù)據(jù)定義為全局變量。四、軟件模塊結(jié)構(gòu)圖每門課程的平均成績(jī)主菜單控制模塊學(xué)生信息錄入模塊學(xué)生信息查詢模塊學(xué)生信息修改模塊學(xué)生信息刪除模塊學(xué)生信息插入模塊學(xué)生信息輸出模塊按學(xué)號(hào)查詢學(xué)生信息按姓名查詢學(xué)生信息輸出優(yōu)秀學(xué)生相關(guān)信息輸出不及格學(xué)生信息課程成績(jī)統(tǒng)計(jì)模塊按單科成績(jī)排名次模塊功能描述:a.主菜單控制模塊:主菜單直接控制七個(gè)模塊(學(xué)生信息輸出模塊的兩個(gè)子模塊直接歸主菜單控制),在各模塊間
5、起到紐帶的作用。在主菜單,可以通過選擇進(jìn)入其他模塊,其他模塊運(yùn)行結(jié)束后也可回到主菜單繼續(xù)選擇。b.學(xué)生信息錄入模塊:循環(huán)輸入學(xué)生信息,建立臨時(shí)的學(xué)生信息數(shù)據(jù)庫(kù)。c.學(xué)生信息查詢模塊:可選擇按學(xué)號(hào)或者按姓名查詢學(xué)生信息,如學(xué)生信息不存在則給出提示。d.學(xué)生信息修改模塊:查找到要修改的學(xué)生信息后,可對(duì)該學(xué)生的信息進(jìn)行逐項(xiàng)修改。e.學(xué)生信息刪除模塊:查找到要?jiǎng)h除的學(xué)生信息后,可對(duì)其進(jìn)行刪除操作。f.學(xué)生信息插入模塊:在數(shù)據(jù)庫(kù)末尾插入學(xué)生信息,逐項(xiàng)輸入要插入的學(xué)生信息即可。g.學(xué)生信息輸出模塊:輸出優(yōu)秀學(xué)生信息模塊能夠輸出優(yōu)秀學(xué)生(平均成績(jī)大于等90分)的學(xué)號(hào)和姓名;輸出不及格學(xué)生信息模塊能夠輸出不及
6、格學(xué)生的相關(guān)信息。h.課程成績(jī)統(tǒng)計(jì)模塊:可以得到每門課程的平均成績(jī),還可以任意抽取一門課按單科成績(jī)排定學(xué)生名次。五、程序設(shè)計(jì)思想結(jié)構(gòu)化的程序設(shè)計(jì)主要靠設(shè)計(jì)和調(diào)用各模塊的函數(shù)來實(shí)現(xiàn)。本程序設(shè)計(jì)了多個(gè)函數(shù),每個(gè)函數(shù)自身能完成一個(gè)任務(wù),有的函數(shù)和別的函數(shù)結(jié)合能完成更大的任務(wù)。每一個(gè)模塊功能的實(shí)現(xiàn)其實(shí)就是對(duì)函數(shù)的調(diào)用,本說明首先介紹本程序所涉及的子函數(shù),再介紹主函數(shù),最后介紹程序整體的實(shí)現(xiàn)過程。1.void Inputfun() 此函數(shù)較特別,它只進(jìn)行輸入操作,但由于此函數(shù)所包含的語句較長(zhǎng)且需要被其他三個(gè)函數(shù)使用,為方便調(diào)用單寫了一個(gè)函數(shù)。此函數(shù)在源程序中放在最前,所以在此先作說明。此函數(shù)可細(xì)分為11
7、個(gè)小塊,用來輸入學(xué)生的基本數(shù)據(jù)。每小塊的結(jié)構(gòu)基本相同即for(;)基本語句 +一個(gè)continue語句+基本語句+一個(gè)break語句之所以用這個(gè)結(jié)構(gòu)為了使輸入的數(shù)據(jù)更加正規(guī)。比如在分?jǐn)?shù)的輸入中就限定了只能輸入0至100之間的數(shù)值,這也符合分?jǐn)?shù)錄入規(guī)則。需要特別注意的是,這個(gè)函數(shù)完成了本程序中要做的兩個(gè)計(jì)算。其一是在每門課的考試試成績(jī)輸入后完成了對(duì)這門課的綜合成績(jī)的加權(quán)計(jì)算(考試成績(jī)*0.7+平時(shí)成績(jī)*0.3);其二是在最后一門課程的綜合成績(jī)算出后,計(jì)算了該學(xué)生四門課的平均成績(jī)。2.void Getinformation() 此函數(shù)用來錄入學(xué)生信息。它調(diào)用了void Inputfun()函數(shù),其
8、實(shí)它的主體部分就是void Inputfun()函數(shù)。這函數(shù)還用了一個(gè)for循環(huán)以達(dá)到循環(huán)輸入的目的。3.int Searchbynum (int no)int Searchbyname (char na50) 這是兩個(gè)“兄弟函數(shù)”,是按學(xué)號(hào)查找和按姓名查詢模塊中的兩個(gè)重要函數(shù)。主要功能是根據(jù)用戶輸入的學(xué)號(hào)姓名返回改學(xué)生所在的的數(shù)組下標(biāo)。利用for循環(huán)嵌套一個(gè)if語句實(shí)現(xiàn),若找到學(xué)生該學(xué)生信息就返回?cái)?shù)組下標(biāo),若找不到就返回-1。4.void Seekinformation()void Printinformation(int x) 這兩個(gè)函數(shù)關(guān)系緊密,所以一起介紹。void Seekinfor
9、mation()函數(shù)利用for循環(huán)和if語句使查找中能夠使用學(xué)號(hào)和姓名兩種方式。如源程序所示,在用if語句確定了查找方式后先后調(diào)用了int Searchbynum (int no)int Searchbyname (char na50)和void Printinformation(int x)兩個(gè)函數(shù),根據(jù)int Searchbynum (int no)int Searchbyname (char na50)返回的數(shù)組下標(biāo),運(yùn)用void Printinformation(int x)輸出所查詢的內(nèi)容。所以int Searchbynum (int no)int Searchbyname (cha
10、r na50)void Seekinformation()void Printinformation(int x)這四個(gè)函數(shù)是查詢模塊的四個(gè)聯(lián)系緊密的重要函數(shù),在它們的共同作用下查詢模塊的功能得以實(shí)現(xiàn)。5.void Modifyinformation() 此函數(shù)用于修改學(xué)生信息?;驹砭褪怯幂斎氲男聰?shù)據(jù)覆蓋原來的老數(shù)據(jù),達(dá)到修改的目的。本函數(shù)還調(diào)用了查找模塊的函數(shù),使修改前能按學(xué)號(hào)或姓名找到要修改的學(xué)生信息。修改過程中調(diào)用了Inputfun()函數(shù)6.void Deleteinformation() 此函數(shù)用于刪除學(xué)生信息。同樣調(diào)用了查找模塊的函數(shù)。刪除模塊的關(guān)鍵語句是for (i=x;i9
11、99;i+) studenti=studenti+1;從要?jiǎng)h除的那一個(gè)數(shù)據(jù)開始,用后一個(gè)數(shù)據(jù)覆蓋它,一直循環(huán)到最后,相當(dāng)于把開始的第一個(gè)數(shù)據(jù)刪除了。7.void Insertinformaton() 此函數(shù)用于插入學(xué)生數(shù)據(jù)。由于沒有用鏈表,所以選擇插入在最后一個(gè)有效數(shù)據(jù)之后。本函數(shù)運(yùn)用if(studentj.num=0)這個(gè)語句找到了最后一個(gè)有效數(shù)據(jù)之后的數(shù)組下標(biāo)j,然后將數(shù)據(jù)輸入到studentj中,便完成的了插入。插入過程中,調(diào)用了Inputfun()函數(shù)。8.void Showthefail() 此函數(shù)用于顯示不及格學(xué)生的信息。能夠按要求輸出不及格學(xué)生的學(xué)號(hào)、姓名、各科成績(jī)以及平均成績(jī)。
12、首先用這條if語句搜索該學(xué)生是否有成績(jī)不及格,當(dāng)四門課中至少有一門不及格時(shí)會(huì)輸出該學(xué)生的相關(guān)信息。9.void Stu_p() 此函數(shù)用于輸出優(yōu)秀學(xué)生(平均成績(jī)大于90分)的信息,利用for循環(huán)和條件判斷句輸出找出相應(yīng)的學(xué)生輸出相關(guān)信息。10.void Chengjitongji()此函數(shù)用于按要求統(tǒng)計(jì)成績(jī)。有分別統(tǒng)計(jì)每門課的平均成績(jī)的功能;還能夠按每門課程的成績(jī)對(duì)學(xué)生進(jìn)行排序,使學(xué)生在該門課的表現(xiàn)一目了然。排序中用到了冒泡排序的方法。9. void main() 下面對(duì)主函數(shù)作簡(jiǎn)要說明。Switch語句是函數(shù)的主體:switch(c)/*利用switch語句集成各個(gè)功能函數(shù)*/case 1
13、: Getinformation();break;/*獲得學(xué)生信息*/case 2 : Seekinformation();break;/*查找學(xué)生信息*/case 3 : Modifyinformation();break;/*修改學(xué)生信息*/case 4 : Deleteinformation();break;/*刪除學(xué)生信息*/case 5 : Insertinformaton();break;/*插入學(xué)生信息*/case 6 : Stu_p();break;/*顯示優(yōu)秀學(xué)生信息*/case 7 : Showthefail();break;/*顯示不及格學(xué)生信息*/case 8 : Ch
14、engjitongji();break;/*課程成績(jī)的統(tǒng)計(jì)*/case 0 : exit(0);/*退出*/default: break;default: break;通過一個(gè)數(shù)值輸入函數(shù),使用戶在簡(jiǎn)單的數(shù)值輸入后就可輕松調(diào)用各模塊。還使用了for (;)使各模塊能夠循環(huán)調(diào)用。11.最后對(duì)程序的整體實(shí)現(xiàn)過程作個(gè)簡(jiǎn)要說明。源程序中多處運(yùn)用continue和break語句,同時(shí)配合scanf函數(shù)和if條件判斷語句,使用戶能夠根據(jù)提示通過簡(jiǎn)單的數(shù)值輸入來選擇下一步該做什么。中文界面,用戶很容易根據(jù)提示上手,簡(jiǎn)單易用。六、程序流程圖開始系統(tǒng)啟動(dòng)口令輸入a=? a=1? N 口令錯(cuò)誤,系統(tǒng)即將關(guān)閉! Y
15、進(jìn)入選擇菜單 N c=1? Y 錄入學(xué)生信息 c=2? N Y查找學(xué)生信息c=3? N Y修改學(xué)生信息 Nc=4? 刪除學(xué)生信息c=5? Y N c=6? N Y插入學(xué)生信息 c=7? Y 優(yōu)秀學(xué)生信息 N 不及格學(xué)生信息c=8? N Y Y N課程成績(jī)統(tǒng)計(jì) N結(jié)束以上為主函數(shù)流程圖,主函數(shù)下八個(gè)供選擇的模塊只是簡(jiǎn)單的用一個(gè)執(zhí)行框表示?,F(xiàn)分別畫出八個(gè)模塊的流程圖:1、 錄入學(xué)生成績(jī):開始輸入學(xué)生信息及成績(jī)是否繼續(xù)?繼續(xù)按1,結(jié)束按0 1 0結(jié)束開始2、查找學(xué)生信息:按學(xué)號(hào)查找請(qǐng)按1,按姓名查找請(qǐng)按2 2 1輸出相應(yīng)姓名所對(duì)應(yīng)的信息輸出相應(yīng)學(xué)號(hào)所對(duì)應(yīng)的信息是否繼續(xù)?繼續(xù)按1,結(jié)束按0 1 0結(jié)束
16、 03、修改學(xué)生信息:開始調(diào)用查找函數(shù)找到要修改的信息輸入修改后的信息是否繼續(xù)?繼續(xù)按1,結(jié)束按0 1 0結(jié)束4、刪除學(xué)生信息:開始調(diào)用查找函數(shù)找到要?jiǎng)h除的信息是否刪除?是按1,否按0 1 刪除成功 是否繼續(xù)?繼續(xù)按1,結(jié)束按0 1 結(jié)束 0開始5、插入學(xué)生信息:輸入要插入的信息是否繼續(xù)?繼續(xù)按1,結(jié)束按0 1 0 結(jié)束 6、優(yōu)秀學(xué)生信息:開始學(xué)生平均成績(jī)是否大于等于90? N Y輸出該生學(xué)號(hào)和姓名 Y 檢索完畢? N 結(jié)束 Y 7、 不及格學(xué)生信息:開始判斷該生是否有不及格科目 N Y 輸出該該生學(xué)信息 檢索完畢? N Y結(jié)束8、 成績(jī)統(tǒng)計(jì)模塊:開始每門課程平均成績(jī)請(qǐng)按1,單科成績(jī)排名請(qǐng)按2
17、 1 2 輸出每門課程平均成績(jī)選擇要排名的科目輸出該科成績(jī)排名結(jié)束八、源代碼#includestdafx.h#include#include#include#includevoid Inputfun();/*輸入學(xué)生信息模塊*/void Getinformation(); /*獲得學(xué)生信息*/int Searchbynum (int no); /*按學(xué)號(hào)查找*/int Searchbyname (char na50);/*按姓名查找*/void Printinformation(int x);/*輸出學(xué)生信息*/void Seekinformation();/*查詢學(xué)生信息*/void Mod
18、ifyinformation(); /*修改學(xué)生信息*/void Deleteinformation(); /*刪除學(xué)生信息*/void Insertinformaton(); /*插入學(xué)生信息*/void paixugs(); /*排序1*/void paixudl(); /*排序2*/void paixuyy(); /*排序3*/void paixuwl();/*排序4*/void Showthefail();/*顯示不及格學(xué)生的情況*/void Stu_p();/*優(yōu)秀學(xué)生(平均分大于等于90分)信息*/void Chengjitongji();/*按要求統(tǒng)計(jì)成績(jī)*/.cpp#inclu
19、destdafx.h#includea.h#include#include#include#includestruct stu/*定義結(jié)構(gòu)體*/int num; char name50; /*定義學(xué)生姓名*/ char classes50; /*定義學(xué)生班級(jí)*/ double gsps_score;/*定義學(xué)生班級(jí)*/ double gsks_score;/*定義學(xué)生班級(jí)*/ double gszh_score;/*定義學(xué)生班級(jí)*/ double dlps_score;/*定義學(xué)生班級(jí)*/ double dlks_score;/*定義學(xué)生班級(jí)*/ double dlzh_score;/*定義學(xué)
20、生班級(jí)*/ double yyps_score;/*定義學(xué)生班級(jí)*/ double yyks_score;/*定義學(xué)生班級(jí)*/ double yyzh_score;/*定義學(xué)生班級(jí)*/ double wlps_score;/*定義學(xué)生班級(jí)*/ double wlks_score;/*定義學(xué)生班級(jí)*/ double wlzh_score;/*定義學(xué)生班級(jí)*/ double pj_score;/*定義學(xué)生班級(jí)*/student1000;int a,b,c,d,x,i,j,k,s,y,flag;char s150,c1;double f,t,gp,dp,yp,wp;/*錄入、修改、插入學(xué)生信息三個(gè)模
21、塊調(diào)用了輸入模塊*/void Inputfun()/*輸入學(xué)生信息模塊*/for(; ;)/*設(shè)計(jì)死循環(huán)以至于在輸入格式錯(cuò)誤時(shí)可以再次輸入*/ printf(請(qǐng)輸入班級(jí)名稱:t); /*輸入班級(jí)名稱*/ scanf(%s,&s1); if(strlen(s1)20) printf(您輸入的班級(jí)名稱過長(zhǎng)!n); continue; strcpy(studenti.classes,s1); break; /*格式正確后跳出死循環(huán)*/ for(; ;) printf(請(qǐng)輸入學(xué)號(hào):t);/*輸入學(xué)號(hào)*/ scanf(%d,&b); if(studenti.num20) printf(您輸入的姓名過長(zhǎng)!
22、n); continue; strcpy(,s1); break; for(; ;) printf(請(qǐng)輸入該生高等數(shù)學(xué)平時(shí)成績(jī):t);/*輸入各科平時(shí)成績(jī)和考試成績(jī)*/ scanf(%lf,&f); if(f100|f100|f100|f100|f100|f100|f100|f100|f0) printf(成績(jī)不合理!請(qǐng)您輸入合理的成績(jī).n); continue; studenti.wlks_score=f; studenti.wlzh_score=studenti.wlks_score*0.7+studenti.wlps_score*0.3; studenti.pj
23、_score=(studenti.yyzh_score+studenti.dlzh_score+studenti.gszh_score+studenti.wlzh_score)/4;/*計(jì)算每個(gè)學(xué)生的平均成績(jī)*/ break; /*錄入學(xué)生信息模塊*/void Getinformation() /*獲得學(xué)生信息*/ for (i=0;i1000;i+)/*利用循環(huán)連續(xù)輸入學(xué)生信息*/ if(i=0) system(cls); printf(請(qǐng)根據(jù)提示輸入學(xué)生的信息nn); else printf(請(qǐng)輸入下一個(gè)學(xué)生的信息nn); Inputfun();printf(繼續(xù)請(qǐng)按1,返回主菜單請(qǐng)按0.
24、n); scanf(%d,&a); if(a=0) break;/*查詢模塊:包含四個(gè)函數(shù),函數(shù)間有聯(lián)系*/ int Searchbynum (int no) /*按學(xué)號(hào)查找*/for (j=0;j1000;j+) if (studentj.num=no) return j; return -1;int Searchbyname (char na50)/*按姓名查找*/for (k=0;k1000;k+) if (strcmp(,na)=0) return k; return -1; void Printinformation(int x)/*輸出學(xué)生信息*/ if
25、(x=-1)printf(該學(xué)生信息不存在!n);elseprintf(班級(jí):%sn,studentx.classes); printf(學(xué)號(hào):%dn,studentx.num);printf(姓名:%snn,);printf(高數(shù)平時(shí)成績(jī):%5.2fn,studentx.gsps_score);printf(高數(shù)考試成績(jī):%5.2fn,studentx.gsks_score);printf(高數(shù)綜合成績(jī):%5.2fnn,studentx.gszh_score);printf(電路平時(shí)成績(jī):%5.2fn,studentx.dlps_score);printf(電路考試
26、成績(jī):%5.2fn,studentx.dlks_score);printf(電路綜合成績(jī):%5.2fnn,studentx.dlzh_score);printf(英語平時(shí)成績(jī):%5.2fn,studentx.yyps_score);printf(英語考試成績(jī):%5.2fn,studentx.yyks_score);printf(英語綜合成績(jī):%5.2fnn,studentx.yyzh_score);printf(物理平時(shí)成績(jī):%5.2fn,studentx.wlps_score);printf(物理考試成績(jī):%5.2fn,studentx.wlks_score);printf(物理綜合成績(jī):%
27、5.2fnn,studentx.wlzh_score);printf(平均成績(jī):%5.2fn,studentx.pj_score); void Seekinformation()/*查詢學(xué)生信息*/for(; ;)system(cls);printf(按學(xué)號(hào)查找請(qǐng)按1,按姓名查找請(qǐng)按2n);/*提供兩種查找方式*/scanf(%d,&a);if(a=1)system(cls);printf(請(qǐng)輸入要查找的學(xué)生的學(xué)號(hào)n);scanf(%d,&d);x=Searchbynum (d);/*調(diào)用按學(xué)號(hào)查找函數(shù)*/Printinformation(x);else if (a=2)system(cls)
28、;printf(請(qǐng)輸入要查找的學(xué)生的姓名n);scanf(%s,&s1);x=Searchbyname (s1);/*調(diào)用按姓名查找函數(shù)*/Printinformation(x);printf(繼續(xù)請(qǐng)按1,返回主菜單請(qǐng)按0.n); scanf(%d,&a); if(a=0) break;/*學(xué)生信息刪改:包含三個(gè)相互獨(dú)立的函數(shù)*/void Modifyinformation() /*修改學(xué)生信息*/for(; ;) system(cls);printf(請(qǐng)先查找要修改的學(xué)生信息!nn);printf(按學(xué)號(hào)查找請(qǐng)按1,按姓名查找請(qǐng)按2n);/*先查找后修改*/scanf(%d,&a);if(a
29、=1)system(cls);printf(請(qǐng)輸入要查找的學(xué)生的學(xué)號(hào)n);scanf(%d,&d);x=Searchbynum (d);else if (a=2)system(cls);printf(請(qǐng)輸入要查找的學(xué)生的姓名n);scanf(%s,&s1);x=Searchbyname (s1);if (x=-1) printf(學(xué)生信息不存在!n); else printf(您要修改的學(xué)生信息為:n); Printinformation(x);printf(請(qǐng)您輸入新值n); i=x;Inputfun();printf(繼續(xù)請(qǐng)按1,返回主菜單請(qǐng)按0.n); scanf(%d,&a); if(
30、a=0) break;void Deleteinformation() /*刪除學(xué)生信息*/for (;)system(cls);printf(請(qǐng)先查找要?jiǎng)h除的學(xué)生信息!nn);printf(按學(xué)號(hào)查找請(qǐng)按1,按姓名查找請(qǐng)按2n);scanf(%d,&a);if(a=1)system(cls);printf(請(qǐng)輸入要查找的學(xué)生的學(xué)號(hào)n);scanf(%d,&d);x=Searchbynum (d);else if (a=2)system(cls);printf(請(qǐng)輸入要查找的學(xué)生的姓名n);scanf(%s,&s1);x=Searchbyname (s1);if (x=-1) printf(學(xué)
31、生信息不存在!n); else printf(您要?jiǎng)h除的學(xué)生信息為:n); Printinformation(x);printf(是否真的要?jiǎng)h除該生信息?是請(qǐng)按1,否請(qǐng)按0.n);scanf(%d,&a);if (a=1) for (i=x;i999;i+) studenti=studenti+1;/*該數(shù)組后的數(shù)組向前移動(dòng)以覆蓋的方式刪除該數(shù)組*/printf(刪除成功!n); printf(繼續(xù)請(qǐng)按1,返回主菜單請(qǐng)按0.n); scanf(%d,&a); if(a=0) break;void Insertinformaton() /*插入學(xué)生信息*/system(cls);for(j=0;
32、j1000;j+)if(studentj.num=0)x=j;break;for(i=x;i1000;i+)system(cls);printf(請(qǐng)輸入要插入的學(xué)生信息nn);Inputfun();/*利用信息錄入函數(shù)把學(xué)生信息插在末尾*/printf(繼續(xù)請(qǐng)按1,返回主菜單請(qǐng)按0.n); scanf(%d,&a); if(a=0) break;/*各科成績(jī)排序的四個(gè)程序*/void paixugs() /*排序1*/struct stu temp;for (j=1;j1000;j+) for (k=0;k999;k+) if (studentk.gszh_scorestudentk+1.gs
33、zh_score)/*利用冒泡排序的方法完成排序*/ temp=studentk; studentk=studentk+1; studentk+1=temp; system(cls); printf(學(xué)生成績(jī)排序表:nn); for (i=0;i1000;i+) if (studenti.num!=0) printf(學(xué)號(hào):%dt,studenti.num); printf(姓名:%st,); printf(第%d名:%5.2fn,(i+1),studenti.gszh_score); printf(返回主菜單請(qǐng)按0n); scanf(%d,&a);void paix
34、udl() /*排序2*/struct stu temp;for (j=1;j1000;j+) for (k=0;k999;k+) if (studentk.dlzh_scorestudentk+1.dlzh_score) temp=studentk; studentk=studentk+1; studentk+1=temp; system(cls); printf(學(xué)生成績(jī)排序表:nn); for (i=0;i1000;i+) if (studenti.num!=0) printf(學(xué)號(hào):%dt,studenti.num); printf(姓名:%st,); pri
35、ntf(第%d名:%5.2fn,(i+1),studenti.dlzh_score); printf(返回主菜單請(qǐng)按0n); scanf(%d,&a);void paixuyy() /*排序3*/struct stu temp;for (j=1;j1000;j+) for (k=0;k999;k+) if (studentk.yyzh_scorestudentk+1.yyzh_score) temp=studentk; studentk=studentk+1; studentk+1=temp; system(cls); printf(學(xué)生成績(jī)排序表:nn); for (i=0;i1000;i+
36、) if (studenti.num!=0) printf(學(xué)號(hào):%dt,studenti.num); printf(姓名:%st,); printf(第%d名:%5.2fn,(i+1),studenti.yyzh_score); printf(返回主菜單請(qǐng)按0n); scanf(%d,&a);void paixuwl() /*排序4*/struct stu temp;for (j=1;j1000;j+) for (k=0;k999;k+) if (studentk.wlzh_scorestudentk+1.wlzh_score) temp=studentk; studentk=studentk+1; studentk+1=temp; system(cls); printf(學(xué)生成績(jī)排序表:nn); for (i=0;i1000;i+) if (studenti.num!=0) printf(學(xué)號(hào):%dt,studenti.num); printf(姓名:%st,); printf(第%d名:%5.2fn,(i+1),studenti.wlzh_score); printf(返回主菜單請(qǐng)按0n); scanf(%d,&a);void Showthefail()/*顯示不及格學(xué)生的情況*/ s
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年食品檢驗(yàn)工初級(jí)食品添加劑考試試卷含答案
- 二零二五年智慧家居項(xiàng)目變更合同樣本(智能家居)
- 2025年度專業(yè)SPA機(jī)構(gòu)加盟經(jīng)營(yíng)合同范本
- 2025年度不可撤銷專利權(quán)擔(dān)保書
- 二零二五年度農(nóng)業(yè)行業(yè)Excel合同管理臺(tái)賬模板
- 2025版高空蜘蛛人安全作業(yè)設(shè)備租賃合同
- 2025年RoHS環(huán)保產(chǎn)品售后服務(wù)合同
- 互聯(lián)網(wǎng)與健康監(jiān)測(cè)
- 德商國(guó)際花園度推盤及價(jià)格策略74p
- 公園設(shè)計(jì)中期答辯
- 網(wǎng)絡(luò)安全論文參考文獻(xiàn),參考文獻(xiàn)
- WH/T 78.6-2017演出安全第6部分:舞美裝置安全
- GB/T 9867-2008硫化橡膠或熱塑性橡膠耐磨性能的測(cè)定(旋轉(zhuǎn)輥筒式磨耗機(jī)法)
- 小學(xué)古詩(shī)詞教學(xué)策略課件
- 不良事件報(bào)告與防范
- 基業(yè)長(zhǎng)青中國(guó)家族企業(yè)的東方智慧與長(zhǎng)青之道
- 【吉爾吉斯和國(guó)經(jīng)商指南-法律篇】
- 部編版二年級(jí)下冊(cè)語文期末試卷
- Q∕SY 01006-2016 二氧化碳驅(qū)注氣井保持井筒完整性推薦作法
- 質(zhì)量風(fēng)險(xiǎn)管理監(jiān)理實(shí)施細(xì)則
- 嵌入式軟件助理工程師認(rèn)證考試試題題庫(kù)
評(píng)論
0/150
提交評(píng)論