C語言課程設(shè)計(jì)學(xué)生成績管理系統(tǒng)_第1頁
C語言課程設(shè)計(jì)學(xué)生成績管理系統(tǒng)_第2頁
C語言課程設(shè)計(jì)學(xué)生成績管理系統(tǒng)_第3頁
C語言課程設(shè)計(jì)學(xué)生成績管理系統(tǒng)_第4頁
C語言課程設(shè)計(jì)學(xué)生成績管理系統(tǒng)_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、中國海洋大學(xué)青島學(xué)院c語言課程設(shè)計(jì)報(bào)告書題 目學(xué)生成績管理系統(tǒng)學(xué)生姓名指導(dǎo)教師學(xué) 院專業(yè)班級1 組內(nèi)分工姓名主要任務(wù)占系統(tǒng)比例系統(tǒng)主菜單 刪除學(xué)生信息 主函數(shù)30%錄入學(xué)生信息 修改學(xué)生信息24%查詢 排序24%排序 統(tǒng)計(jì)24%目 錄1 前言12 需求分析33 模塊設(shè)計(jì)圖34 ns流程圖清單45 存儲結(jié)構(gòu)及函數(shù)說明56 課程設(shè)計(jì)結(jié)果67 實(shí)踐心得體會7iic語言課程設(shè)計(jì)報(bào)告1 前言1.1 課程設(shè)計(jì)目的學(xué)生成績管理是一個(gè)學(xué)校不可缺少的部分,它的內(nèi)容對于學(xué)校的管理者和學(xué)生以及學(xué)生家長來說都至關(guān)重要,所以一個(gè)良好的學(xué)生成績管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄巍W(xué)生成績管理系統(tǒng)對學(xué)校加

2、強(qiáng)學(xué)生成績管理有著極其重要的作用.由于各個(gè)大學(xué)都在持續(xù)擴(kuò)招,學(xué)生的數(shù)量日益龐大,對于如何管理如此龐大的學(xué)生成績數(shù)據(jù)顯得更為復(fù)雜,傳統(tǒng)的手工成績管理不僅工作量大,而且容易出現(xiàn)問題,如:效率低、保密性差,另外時(shí)間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護(hù)都帶來了不少的困難。已不能適應(yīng)時(shí)代的發(fā)展。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識,它已進(jìn)入人類社會的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對學(xué)生成績信息進(jìn)行管理,具有手工管理所無法比擬的優(yōu)點(diǎn)。例:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點(diǎn)能夠

3、極大地提高管理者管理的效率,也是學(xué)校走向科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。因此,開發(fā)設(shè)計(jì)這樣一套學(xué)生成績管理軟件成為很有必要的事情。該學(xué)生成績管理系統(tǒng)采用c語言開發(fā)研制,針對學(xué)生成績及其數(shù)據(jù)特點(diǎn),可以全面實(shí)現(xiàn)對學(xué)生成績的錄入、查詢、修改、刪除和統(tǒng)計(jì)等功能的計(jì)算機(jī)管理。它能使學(xué)生成績數(shù)據(jù)的工作人員從繁重的工作中解脫出來,大大減輕了工作量,減少人為的工作失誤,全面提高學(xué)生成績管理的效率,從而使學(xué)校對于學(xué)生成績的管理水平和技術(shù)水平躍上一個(gè)新的臺階。1.2課程設(shè)計(jì)過程 分析程序的主要作用并寫出需求分析; 確定組內(nèi)分工并給出全局變量及結(jié)構(gòu)體; 寫代碼并畫出n-s圖; 組合并調(diào)試代碼,做出相應(yīng)的修

4、改; 完成文檔;為了方便數(shù)據(jù)的讀取與保存,我們采用外部文件來進(jìn)行數(shù)據(jù)保存能實(shí)現(xiàn)學(xué)生信息數(shù)據(jù)的維護(hù)。1.3課程設(shè)計(jì)目標(biāo) 建立學(xué)生成績信息管理系統(tǒng),采用計(jì)算機(jī)對學(xué)生成績信息進(jìn)行管理,進(jìn)一步提高學(xué)?,F(xiàn)代化水平。幫助廣大成績信息管理者提高工作效率、減少工作時(shí)間,實(shí)現(xiàn)學(xué)生及其家長信息查詢工作流程的系統(tǒng)化、公平化、規(guī)范化和自動(dòng)化,也為廣大在教師提供便利快捷的成績錄入功能。為了保證系統(tǒng)能夠長期、安全、穩(wěn)定、可靠、高效的運(yùn)行,本課題將達(dá)到以下幾個(gè)目的:(1)系統(tǒng)處理的準(zhǔn)確性系統(tǒng)處理的準(zhǔn)確性和及時(shí)性是系統(tǒng)的必要性能。在系統(tǒng)設(shè)計(jì)和開發(fā)過程中,要充分考慮系統(tǒng)當(dāng)前和將來可能承受的工作量,使系統(tǒng)的處理能力和響應(yīng)時(shí)間能夠

5、滿足高校對信息處理的需求。(2)系統(tǒng)處理的及時(shí)性由于學(xué)生非常關(guān)心自己的信息正確與否以便及時(shí)接受來自學(xué)校的學(xué)習(xí)成績信息,學(xué)生成績信息管理功能對于整個(gè)系統(tǒng)的功能和性能完成舉足輕重。在系統(tǒng)開發(fā)過程中,必須采用一定的方法保證系統(tǒng)的準(zhǔn)確性。(3)系統(tǒng)的保密性學(xué)生成績信息是屬于個(gè)人的隱私,所以系統(tǒng)在開發(fā)時(shí),應(yīng)該充分考慮系統(tǒng)的保密性,以保證學(xué)生的隱私權(quán)。(4)系統(tǒng)的開放性和可擴(kuò)充性學(xué)生成績信息管理系統(tǒng)在開發(fā)過程中,應(yīng)該充分考慮以后的可擴(kuò)充性。例如學(xué)生成績信息管理的方式的改變,學(xué)生成績信息的需求也會不斷的更新和完善。2 需求分析一個(gè)學(xué)校需要管理學(xué)生的基本信息和各門功課的考試成績,希望當(dāng)用到時(shí)直接從計(jì)算機(jī)中輸出

6、,從而減輕管理人員的負(fù)擔(dān),也使學(xué)生的信息能夠長期保存,需要建立一個(gè)簡單的學(xué)生成績管理系統(tǒng)來管理學(xué)生的成績和信息。學(xué)生信息管理系統(tǒng)作為一個(gè)應(yīng)用軟件為學(xué)校師生提供一個(gè)對學(xué)生信息進(jìn)行管理和查詢的平臺。用戶可根據(jù)系統(tǒng)界面的提示信息對學(xué)生的信息進(jìn)行錄入、刪除、修改、排序、查詢、統(tǒng)計(jì)等操作。系統(tǒng)功能需求描述如下: (1)系統(tǒng)主菜單:用戶進(jìn)入系統(tǒng)主菜單,可以按提示進(jìn)行選擇,從而完成不同的任務(wù),此功能在顯示子程序中實(shí)現(xiàn)。管理員界面用output1()函數(shù)實(shí)現(xiàn)、用戶界面用output2()函數(shù)實(shí)現(xiàn)。 (2)錄入學(xué)生信息及成績:用戶根據(jù)提示信息輸入學(xué)生的學(xué)號、姓名、性別、班級、各科成績等信息,系統(tǒng)會以文件形式存儲

7、,以便進(jìn)行管理,可將學(xué)生信息整合成結(jié)構(gòu)體,用void input()函數(shù)實(shí)現(xiàn)。 (3)修改學(xué)生信息及成績:用戶根據(jù)提示信息輸入學(xué)生的學(xué)號,在學(xué)生文件中查找到該學(xué)生的信息并根據(jù)提示信息進(jìn)行成績的修改,用void correct()函數(shù)實(shí)現(xiàn)。 (4)刪除學(xué)生信息及成績:用戶根據(jù)提示信息輸入學(xué)生的學(xué)號,在學(xué)生文件中查找到該學(xué)生的全部信息并將該信息全部刪除,用 void delete()函數(shù)實(shí)現(xiàn)。 (5)查詢學(xué)生信息及成績:用戶根據(jù)提示信息輸入學(xué)生的學(xué)號或姓名的方式進(jìn)行查詢,在學(xué)生文件中查找到該信息并顯示出來,用 void search_by_name()和void search_by_num()函數(shù)

8、實(shí)現(xiàn)。 (6)學(xué)生成績排序:對學(xué)生成績(總分)進(jìn)行從高到低排序,用冒泡排序法,用void arrange()函數(shù)實(shí)現(xiàn)。 (7)統(tǒng)計(jì)學(xué)生成績:統(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)后可以來進(jìn)行學(xué)生成績信息錄入管理、學(xué)生成績信息查詢管理、學(xué)生成績信息刪除管理、學(xué)生成績信息修改管理、學(xué)生成績信息排序管理及學(xué)生成績信息統(tǒng)計(jì)管理操作;當(dāng)用戶運(yùn)行該系統(tǒng)后可以進(jìn)

9、行學(xué)生成績信息查詢操作,具體的流程如圖3.2所示。圖3.2系統(tǒng)流程圖4 ns流程圖清單錄入功能n-s流程圖system(cls) 定義變量 i=0,j,stumax,文件指針 *fp 打開學(xué)生人數(shù)文件 if(fp=fopen(學(xué)生人數(shù).txt,a+)=null) 讀文件 fscanf(fp,%d,&num); 關(guān)閉文件 fclose(fp);是(fp=fopen(學(xué)生信息及成績表.txt,a+)=null) 否printf(open file erorr!n);exit(0); 輸入 j num=num+j; ij錄入并寫入文件 關(guān)閉文件fclose(fp) 打開學(xué)生人數(shù)文件 將學(xué)生人數(shù)寫入到

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 打開學(xué)生人數(shù)文件 if(fp=fopen(學(xué)生人數(shù).txt,a+)=null) 讀文件 fscanf(fp,%d,&num); 關(guān)閉文件 fclose(fp);是(fp=fopen(學(xué)生信息及成績表.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é)生信息及成績表.txt,a+)=null) 否printf(open,file erorr!n);exit(0);jnum刪除信息jnum-1寫入文件fclose(fp)delect() 刪除成功 num=num-1; 打開學(xué)生人數(shù)文件將學(xué)生人數(shù)寫入到文件 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 打開學(xué)生人數(shù)文件 if(fp=fopen(學(xué)生人數(shù).txt,a+)=null) 讀文件 fscanf(fp,%d,&num); 關(guān)閉文件 fclose(fp);是(fp=fopen(學(xué)生信息及成績表.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)寫入文件 fclose(fp)correct_choose();system(cls);查詢功能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(“輸入無效選項(xiàng)”);exit(0);break;break;(1)case2: search_by_name();int i,m=0; char name20;

15、 struct student pmax; file *fp; 打開學(xué)生人數(shù)文件 if(fp=fopen(學(xué)生人數(shù).txt,a+)=null) 讀文件 fscanf(fp,%d,&num); 關(guān)閉文件 fclose(fp); (fp=fopen(學(xué)生信息及成績表.txt,a+)=null)否 是輸入姓名nameprintf(file open error!n);inum讀取文件exit(0); strcmp(name,)=0是 否顯示查詢學(xué)生的信息printf()m+; m=0是 否 printf(沒有找到符合的信息。n);search_choose();system(cls);

16、 (2)case1:search_by_num()n-s流程圖int i,m=0;struct student pmax;file *fp;char no20; 打開學(xué)生人數(shù)文件 if(fp=fopen(學(xué)生人數(shù).txt,a+)=null) 讀文件 fscanf(fp,%d,&num); 關(guān)閉文件 fclose(fp); (fp=fopen(學(xué)生信息及成績表.txt,a+)=null)否 是 輸入學(xué)號noprintf(file open error!n); inum讀取文件 strcmp(num,pi.num)=0是 否顯示查詢學(xué)生的信息printf();m+; m=0是 否printf(沒有

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; 打開學(xué)生人數(shù)文件 if(fp=fopen(學(xué)生人數(shù).txt,a+)=null) 讀文件 fscanf(fp,%d,&num); 關(guān)閉文件 fclose(fp);是(fp=fopen(學(xué)生信息及成績表.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é)生成績表統(tǒng)表.txt,a+)=nullf t寫入文件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; 打開學(xué)生人數(shù)文件 if(fp=fopen(學(xué)生人數(shù).txt,a+)=null) 讀文件 fscanf(fp,%d,&num); 關(guān)閉文件 fclose(fp);是(fp=fop

21、en(學(xué)生信息及成績表.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)計(jì)內(nèi)容 fclose(fp) (fp1=fopen(學(xué)生成績表統(tǒng)表.txt,a+)=nullf t寫入文件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; 打開學(xué)生人數(shù)文件 if(fp=fopen(學(xué)生人數(shù).txt,a+)=null) 讀文件 fscanf(fp,%d,&num); 關(guān)閉文件 fclose(fp);是(fp=fopen(學(xué)生信息及成績表.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é)生成績表統(tǒng)表.txt,a+)=nullf

25、t寫入文件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; 打開學(xué)生人數(shù)文件 if(fp=fopen(學(xué)生人數(shù).txt,a+)=null) 讀文件 fscanf(fp,%d,&num); 關(guān)閉文件 fclose(fp);是(fp=fopen(學(xué)生信息及成績表.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語

27、言統(tǒng)計(jì)內(nèi)容 fclose(fp) (fp1=fopen(學(xué)生成績表統(tǒng)表.txt,a+)=nullf t寫入文件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; 打開學(xué)生人數(shù)文件 if(fp=fopen(學(xué)生人數(shù).txt,a+)=null) 讀文件 fscanf(fp,%d,&num); 關(guān)閉文件 fclose(fp);是(fp=fo

28、pen(學(xué)生信息及成績表.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; 輸出英語統(tǒng)計(jì)內(nèi)容 fclose(fp)排序功能n-s流程圖 system(cls); int i, k, index,j; double amax; double temp; file *fp; 打開學(xué)生人數(shù)文件 if(fp=fopen(學(xué)生人數(shù).txt,a+)=null) 讀文件 fscanf(fp,%d,&num); 關(guān)閉文件

30、 fclose(fp); (fp=fopen(學(xué)生信息及成績表.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);寫入文件 fclose(fp1) arrange_choose(); system(cls);5 存儲結(jié)構(gòu)及函數(shù)說明一 存儲結(jié)構(gòu) 系統(tǒng)中,學(xué)生的信息主要采用student結(jié)構(gòu)體存儲。將錄入的學(xué)生信息保存在文件“學(xué)生信息及成績表.txt”中轉(zhuǎn)到硬盤中儲存,便于各個(gè)程序功能使用。學(xué)生人數(shù)主要保存在文件“學(xué)生人數(shù)txt”中。統(tǒng)計(jì)學(xué)生的各科的分?jǐn)?shù)段人數(shù),及格率,最高分等保存在文件“學(xué)生成績表統(tǒng)計(jì)表.txt”中轉(zhuǎn)到硬盤中儲存,便于查看。頭文件的變量分別有以下定義:char no20表示學(xué)號。char sex5表示性別。char name20表示名字。classes20表示班級。

32、double liner_score表示線性成績。double english_score表示精讀成績。double listening_score表示聽說成績。double marx_score表示馬克思成績。double c_score表示c語言成績。double ave_score表示平均分。double tot_score表示總分。int number表示學(xué)生個(gè)數(shù)。定義宏max,方便改動(dòng)學(xué)生的總數(shù)。 num是一個(gè)全局變量,用以表示學(xué)生人數(shù)。二 函數(shù)說明 1 系統(tǒng)主菜單:管理員界面用output1()函數(shù)實(shí)現(xiàn)、用戶界面用output2()函數(shù)實(shí)現(xiàn)。用戶進(jìn)入系統(tǒng)主菜單,可以按提示進(jìn)行選擇,

33、從而完成不同的任務(wù),此功能在顯示子程序中實(shí)現(xiàn)。2 錄入學(xué)生信息及成績:用void input()函數(shù)實(shí)現(xiàn)。用戶根據(jù)提示信息輸入學(xué)生的學(xué)號、姓名、性別、班級、各科成績等信息,系統(tǒng)會以文件形式存儲,以便進(jìn)行管理,可將學(xué)生信息整合成結(jié)構(gòu)體。其中struct student stumax定義結(jié)構(gòu)體;j表示要錄入的人數(shù),i是一控制循環(huán)的變量。3 修改學(xué)生信息及成績:用void correct()函數(shù)實(shí)現(xiàn)。用戶根據(jù)提示信息輸入學(xué)生的學(xué)號,在學(xué)生文件中查找到該學(xué)生的信息并根據(jù)提示信息進(jìn)行成績的修改。其中i,j控制循環(huán);x表示出入的修改的成績;no20表示要輸入的學(xué)號。4 刪除學(xué)生信息及成績:用 void d

34、elete()函數(shù)實(shí)現(xiàn)。用戶根據(jù)提示信息輸入學(xué)生的學(xué)號,在學(xué)生文件中查找到該學(xué)生的全部信息并將該信息全部刪除。其中i,j控制循環(huán);index表示把要?jiǎng)h除的學(xué)生的下標(biāo)賦給index,m用于判斷學(xué)生是否存在;no20表示出入的學(xué)號。5 查詢學(xué)生信息及成績:用 void search_by_name()和void search_by_num()函數(shù)實(shí)現(xiàn)。用戶根據(jù)提示信息輸入學(xué)生的學(xué)號或姓名的方式進(jìn)行查詢,在學(xué)生文件中查找到該信息并顯示出來。(1)按學(xué)生名字查詢struct student pmax結(jié)構(gòu)體數(shù)組;name20存儲學(xué)生名字的數(shù)組;i,m控制循環(huán)變量。(2)按學(xué)生學(xué)號查詢struct stu

35、dent pmax結(jié)構(gòu)體數(shù)組;no20存儲學(xué)生學(xué)號的數(shù)組;i,m控制循環(huán)變量。6 學(xué)生成績排序:用void arrange()函數(shù)實(shí)現(xiàn)。對學(xué)生成績(總分)進(jìn)行從高到低排序,用冒泡排序法。其中amax表示存儲學(xué)生總分的數(shù)組;i,j,k是控制循環(huán)變量;f結(jié)構(gòu)體數(shù)組。7 統(tǒng)計(jì)學(xué)生成績:用 void stat()函數(shù)實(shí)現(xiàn)。統(tǒng)計(jì)并顯示各科優(yōu)、良、中、及格、不及格的人數(shù),及及格率、最高分。(1)統(tǒng)計(jì)線性代數(shù)用void liner_stat()函數(shù)來實(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ù)來實(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表示英語的及格率;max_score表示最高分;struct student stu

37、結(jié)構(gòu)體數(shù)組;(3)統(tǒng)計(jì)線性代數(shù)用void listening_stat()函數(shù)來實(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表示聽說的及格率;max_score表示最高分;struct student stu結(jié)構(gòu)體數(shù)組;(4)統(tǒng)計(jì)線性代數(shù)用void marx_stat()函數(shù)來實(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ù)來實(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語言的及格率;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)定性跟安全性等,就要對系統(tǒng)做測試。運(yùn)行的主界面如圖6.1所示:圖6.1運(yùn)行主界面1 當(dāng)選擇1管理員界面并輸入密碼后,如圖6.2所示。圖6.2 管理員界面2 當(dāng)選擇1學(xué)生信息各科成績錄入時(shí),如圖6.3所示。圖6.3 錄入學(xué)生成績3 錄入完之后將給出提示信息,如圖6.4所示。圖6.4 繼續(xù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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

提交評論