




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、中國(guó)海洋大學(xué)青島學(xué)院c語(yǔ)言課程設(shè)計(jì)報(bào)告書(shū)題 目學(xué)生成績(jī)管理系統(tǒng)學(xué)生姓名指導(dǎo)教師學(xué) 院專(zhuān)業(yè)班級(jí)1 組內(nèi)分工姓名主要任務(wù)占系統(tǒng)比例系統(tǒng)主菜單 刪除學(xué)生信息 主函數(shù)30%錄入學(xué)生信息 修改學(xué)生信息24%查詢(xún) 排序24%排序 統(tǒng)計(jì)24%目 錄1 前言12 需求分析33 模塊設(shè)計(jì)圖34 ns流程圖清單45 存儲(chǔ)結(jié)構(gòu)及函數(shù)說(shuō)明56 課程設(shè)計(jì)結(jié)果67 實(shí)踐心得體會(huì)7iic語(yǔ)言課程設(shè)計(jì)報(bào)告1 前言1.1 課程設(shè)計(jì)目的學(xué)生成績(jī)管理是一個(gè)學(xué)校不可缺少的部分,它的內(nèi)容對(duì)于學(xué)校的管理者和學(xué)生以及學(xué)生家長(zhǎng)來(lái)說(shuō)都至關(guān)重要,所以一個(gè)良好的學(xué)生成績(jī)管理系統(tǒng)應(yīng)該能夠?yàn)橛脩?hù)提供充足的信息和快捷的查詢(xún)手段。學(xué)生成績(jī)管理系統(tǒng)對(duì)學(xué)校加
2、強(qiáng)學(xué)生成績(jī)管理有著極其重要的作用.由于各個(gè)大學(xué)都在持續(xù)擴(kuò)招,學(xué)生的數(shù)量日益龐大,對(duì)于如何管理如此龐大的學(xué)生成績(jī)數(shù)據(jù)顯得更為復(fù)雜,傳統(tǒng)的手工成績(jī)管理不僅工作量大,而且容易出現(xiàn)問(wèn)題,如:效率低、保密性差,另外時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來(lái)了不少的困難。已不能適應(yīng)時(shí)代的發(fā)展。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類(lèi)社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)學(xué)生成績(jī)信息進(jìn)行管理,具有手工管理所無(wú)法比擬的優(yōu)點(diǎn)。例:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠
3、極大地提高管理者管理的效率,也是學(xué)校走向科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。因此,開(kāi)發(fā)設(shè)計(jì)這樣一套學(xué)生成績(jī)管理軟件成為很有必要的事情。該學(xué)生成績(jī)管理系統(tǒng)采用c語(yǔ)言開(kāi)發(fā)研制,針對(duì)學(xué)生成績(jī)及其數(shù)據(jù)特點(diǎn),可以全面實(shí)現(xiàn)對(duì)學(xué)生成績(jī)的錄入、查詢(xún)、修改、刪除和統(tǒng)計(jì)等功能的計(jì)算機(jī)管理。它能使學(xué)生成績(jī)數(shù)據(jù)的工作人員從繁重的工作中解脫出來(lái),大大減輕了工作量,減少人為的工作失誤,全面提高學(xué)生成績(jī)管理的效率,從而使學(xué)校對(duì)于學(xué)生成績(jī)的管理水平和技術(shù)水平躍上一個(gè)新的臺(tái)階。1.2課程設(shè)計(jì)過(guò)程 分析程序的主要作用并寫(xiě)出需求分析; 確定組內(nèi)分工并給出全局變量及結(jié)構(gòu)體; 寫(xiě)代碼并畫(huà)出n-s圖; 組合并調(diào)試代碼,做出相應(yīng)的修
4、改; 完成文檔;為了方便數(shù)據(jù)的讀取與保存,我們采用外部文件來(lái)進(jìn)行數(shù)據(jù)保存能實(shí)現(xiàn)學(xué)生信息數(shù)據(jù)的維護(hù)。1.3課程設(shè)計(jì)目標(biāo) 建立學(xué)生成績(jī)信息管理系統(tǒng),采用計(jì)算機(jī)對(duì)學(xué)生成績(jī)信息進(jìn)行管理,進(jìn)一步提高學(xué)?,F(xiàn)代化水平。幫助廣大成績(jī)信息管理者提高工作效率、減少工作時(shí)間,實(shí)現(xiàn)學(xué)生及其家長(zhǎng)信息查詢(xún)工作流程的系統(tǒng)化、公平化、規(guī)范化和自動(dòng)化,也為廣大在教師提供便利快捷的成績(jī)錄入功能。為了保證系統(tǒng)能夠長(zhǎng)期、安全、穩(wěn)定、可靠、高效的運(yùn)行,本課題將達(dá)到以下幾個(gè)目的:(1)系統(tǒng)處理的準(zhǔn)確性系統(tǒng)處理的準(zhǔn)確性和及時(shí)性是系統(tǒng)的必要性能。在系統(tǒng)設(shè)計(jì)和開(kāi)發(fā)過(guò)程中,要充分考慮系統(tǒng)當(dāng)前和將來(lái)可能承受的工作量,使系統(tǒng)的處理能力和響應(yīng)時(shí)間能夠
5、滿(mǎn)足高校對(duì)信息處理的需求。(2)系統(tǒng)處理的及時(shí)性由于學(xué)生非常關(guān)心自己的信息正確與否以便及時(shí)接受來(lái)自學(xué)校的學(xué)習(xí)成績(jī)信息,學(xué)生成績(jī)信息管理功能對(duì)于整個(gè)系統(tǒng)的功能和性能完成舉足輕重。在系統(tǒng)開(kāi)發(fā)過(guò)程中,必須采用一定的方法保證系統(tǒng)的準(zhǔn)確性。(3)系統(tǒng)的保密性學(xué)生成績(jī)信息是屬于個(gè)人的隱私,所以系統(tǒng)在開(kāi)發(fā)時(shí),應(yīng)該充分考慮系統(tǒng)的保密性,以保證學(xué)生的隱私權(quán)。(4)系統(tǒng)的開(kāi)放性和可擴(kuò)充性學(xué)生成績(jī)信息管理系統(tǒng)在開(kāi)發(fā)過(guò)程中,應(yīng)該充分考慮以后的可擴(kuò)充性。例如學(xué)生成績(jī)信息管理的方式的改變,學(xué)生成績(jī)信息的需求也會(huì)不斷的更新和完善。2 需求分析一個(gè)學(xué)校需要管理學(xué)生的基本信息和各門(mén)功課的考試成績(jī),希望當(dāng)用到時(shí)直接從計(jì)算機(jī)中輸出
6、,從而減輕管理人員的負(fù)擔(dān),也使學(xué)生的信息能夠長(zhǎng)期保存,需要建立一個(gè)簡(jiǎn)單的學(xué)生成績(jī)管理系統(tǒng)來(lái)管理學(xué)生的成績(jī)和信息。學(xué)生信息管理系統(tǒng)作為一個(gè)應(yīng)用軟件為學(xué)校師生提供一個(gè)對(duì)學(xué)生信息進(jìn)行管理和查詢(xún)的平臺(tái)。用戶(hù)可根據(jù)系統(tǒng)界面的提示信息對(duì)學(xué)生的信息進(jìn)行錄入、刪除、修改、排序、查詢(xún)、統(tǒng)計(jì)等操作。系統(tǒng)功能需求描述如下: (1)系統(tǒng)主菜單:用戶(hù)進(jìn)入系統(tǒng)主菜單,可以按提示進(jìn)行選擇,從而完成不同的任務(wù),此功能在顯示子程序中實(shí)現(xiàn)。管理員界面用output1()函數(shù)實(shí)現(xiàn)、用戶(hù)界面用output2()函數(shù)實(shí)現(xiàn)。 (2)錄入學(xué)生信息及成績(jī):用戶(hù)根據(jù)提示信息輸入學(xué)生的學(xué)號(hào)、姓名、性別、班級(jí)、各科成績(jī)等信息,系統(tǒng)會(huì)以文件形式存儲(chǔ)
7、,以便進(jìn)行管理,可將學(xué)生信息整合成結(jié)構(gòu)體,用void input()函數(shù)實(shí)現(xiàn)。 (3)修改學(xué)生信息及成績(jī):用戶(hù)根據(jù)提示信息輸入學(xué)生的學(xué)號(hào),在學(xué)生文件中查找到該學(xué)生的信息并根據(jù)提示信息進(jìn)行成績(jī)的修改,用void correct()函數(shù)實(shí)現(xiàn)。 (4)刪除學(xué)生信息及成績(jī):用戶(hù)根據(jù)提示信息輸入學(xué)生的學(xué)號(hào),在學(xué)生文件中查找到該學(xué)生的全部信息并將該信息全部刪除,用 void delete()函數(shù)實(shí)現(xiàn)。 (5)查詢(xún)學(xué)生信息及成績(jī):用戶(hù)根據(jù)提示信息輸入學(xué)生的學(xué)號(hào)或姓名的方式進(jìn)行查詢(xún),在學(xué)生文件中查找到該信息并顯示出來(lái),用 void search_by_name()和void search_by_num()函數(shù)
8、實(shí)現(xiàn)。 (6)學(xué)生成績(jī)排序:對(duì)學(xué)生成績(jī)(總分)進(jìn)行從高到低排序,用冒泡排序法,用void arrange()函數(shù)實(shí)現(xiàn)。 (7)統(tǒng)計(jì)學(xué)生成績(jī):統(tǒng)計(jì)并顯示各科優(yōu)、良、中、及格、不及格的人數(shù),及及格率、最高分,用 void stat()函數(shù)實(shí)現(xiàn)。 (8)退出系統(tǒng):完成你所需完成的任務(wù)之后并退出到系統(tǒng)主菜單,用exit(0)函數(shù)實(shí)現(xiàn)。3 模塊設(shè)計(jì)圖前面的分析中已經(jīng)定義了系統(tǒng)各個(gè)模塊。在系統(tǒng)運(yùn)行時(shí)刻由系統(tǒng)的流程決定。當(dāng)管理員運(yùn)行該系統(tǒng)后可以來(lái)進(jìn)行學(xué)生成績(jī)信息錄入管理、學(xué)生成績(jī)信息查詢(xún)管理、學(xué)生成績(jī)信息刪除管理、學(xué)生成績(jī)信息修改管理、學(xué)生成績(jī)信息排序管理及學(xué)生成績(jī)信息統(tǒng)計(jì)管理操作;當(dāng)用戶(hù)運(yùn)行該系統(tǒng)后可以進(jìn)
9、行學(xué)生成績(jī)信息查詢(xún)操作,具體的流程如圖3.2所示。圖3.2系統(tǒng)流程圖4 ns流程圖清單錄入功能n-s流程圖system(cls) 定義變量 i=0,j,stumax,文件指針 *fp 打開(kāi)學(xué)生人數(shù)文件 if(fp=fopen(學(xué)生人數(shù).txt,a+)=null) 讀文件 fscanf(fp,%d,&num); 關(guān)閉文件 fclose(fp);是(fp=fopen(學(xué)生信息及成績(jī)表.txt,a+)=null) 否printf(open file erorr!n);exit(0); 輸入 j num=num+j; ij錄入并寫(xiě)入文件 關(guān)閉文件fclose(fp) 打開(kāi)學(xué)生人數(shù)文件 將學(xué)生人數(shù)寫(xiě)入到
10、文件 fprintf(fp,%d,&num); 關(guān)閉學(xué)生人數(shù)文件 fclose(fp); system(cls); input_choose();刪除功能n-s流程圖system(cls) 定義變量 i,j,index,m=0,no20,stumax,文件指針 *fp 打開(kāi)學(xué)生人數(shù)文件 if(fp=fopen(學(xué)生人數(shù).txt,a+)=null) 讀文件 fscanf(fp,%d,&num); 關(guān)閉文件 fclose(fp);是(fp=fopen(學(xué)生信息及成績(jī)表.txt,a+)=null) 否printf(open file erorr!n);exit(0); 輸入no inum讀取文件 關(guān)
11、閉文件fclose(fp) inum strcmp (stui.no是 ,no)=0 否 顯示學(xué)生信息此學(xué)生不存在j=i 定義文件指針fp2是(fp=fopen(學(xué)生信息及成績(jī)表.txt,a+)=null) 否printf(open,file erorr!n);exit(0);jnum刪除信息jnum-1寫(xiě)入文件fclose(fp)delect() 刪除成功 num=num-1; 打開(kāi)學(xué)生人數(shù)文件將學(xué)生人數(shù)寫(xiě)入到文件 fprintf(fp,%d,&num); 關(guān)閉學(xué)生人數(shù)文件 fclose(fp); delect_choose();修改功能流程圖 system(cls)定義變量int i,j;
12、 char ch,no20; file *fp; struct student stumax 打開(kāi)學(xué)生人數(shù)文件 if(fp=fopen(學(xué)生人數(shù).txt,a+)=null) 讀文件 fscanf(fp,%d,&num); 關(guān)閉文件 fclose(fp);是(fp=fopen(學(xué)生信息及成績(jī)表.txt,a+)=null) 否printf(open file erorr!n);exit(0); 輸入no inum讀取文件 關(guān)閉文件fclose(fp)inum strcmp(stui.no,no)=0是 否 顯示學(xué)生信息printf();此學(xué)生不存在j=i;correct() 輸入選擇 ch cas
13、e ch,ch=1,2,3,4,5case1:case2case3case 4:case 5:scanf(%lf,&x);stuj.liner_score=x;breakscanf(%lf,&x);stuj.english_score=x break;scanf(%lf,&x);stuj.listening_score=x;breakscanf(%lf,&x); stuj.max_score=x;break;scanf(%lf,&x); stuj.c_score=x; break;計(jì)算總分計(jì)算平均分 顯示學(xué)生信息printf(); (fp=fopen(學(xué)生表.txt,a+)=null)是 否i
14、numprintf(open file erorr!n);exit(0)寫(xiě)入文件 fclose(fp)correct_choose();system(cls);查詢(xún)功能n-s流程圖system(cls) 定義變量 int choice;輸入選擇choice case(choice),choice=0,1,2case 0:case 1:case 2:defultsearch_by_num()search_by_name();printf(“輸入無(wú)效選項(xiàng)”);exit(0);break;break;(1)case2: search_by_name();int i,m=0; char name20;
15、 struct student pmax; file *fp; 打開(kāi)學(xué)生人數(shù)文件 if(fp=fopen(學(xué)生人數(shù).txt,a+)=null) 讀文件 fscanf(fp,%d,&num); 關(guān)閉文件 fclose(fp); (fp=fopen(學(xué)生信息及成績(jī)表.txt,a+)=null)否 是輸入姓名nameprintf(file open error!n);inum讀取文件exit(0); strcmp(name,)=0是 否顯示查詢(xún)學(xué)生的信息printf()m+; m=0是 否 printf(沒(méi)有找到符合的信息。n);search_choose();system(cls);
16、 (2)case1:search_by_num()n-s流程圖int i,m=0;struct student pmax;file *fp;char no20; 打開(kāi)學(xué)生人數(shù)文件 if(fp=fopen(學(xué)生人數(shù).txt,a+)=null) 讀文件 fscanf(fp,%d,&num); 關(guān)閉文件 fclose(fp); (fp=fopen(學(xué)生信息及成績(jī)表.txt,a+)=null)否 是 輸入學(xué)號(hào)noprintf(file open error!n); inum讀取文件 strcmp(num,pi.num)=0是 否顯示查詢(xún)學(xué)生的信息printf();m+; m=0是 否printf(沒(méi)有
17、找到符合的信息。n); search_choose(); system(cls);統(tǒng)計(jì)功能n-s圖 int number; 輸入你的選擇 numbercase number,number=1,2,3,4,5 case 1case 2:case 3:case 4:case 5:liner_stat();break;english_stat();break;listening_stat();break;max_stat();break;c_stat();break; stat_choose(); system(cls);case 1:liner_stat(); n-s流程圖int i,f,j=0,
18、k=0,l=0,m=0,n=0,pass_no=0; double liner_rate,max_score,temp; file *fp; struct student stumax; 打開(kāi)學(xué)生人數(shù)文件 if(fp=fopen(學(xué)生人數(shù).txt,a+)=null) 讀文件 fscanf(fp,%d,&num); 關(guān)閉文件 fclose(fp);是(fp=fopen(學(xué)生信息及成績(jī)表.txt,r)=null 否printf(file open error!n); inum讀取文件exit(0); f=90.00 t f j+; stuf.liner_score=80.00&tstuf.line
19、r_ core=70.00&tstuf.liner_score=60.00&tstuf.liner_score70.00 f m+t stuf.liner_score60.00 f n+ liner_rate=(double)(j+k+l+m)/(j+k+l+m+n); pass_no=j+k+l+m; istui+1.liner_score tftemp=stui.liner_score;stui.liner_score=stui+1.liner_score; stui+1.liner_score=temp;max_score=stui+1.liner_score; 輸出學(xué)生線性代數(shù)統(tǒng)計(jì)的內(nèi)
20、容 fclose(fp) (fp1=fopen(學(xué)生成績(jī)表統(tǒng)表.txt,a+)=nullf t寫(xiě)入文件exit(0); fclose(fp1)case 3: listening_stat();n-s流程圖int i,f,j=0,k=0,l=0,m=0,n=0,pass_no=0; double listening_rate,max_score,temp; file *fp; struct student stumax; 打開(kāi)學(xué)生人數(shù)文件 if(fp=fopen(學(xué)生人數(shù).txt,a+)=null) 讀文件 fscanf(fp,%d,&num); 關(guān)閉文件 fclose(fp);是(fp=fop
21、en(學(xué)生信息及成績(jī)表.txt,r)=null 否printf(file open error!n); inum讀取文件exit(0); f=90.00 t f j+; stuf.listening_score=80.00&tstuf.listening_score=70.00&tstuf.llistening_score=60.00&tstuf.llistening_score70.00 f m+t stuf.listening_score60.00 f n+ listening_rate=(double)(j+k+l+m)/(j+k+l+m+n); pass_no=j+k+l+m; ist
22、ui+1.listening_score tftemp=stui.listening_score;stui.listening_score=stui+1.listening_score; stui+1.listening_score=temp;max_score=stui+1.listening_score;輸出聽(tīng)說(shuō)統(tǒng)計(jì)內(nèi)容 fclose(fp) (fp1=fopen(學(xué)生成績(jī)表統(tǒng)表.txt,a+)=nullf t寫(xiě)入文件exit(0); fclose(fp1)case 4: marx_stat();n-s流程圖int i,f,j=0,k=0,l=0,m=0,n=0,pass_no=0; do
23、uble marx_rate,max_score,temp; file *fp; struct student stumax; 打開(kāi)學(xué)生人數(shù)文件 if(fp=fopen(學(xué)生人數(shù).txt,a+)=null) 讀文件 fscanf(fp,%d,&num); 關(guān)閉文件 fclose(fp);是(fp=fopen(學(xué)生信息及成績(jī)表.txt,r)=null 否printf(file open error!n); inum讀取文件exit(0); f=90.00 t f j+; stuf.marx_score=80.00&tstuf.marx_score=70.00&tstuf.marx_score=6
24、0.00&tstuf.marx_score70.00 f m+t stuf.marx_score60.00 f n+ marx_rate=(double)(j+k+l+m)/(j+k+l+m+n); pass_no=j+k+l+m; istui+1.marx_score tftemp=stui.marx_score;stui.marx_score=stui+1.marx_score; stui+1.marx_score=temp;max_score=stui+1.marx_score; 輸出馬克思統(tǒng)計(jì)內(nèi)容 fclose(fp) (fp1=fopen(學(xué)生成績(jī)表統(tǒng)表.txt,a+)=nullf
25、t寫(xiě)入文件exit(0); fclose(fp1)case 5: c_stat();n-s流程圖int i,f,j=0,k=0,l=0,m=0,n=0,pass_no=0; double c_rate,max_score,temp; file *fp; struct student stumax; 打開(kāi)學(xué)生人數(shù)文件 if(fp=fopen(學(xué)生人數(shù).txt,a+)=null) 讀文件 fscanf(fp,%d,&num); 關(guān)閉文件 fclose(fp);是(fp=fopen(學(xué)生信息及成績(jī)表.txt,r)=null 否printf(file open error!n); inum讀取文件ex
26、it(0); f=90.00 t f j+; stuf.c_score=80.00&tstuf.c_score=70.00&tstuf.c_score=60.00&tstuf.c_score70.00 f m+t stuf.c_score60.00 f n+ c_rate=(double)(j+k+l+m)/(j+k+l+m+n); pass_no=j+k+l+m; istui+1.c_score tftemp=stui.c_score;stui.c_score=stui+1.c_score; stui+1.c_score=temp;max_score=stui+1.c_score; 輸出c語(yǔ)
27、言統(tǒng)計(jì)內(nèi)容 fclose(fp) (fp1=fopen(學(xué)生成績(jī)表統(tǒng)表.txt,a+)=nullf t寫(xiě)入文件exit(0); fclose(fp1)case 2: english _stat();n-s流程圖int i,f,j=0,k=0,l=0,m=0,n=0,pass_no=0; double english_rate,max_score,temp; file *fp; struct student stumax; 打開(kāi)學(xué)生人數(shù)文件 if(fp=fopen(學(xué)生人數(shù).txt,a+)=null) 讀文件 fscanf(fp,%d,&num); 關(guān)閉文件 fclose(fp);是(fp=fo
28、pen(學(xué)生信息及成績(jī)表.txt,r)=null 否printf(file open error!n); inum讀取文件exit(0); f=90.00 t f j+; stuf.english_score=80.00&tstuf.english_score=70.00&tstuf.lenglish_score=60.00&tstuf.lenglish_score70.00 f m+t stuf.english_score60.00 f n+ english_rate=(double)(j+k+l+m)/(j+k+l+m+n); pass_no=j+k+l+m; istui+1.englis
29、hr_score tftemp=stui.english_score;stui.english_score=stui+1.english_score; stui+1.english_score=temp;max_score=stui+1.english_score; 輸出英語(yǔ)統(tǒng)計(jì)內(nèi)容 fclose(fp)排序功能n-s流程圖 system(cls); int i, k, index,j; double amax; double temp; file *fp; 打開(kāi)學(xué)生人數(shù)文件 if(fp=fopen(學(xué)生人數(shù).txt,a+)=null) 讀文件 fscanf(fp,%d,&num); 關(guān)閉文件
30、 fclose(fp); (fp=fopen(學(xué)生信息及成績(jī)表.txt,r)=null否 是 inumprintf(file open error!n);讀取文件 ai=fi.tot_score; knum-1 index=kexit(0); iaindex是 否index=i; temp=aindex;aindex=ak;ak=temp; jnum knum fk.tot_score=aj t f fk.number=j+1; break;continue; inum顯示排序之后學(xué)生的名次printf() fclose(fp) (fp1=fopen(學(xué)生排名表.txt,w+)=nullf t
31、 inumexit(0);寫(xiě)入文件 fclose(fp1) arrange_choose(); system(cls);5 存儲(chǔ)結(jié)構(gòu)及函數(shù)說(shuō)明一 存儲(chǔ)結(jié)構(gòu) 系統(tǒng)中,學(xué)生的信息主要采用student結(jié)構(gòu)體存儲(chǔ)。將錄入的學(xué)生信息保存在文件“學(xué)生信息及成績(jī)表.txt”中轉(zhuǎn)到硬盤(pán)中儲(chǔ)存,便于各個(gè)程序功能使用。學(xué)生人數(shù)主要保存在文件“學(xué)生人數(shù)txt”中。統(tǒng)計(jì)學(xué)生的各科的分?jǐn)?shù)段人數(shù),及格率,最高分等保存在文件“學(xué)生成績(jī)表統(tǒng)計(jì)表.txt”中轉(zhuǎn)到硬盤(pán)中儲(chǔ)存,便于查看。頭文件的變量分別有以下定義:char no20表示學(xué)號(hào)。char sex5表示性別。char name20表示名字。classes20表示班級(jí)。
32、double liner_score表示線性成績(jī)。double english_score表示精讀成績(jī)。double listening_score表示聽(tīng)說(shuō)成績(jī)。double marx_score表示馬克思成績(jī)。double c_score表示c語(yǔ)言成績(jī)。double ave_score表示平均分。double tot_score表示總分。int number表示學(xué)生個(gè)數(shù)。定義宏max,方便改動(dòng)學(xué)生的總數(shù)。 num是一個(gè)全局變量,用以表示學(xué)生人數(shù)。二 函數(shù)說(shuō)明 1 系統(tǒng)主菜單:管理員界面用output1()函數(shù)實(shí)現(xiàn)、用戶(hù)界面用output2()函數(shù)實(shí)現(xiàn)。用戶(hù)進(jìn)入系統(tǒng)主菜單,可以按提示進(jìn)行選擇,
33、從而完成不同的任務(wù),此功能在顯示子程序中實(shí)現(xiàn)。2 錄入學(xué)生信息及成績(jī):用void input()函數(shù)實(shí)現(xiàn)。用戶(hù)根據(jù)提示信息輸入學(xué)生的學(xué)號(hào)、姓名、性別、班級(jí)、各科成績(jī)等信息,系統(tǒng)會(huì)以文件形式存儲(chǔ),以便進(jìn)行管理,可將學(xué)生信息整合成結(jié)構(gòu)體。其中struct student stumax定義結(jié)構(gòu)體;j表示要錄入的人數(shù),i是一控制循環(huán)的變量。3 修改學(xué)生信息及成績(jī):用void correct()函數(shù)實(shí)現(xiàn)。用戶(hù)根據(jù)提示信息輸入學(xué)生的學(xué)號(hào),在學(xué)生文件中查找到該學(xué)生的信息并根據(jù)提示信息進(jìn)行成績(jī)的修改。其中i,j控制循環(huán);x表示出入的修改的成績(jī);no20表示要輸入的學(xué)號(hào)。4 刪除學(xué)生信息及成績(jī):用 void d
34、elete()函數(shù)實(shí)現(xiàn)。用戶(hù)根據(jù)提示信息輸入學(xué)生的學(xué)號(hào),在學(xué)生文件中查找到該學(xué)生的全部信息并將該信息全部刪除。其中i,j控制循環(huán);index表示把要?jiǎng)h除的學(xué)生的下標(biāo)賦給index,m用于判斷學(xué)生是否存在;no20表示出入的學(xué)號(hào)。5 查詢(xún)學(xué)生信息及成績(jī):用 void search_by_name()和void search_by_num()函數(shù)實(shí)現(xiàn)。用戶(hù)根據(jù)提示信息輸入學(xué)生的學(xué)號(hào)或姓名的方式進(jìn)行查詢(xún),在學(xué)生文件中查找到該信息并顯示出來(lái)。(1)按學(xué)生名字查詢(xún)struct student pmax結(jié)構(gòu)體數(shù)組;name20存儲(chǔ)學(xué)生名字的數(shù)組;i,m控制循環(huán)變量。(2)按學(xué)生學(xué)號(hào)查詢(xún)struct stu
35、dent pmax結(jié)構(gòu)體數(shù)組;no20存儲(chǔ)學(xué)生學(xué)號(hào)的數(shù)組;i,m控制循環(huán)變量。6 學(xué)生成績(jī)排序:用void arrange()函數(shù)實(shí)現(xiàn)。對(duì)學(xué)生成績(jī)(總分)進(jìn)行從高到低排序,用冒泡排序法。其中amax表示存儲(chǔ)學(xué)生總分的數(shù)組;i,j,k是控制循環(huán)變量;f結(jié)構(gòu)體數(shù)組。7 統(tǒng)計(jì)學(xué)生成績(jī):用 void stat()函數(shù)實(shí)現(xiàn)。統(tǒng)計(jì)并顯示各科優(yōu)、良、中、及格、不及格的人數(shù),及及格率、最高分。(1)統(tǒng)計(jì)線性代數(shù)用void liner_stat()函數(shù)來(lái)實(shí)現(xiàn)。其中變量i,f是控制循環(huán)的變量;temp是用于交換的變量;j表示90分以上的學(xué)生人數(shù);k表示80分以上的學(xué)生人數(shù);l表示70分以上的學(xué)生人數(shù);m表示60分
36、以上的學(xué)生人數(shù);n表示60分以下的學(xué)生人數(shù);pass_no表示及格的人數(shù);liner_rate表示線性代數(shù)的及格率;max_score表示最高分;struct student stu結(jié)構(gòu)體數(shù)組;(2)統(tǒng)計(jì)線性代數(shù)用void english_stat()函數(shù)來(lái)實(shí)現(xiàn)。其中變量i,f是控制循環(huán)的變量;temp是用于交換的變量;j表示90分以上的學(xué)生人數(shù);k表示80分以上的學(xué)生人數(shù);l表示70分以上的學(xué)生人數(shù);m表示60分以上的學(xué)生人數(shù);n表示60分以下的學(xué)生人數(shù);pass_no表示及格的人數(shù);english_rate表示英語(yǔ)的及格率;max_score表示最高分;struct student stu
37、結(jié)構(gòu)體數(shù)組;(3)統(tǒng)計(jì)線性代數(shù)用void listening_stat()函數(shù)來(lái)實(shí)現(xiàn)。其中變量i,f是控制循環(huán)的變量;temp是用于交換的變量;j表示90分以上的學(xué)生人數(shù);k表示80分以上的學(xué)生人數(shù);l表示70分以上的學(xué)生人數(shù);m表示60分以上的學(xué)生人數(shù);n表示60分以下的學(xué)生人數(shù);pass_no表示及格的人數(shù);listening_rate表示聽(tīng)說(shuō)的及格率;max_score表示最高分;struct student stu結(jié)構(gòu)體數(shù)組;(4)統(tǒng)計(jì)線性代數(shù)用void marx_stat()函數(shù)來(lái)實(shí)現(xiàn)。其中變量i,f是控制循環(huán)的變量;temp是用于交換的變量;j表示90分以上的學(xué)生人數(shù);k表示80分
38、以上的學(xué)生人數(shù);l表示70分以上的學(xué)生人數(shù);m表示60分以上的學(xué)生人數(shù);n表示60分以下的學(xué)生人數(shù);pass_no表示及格的人數(shù);mark_rate表示馬克思的及格率;max_score表示最高分;struct student stu結(jié)構(gòu)體數(shù)組;(5)統(tǒng)計(jì)線性代數(shù)用void c_stat()函數(shù)來(lái)實(shí)現(xiàn)。其中變量i,f是控制循環(huán)的變量;temp是用于交換的變量;j表示90分以上的學(xué)生人數(shù);k表示80分以上的學(xué)生人數(shù);l表示70分以上的學(xué)生人數(shù);m表示60分以上的學(xué)生人數(shù);n表示60分以下的學(xué)生人數(shù);pass_no表示及格的人數(shù);c_rate表示c語(yǔ)言的及格率;max_score表示最高分;struct student stu結(jié)構(gòu)體數(shù)組;8 退出系統(tǒng):用exit(0)函數(shù)實(shí)現(xiàn)。完成你所需完成的任務(wù)之后并退出到系統(tǒng)主菜單。6 課程設(shè)計(jì)結(jié)果在完成了系統(tǒng)各方面的設(shè)計(jì)后,并不是可以運(yùn)行就完成的,為了保證系統(tǒng)性能的穩(wěn)定性跟安全性等,就要對(duì)系統(tǒng)做測(cè)試。運(yùn)行的主界面如圖6.1所示:圖6.1運(yùn)行主界面1 當(dāng)選擇1管理員界面并輸入密碼后,如圖6.2所示。圖6.2 管理員界面2 當(dāng)選擇1學(xué)生信息各科成績(jī)錄入時(shí),如圖6.3所示。圖6.3 錄入學(xué)生成績(jī)3 錄入完之后將給出提示信息,如圖6.4所示。圖6.4 繼續(xù)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中級(jí)微觀經(jīng)濟(jì)學(xué)知到課后答案智慧樹(shù)章節(jié)測(cè)試答案2025年春浙江大學(xué)
- 2025年天一大聯(lián)考海南省高三2月英語(yǔ)試題模擬試題含解析
- 寧夏警官職業(yè)學(xué)院《外國(guó)民族音樂(lè)概論》2023-2024學(xué)年第一學(xué)期期末試卷
- 焦作大學(xué)《泰語(yǔ)口語(yǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 江西理工大學(xué)《過(guò)程裝備集成科學(xué)與技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣東海洋大學(xué)《紡織綠色制造》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川省綿陽(yáng)市游仙區(qū)2025年數(shù)學(xué)五下期末檢測(cè)模擬試題含答案
- 上海市格致初級(jí)中學(xué)2025年高考模擬(4月)英語(yǔ)試題含解析
- 工傷認(rèn)定風(fēng)險(xiǎn)點(diǎn)和防范措施
- 2025年五氧化二磷行業(yè)政策分析:五氧化二磷行業(yè)標(biāo)準(zhǔn)規(guī)范行業(yè)發(fā)展
- 高等教育數(shù)字化轉(zhuǎn)型心得體會(huì)
- 2025年安徽財(cái)貿(mào)職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及答案1套
- 2025年安徽職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及答案1套
- 日式保潔培訓(xùn)課件大全
- 2025年廣東省深圳市高考語(yǔ)文一模試卷
- 2025年陜西工商職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)學(xué)生專(zhuān)用
- 2025年福建省高職單招職業(yè)適應(yīng)性測(cè)試題庫(kù)及答案解析
- 自媒體運(yùn)營(yíng)實(shí)戰(zhàn)教程(抖音版) 課件 第7章 短視頻運(yùn)營(yíng)-自媒體中級(jí)
- 2025時(shí)事政治必考題庫(kù)含參考答案
- 保潔管理安全培訓(xùn)課件
- 小學(xué)生藥品安全課件視頻
評(píng)論
0/150
提交評(píng)論