




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、學(xué)生成績分析系統(tǒng) 目錄摘 要21緒論22系統(tǒng)分析22.1 可行性分析3技術(shù)分析3經(jīng)濟(jì)分析32.1.3 操作可行性32.2需求分析3功能需求3數(shù)據(jù)需求32.2.3 性能需求33. 總體設(shè)計(jì)43.1 系統(tǒng)結(jié)構(gòu)43.2功能模塊設(shè)計(jì)53.3系統(tǒng)設(shè)計(jì)方案53.4系統(tǒng)設(shè)計(jì)方案63.4.1學(xué)生信息錄入模塊63.4.2學(xué)生信息的查詢模塊73.4.3學(xué)生信息修改模塊74. 調(diào)試與測(cè)試84.1 調(diào)試94.2 測(cè)試95. 結(jié)論10結(jié)束語10參考文獻(xiàn)11附錄1用戶手冊(cè)12附錄2源程序15摘 要成績分析系統(tǒng)是一個(gè)教育單位不可缺少的重要組成部分,它的內(nèi)容對(duì)于學(xué)校的教務(wù)管理人員來說至關(guān)重要,作為計(jì)算機(jī)應(yīng)用的一部分,利用計(jì)算
2、機(jī)進(jìn)行學(xué)生成績信息的管理無疑是一條行之有效且高效的辦法。學(xué)生成績管理系統(tǒng)主要提供方便高效的管理功能以及網(wǎng)上的信息查閱平臺(tái),學(xué)生可以查閱相關(guān)的成績和基本信息,管理員可以管理所有信息。包括瀏覽所有用戶信息以及相關(guān)的成績信息,錄入、修改、刪除成績和信息,注冊(cè)新用戶功能,還包括對(duì)每系或每班各科成績進(jìn)行分析,對(duì)所開課程的成績分析等。學(xué)生成績管理系統(tǒng)是構(gòu)建于Visual C+6.0平臺(tái)上的Windows應(yīng)用程序,具有平臺(tái)構(gòu)建免費(fèi)、運(yùn)行速度快、程序小、擴(kuò)展性好、技術(shù)先進(jìn)等特點(diǎn)。關(guān)鍵詞:管理 ;信息;學(xué)生成績分析系統(tǒng)。1緒論在現(xiàn)代,高科技的飛躍發(fā)展,計(jì)算機(jī)的大量普及,使得人們生活節(jié)奏越來越快。因此對(duì)教育行業(yè)的
3、多元信息進(jìn)行有效的管理工作,也成為教育行業(yè)中的重中之重。目前,學(xué)校工作繁雜、資料重多,雖然各類管理信息系統(tǒng)已進(jìn)入高校,但還未普及,而對(duì)于學(xué)生成績管理來說,目前還沒有一套完整的、統(tǒng)一的系統(tǒng)。為各高校教務(wù)工作人員減輕負(fù),提高工作效率,所以制作了學(xué)生成績分析系統(tǒng)。學(xué)生成績分析系統(tǒng)依據(jù)開發(fā)要求主要應(yīng)用于教育系統(tǒng),完成對(duì)日常的教育工作中學(xué)生成績檔案的數(shù)字化管理。比較系統(tǒng)地對(duì)教務(wù)、教學(xué)上的各項(xiàng)服務(wù)和信息進(jìn)行管理,使數(shù)據(jù)管理更現(xiàn)代化、自動(dòng)化、智能化、人性化。同時(shí),減輕了學(xué)院教務(wù)人員管理的工作量,縮小開支,提高工作效率和準(zhǔn)確率,使其變得更具有條理性,科學(xué)性,為教育行業(yè)做出了巨大的貢獻(xiàn),也為今天的民辦教育在未來
4、市場(chǎng)的競(jìng)爭(zhēng)力有所提高。學(xué)生成績分析系統(tǒng)使用了全新的成績管理理念,系統(tǒng)從完善的基礎(chǔ)信息管理,和對(duì)創(chuàng)建新用戶、已創(chuàng)建的成績數(shù)據(jù)的錄入,修改,瀏覽,統(tǒng)計(jì)等功能操作,基本能夠滿足各高校教師的需要。根據(jù)課程設(shè)計(jì)任務(wù)書要求,本系統(tǒng)開發(fā)主要完成以下功能和性能。(1).學(xué)生基本信息及成績所選科目成績的錄入。 (2).基本信息的查詢(分系、班級(jí);分科目)與修改。 (3).對(duì)每系或每班各科成績進(jìn)行分析(即求單科平均成績、及格率和優(yōu)秀率); (4).對(duì)所開課程的成績分析(求其平均成績,最高分和最低分); 2系統(tǒng)分析2.1 可行性分析2.1.1技術(shù)可行性分析不管是從計(jì)算機(jī)軟件環(huán)境或我們自己的技術(shù)能力的角度來看,學(xué)生成
5、績分析系統(tǒng)的開發(fā)都是具有一定的可行性。2.1.2經(jīng)濟(jì)可行性分析這是個(gè)超小型的管理系統(tǒng),從投入的人力,財(cái)力與物力來講是非常之小的,只要一臺(tái)電腦,一臺(tái)打印機(jī),這個(gè)系統(tǒng)就可以搞起來,考慮到學(xué)校里有電腦,現(xiàn)只要購置一臺(tái)打印機(jī)就可以了。從節(jié)省人力方面,可以讓管理人員從繁與復(fù)雜的工作中解脫出來,做更多的工作,可以給教學(xué)管理提高一個(gè)層次。2.1.3 操作可行性可行性 本系統(tǒng)設(shè)計(jì)清晰,有良好的用戶接口,操作簡潔,符合教務(wù)管理的工作需要,并達(dá)到操作過程中的直觀、方便、實(shí)用、安全等要求,因此操作方面具有可行性。綜上所述,本系統(tǒng)的開發(fā)是可行的。2.2需求分析2.2.1功能需求設(shè)計(jì)一個(gè)學(xué)生成績分析系統(tǒng),有關(guān)該系統(tǒng)信息
6、的描述,如:學(xué)號(hào)、姓名、班級(jí)、和所選科目及各科成績等。主要內(nèi)容如下:(1).學(xué)生基本信息及成績所選科目成績的錄入。 (2).基本信息的查詢(分系、班級(jí))與修改。 (3).對(duì)每系或每班各科成績進(jìn)行分析(即求單科平均成績、及格率和優(yōu)秀率); (4).對(duì)所開課程的成績分析(求其平均成績,最高分和最低分)。2.2.2數(shù)據(jù)需求 本次課程設(shè)計(jì)的題目為學(xué)生成績分析系統(tǒng),編程者要掌握學(xué)生的基本信息,包括學(xué)號(hào)、姓名、班級(jí)、和所選科目及各科成績等。并對(duì)錄入的記錄進(jìn)行添加、刪除、修改等基本操作,還可按照分系、班級(jí)分別對(duì)基本信息進(jìn)行查詢;除此外,用戶還可對(duì)所開課程進(jìn)行成績分析。2.2.3 性能需求學(xué)生成績分析系統(tǒng)記錄
7、了一些私人的事務(wù),外不能打開該記錄,這就要求本系統(tǒng)要具備一定的安全性。根據(jù)用戶的要求,學(xué)生的基本信息不會(huì)丟失或自動(dòng)更改,不能出現(xiàn)差錯(cuò),確保記錄的穩(wěn)定性和可靠性。再就是學(xué)生成績分析系統(tǒng)的占用的電腦空間要小,便于攜帶,程序要簡單,操作不會(huì)占用用戶很多時(shí)間,這就要求程序的響應(yīng)速度要快。3. 總體設(shè)計(jì)3.1 系統(tǒng)結(jié)構(gòu)3.2功能模塊設(shè)計(jì) 根據(jù)系統(tǒng)功能的要求,工作備忘錄主要分為5個(gè)模塊,分別執(zhí)行要求中的功能。學(xué)生基本信息及成績所選科目成績的錄入,基本信息的查詢(分系、班級(jí))與修改,對(duì)每系或每班各科成績進(jìn)行分析(即求單科平均成績、及格率和優(yōu)秀率),對(duì)所開課程的成績分析(求其平均成績,最高分和最低分)。系統(tǒng)管
8、理中用于系統(tǒng)退出。 1 學(xué)生信息錄入模塊:在登錄界面上輸入學(xué)生信息。2 基本信息的查詢模塊:在界面上輸入用班級(jí)或系查詢學(xué)生信息。3 記錄修改模塊:修改窗體上表中的工作記錄表信息,并保存修改的信息。4 課程程序分析模塊:輸入科目,顯示其平均成績,最高分和最低分。3.3系統(tǒng)設(shè)計(jì)方案 根據(jù)系統(tǒng)功能的要求,制作了學(xué)生成績分析系統(tǒng)界面,學(xué)生信息錄入,基本信息的查詢,成績分析等程序。建立如下結(jié)構(gòu):char number6;char name20;char sex4;char clas20;char xi10;float subjectnumsubs;float score;float average;in
9、t index;student;定義函數(shù):extern int numstus; /*學(xué)生數(shù)目*/extern student *pointer; /*指向結(jié)構(gòu)體數(shù)組*/extern int lens;int menu_select(); /*函數(shù)聲明*/int openfile(student stu);int findrecord(student stud);int writetotext(student stud);void welcome();void display1();void showtable();void sort(student stu);void deleterecor
10、d(student stu,int i);void addrecord(student stud);void display(student stud,int n1,int n2);void amendrecord(student stud);void count(student stud);void sortnum(student stud);void sortnum2(student stud);void sortname(student stud);void sortname2(student stud);void sortcount(student stud);void sortcou
11、nt2(student stud);void statistic(student stud);void display1();3.4 各功能模塊設(shè)計(jì)與實(shí)現(xiàn) 3.4.1 學(xué)生信息錄入模塊在界面上輸入學(xué)生信息。流程圖如下所示學(xué)生信息的查詢模塊在界面上輸入用班級(jí)或系查詢學(xué)生信息,進(jìn)行查詢。查詢功能的流程如下所示3.4.3學(xué)生信息修改模塊 將學(xué)生信息進(jìn)行修改,再將修改的信息保存到數(shù)據(jù)庫中。修改功能的流程圖如下所示:4. 調(diào)試與測(cè)試系統(tǒng)的開發(fā)經(jīng)過了問題的定義、可行性研究、需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)和編碼階段以后就進(jìn)入系統(tǒng)的調(diào)試和測(cè)試階段。在測(cè)試過程中發(fā)現(xiàn)系統(tǒng)中存在的疏漏,要對(duì)程序做相應(yīng)的修改和完善工作
12、。由于系統(tǒng)中的缺陷通常是由于某些特定情況考慮不周造成的,因此測(cè)試不是為了表明程序正確,測(cè)試的目的是以盡可能少的代價(jià)和時(shí)間找出系統(tǒng)中潛在的錯(cuò)誤和缺陷。4.1 調(diào)試調(diào)試是軟件開發(fā)過程中的一個(gè)重要環(huán)節(jié),也是最復(fù)雜,對(duì)軟件開發(fā)者者來說也是最艱巨的任務(wù)。調(diào)試的任務(wù)是及時(shí)改正測(cè)試過程中發(fā)現(xiàn)的軟件錯(cuò)誤。具體地說,調(diào)試過程由兩個(gè)步驟組成,它從表示程序中存在錯(cuò)誤的某跡象開始,首先確定錯(cuò)誤的準(zhǔn)確位置,也就是找出哪個(gè)模塊或哪個(gè)語句引起的錯(cuò)誤。然后仔細(xì)研究推斷代碼以確定問題的原因,并設(shè)法改正。 本系統(tǒng)調(diào)試過程中遇到問題、原因和解決方法如下面介紹(1)查詢模塊當(dāng)正確輸入查找信息時(shí),系統(tǒng)卻不能夠得到所要查找的學(xué)生信息。解
13、決辦法及步驟1、檢查所編寫的程序代碼是否完全正確,若不是,則改之,然后再繼續(xù)正確輸入查找信息看能否得到所要查找的學(xué)生信息。2、檢查當(dāng)我們?cè)谳斎氩檎倚畔r(shí),看是否我們輸入的信息有誤,若是這樣的話,我們應(yīng)當(dāng)仔細(xì)輸入查找信息。4.2 測(cè)試測(cè)試時(shí)要遵循: 錄入數(shù)據(jù)時(shí)數(shù)據(jù)庫是否正確錄入; 修改后的數(shù)據(jù)能否再正常錄入數(shù)據(jù)庫; 處理數(shù)據(jù)時(shí),數(shù)據(jù)庫中的數(shù)據(jù)能否正常輸出; 查詢數(shù)據(jù)時(shí),數(shù)據(jù)能否從數(shù)據(jù)庫中正常輸出。 刪除數(shù)據(jù)時(shí),數(shù)據(jù)能否從數(shù)據(jù)庫中正常刪除。在測(cè)試時(shí),首先要仔細(xì)認(rèn)真的輸入正確數(shù)據(jù),這樣才能保證測(cè)試的正確性和有效性。在修改數(shù)據(jù)庫后,要注意數(shù)據(jù)能否正常錄入。在修改數(shù)據(jù)庫后,一定不能忘了保存。處理數(shù)據(jù)時(shí),
14、要注意數(shù)據(jù)是否輸出,如果不能的話,重新連接數(shù)據(jù)庫再試。查詢數(shù)據(jù)時(shí),要注意數(shù)據(jù)能否從數(shù)據(jù)庫中正常輸出。刪除數(shù)據(jù)時(shí),要注意數(shù)據(jù)能否數(shù)據(jù)庫中正常刪除,若不能,則查看刪除語句是否正確。測(cè)試該系統(tǒng)中的功能基本上符合設(shè)計(jì)要求,系統(tǒng)穩(wěn)定性良好,運(yùn)行正常。至此,本次測(cè)試圓滿結(jié)束。5. 結(jié)論經(jīng)過兩周的努力,課程設(shè)計(jì)終于順利完成,課程設(shè)計(jì)的任務(wù)書上要求的功能也都成功實(shí)現(xiàn)。只是對(duì)每系或每班各科成績進(jìn)行分析(即求單科平均成績、及格率和優(yōu)秀率)由于能力有限無法完成十分遺憾。結(jié)束語經(jīng)過一周的課程設(shè)計(jì),我學(xué)到了很多東西:鞏固和加深了對(duì)編程的理解,提高綜合運(yùn)用本課程所學(xué)知識(shí)的能力。培養(yǎng)了我選用參考書,查閱手冊(cè)及文獻(xiàn)資料的能力
15、。培養(yǎng)獨(dú)立思考,深入研究,分析問題、解決問題的能力。經(jīng)過實(shí)際編譯系統(tǒng)的分析設(shè)計(jì)、編程調(diào)試,掌握應(yīng)用軟件的分析方法和工程設(shè)計(jì)方法。能夠按要求編寫課程設(shè)計(jì)報(bào)告書,能正確闡述設(shè)計(jì)和實(shí)驗(yàn)結(jié)果,正確繪制系統(tǒng)和程序框圖。課程設(shè)計(jì)是把我們所學(xué)的理論知識(shí)進(jìn)行系統(tǒng)的總結(jié)并應(yīng)用于實(shí)踐的良好機(jī)會(huì),有利于加強(qiáng)我們用知識(shí)理論來分析實(shí)際問題的能力,進(jìn)而加強(qiáng)了我們對(duì)知識(shí)認(rèn)識(shí)的實(shí)踐度,鞏固了我們的理論知識(shí),深化了對(duì)知識(shí)的認(rèn)識(shí),并為走向社會(huì)打下一個(gè)良好的基礎(chǔ)。在這次課程設(shè)計(jì)中我遇到許多問題和麻煩,得到了老師的幫助和指導(dǎo),才能夠使得這次課程設(shè)計(jì)順利的進(jìn)行下去,另外,在程序調(diào)試過程中,也得到很多同學(xué)的幫助,給我及時(shí)指出錯(cuò)誤,提出許
16、多寶貴意見。在此對(duì)老師和同學(xué)們表示感謝!參考文獻(xiàn)1 譚浩強(qiáng). C語言程序設(shè)計(jì) (第三版).清華大學(xué)出版社2 姜靈芝,余健.C語言課程設(shè)計(jì)案例精編.清華大學(xué)出版社,2008附錄1用戶手冊(cè)點(diǎn)擊運(yùn)行,首先出現(xiàn)的是登錄界面,輸入回車。界面如下按所需要的功能輸入對(duì)應(yīng)數(shù)字,界面如下學(xué)生成績添加,界面如下學(xué)生信息查詢,界面如下學(xué)生信息修改,界面如下科目成績分析,界面如下附錄2源程序 主要模塊源代碼清單:#ifndef H_STUDENT_HH /*xxx如果沒有定義xxx*/#define H_STUDENT_HH /*xxx定義xx*/#include "stdio.h"#includ
17、e "string.h"#include "malloc.h"#define LEN sizeof(struct message_student) /*一個(gè)結(jié)構(gòu)體數(shù)組元素的長度*/#define numsubs 5 /*學(xué)科數(shù)目*/typedef struct message_student /*結(jié)構(gòu)體定義*/char number6;char name20;char sex4;char clas20;char xi10;float subjectnumsubs;float score;float average;int index;student;ex
18、tern int numstus; /*學(xué)生數(shù)目*/extern student *pointer; /*指向結(jié)構(gòu)體數(shù)組*/extern int lens;int menu_select(); /*函數(shù)聲明*/int openfile(student stu);int findrecord(student stud);int writetotext(student stud);void welcome();void display1();void showtable();void sort(student stu);void deleterecord(student stu,int i);vo
19、id addrecord(student stud);void display(student stud,int n1,int n2);void amendrecord(student stud);void count(student stud);void sortnum(student stud);void sortnum2(student stud);void sortname(student stud);void sortname2(student stud);void sortcount(student stud);void sortcount2(student stud);void
20、statistic(student stud);void display1();#endif#include "stdio.h"int menu_select()char c;printf("nn");printf(" | 1. 增加學(xué)生記錄 5.統(tǒng)計(jì)信息 |n");printf(" | 2. 查詢學(xué)生記錄 6.打開文件 |n");printf(" | 3. 修改學(xué)生記錄 7.保存文件 |n");printf(" | 4. 學(xué)生紀(jì)錄排序 8.顯示記錄 |n");printf(
21、" | 0.退出系統(tǒng) |n");printf("nn");printf("請(qǐng)選擇(0-8):");c=getchar();getchar();return (c-'0');#include "stdio.h"int findrecord(student stud) /*查找信息*/char str2;int i,num;if(numstus=0)printf("沒有可被查找的記錄n");return -1;elseprintf("以何種方式查找?n1.班級(jí)t2.系t3.
22、名次n");gets(str);if(str0='1') /*按班級(jí)查找*/printf("請(qǐng)輸入班級(jí):");gets(str);for(i=0;i<=numstus;i+)if(strcmp(str,studi.clas)=0)display(stud,i,i);break;else continue;else if(str0='2') printf("請(qǐng)輸入系:");gets(str);for(i=0;i<=numstus;i+)if(strcmp(str,studi.xi)=0)display(
23、stud,i,i);break;else continue;else if(str0='3') /*按名次查找*/printf("請(qǐng)輸入名次:");scanf("%d",&num);getchar();for(i=0;i<=numstus;i+)if(num=studi.index)display(stud,i,i);break;else continue;if(i>numstus)printf("沒有查找所要的信息。n");return -1;return i;#include"stdi
24、o.h"int openfile(student stu)int i=0,j;FILE *fp;char filename20,str2;if(numstus!=0)printf("已經(jīng)有記錄存在,是否保存?(y/n)");gets(str);if(str0='y'|str0='Y')writetotext(stu);printf("請(qǐng)輸入文件名:");gets(filename);numstus=0;if(fp=fopen(filename,"rb+")=NULL)printf("
25、無法打開該文件n");return(-1);fscanf(fp,"%d",&numstus);fgetc(fp);while(i<numstus)fscanf(fp,"%s",stui.number);fscanf(fp,"%s",);fscanf(fp,"%s",stui.sex);for(j=0;j<numsubs;j+)fscanf(fp,"%f",&stui.subjectj);fscanf(fp,"%f",&a
26、mp;stui.score);fscanf(fp,"%f",&stui.average);fscanf(fp,"%d",&stui.index);i+;fclose(fp);printf("文件讀取成功n");printf("是否顯示紀(jì)錄?(y/n)");gets(str);if(str0='y'|str0='Y')display(stu,0,numstus-1);return(0);#include "stdio.h"void sort(stud
27、ent stud)int i,j=0;char str5;student *p;p=stud;if(numstus=0)printf("沒有可供查詢的記錄!");while(1)for(i=0;i+)printf(" 請(qǐng)輸入查詢方式:");printf("(直接輸入回車則結(jié)束查詢操作)n");printf("1.按照學(xué)號(hào)t");printf("2.按照姓名t");printf("3.按照名次n");gets(str);if(strlen(str)=0) break;if(st
28、r0='1')printf("請(qǐng)輸入排序次序:n");printf("1.升序排列t");printf("2.降序排列n");gets(str);if(str0='1')sortnum2(p);elsesortnum(p);display(stud,0,numstus-1);else if(str0='2')printf("請(qǐng)輸入排序次序:n");printf("1.升序排列t");printf("2.降序排列n");gets(
29、str);if(str0='1')sortname2(p);elsesortname(p);display(stud,0,numstus-1);else if(str0='3')printf("請(qǐng)輸入排序次序:n");printf("1.升序排列t");printf("2.降序排列n");gets(str);if(str0='1')sortcount2(p);elsesortcount(p);display(stud,0,numstus-1);else printf("請(qǐng)輸入1
30、3");printf("是否退出排序?(y/n)");gets(str);if(str0='y'|str0='Y') break;return;void sortnum(student stud)int i,j;student temp;student *p;p=stud;for(i=0;i<numstus;i+)for(j=0;j<numstus-i-1;j+)if(strcmp(studj+1.number,studj.number)>0)temp=*(p+j);*(p+j)=*(p+j+1);*(p+j+1)
31、=temp;void sortnum2(student stud)int i,j;student temp;student *p;p=stud;for(i=0;i<numstus;i+)for(j=0;j<numstus-i-1;j+)if(strcmp(studj.number,studj+1.number)>0)temp=*(p+j);*(p+j)=*(p+j+1);*(p+j+1)=temp;void sortname(student stud)int i,j;student temp;student *p;p=stud;for(i=0;i<numstus;i+)
32、for(j=0;j<numstus-i-1;j+)if(strcmp(studj+1.name,)>0)temp=*(p+j);*(p+j)=*(p+j+1);*(p+j+1)=temp;void sortname2(student stud)int i,j;student temp;student *p;p=stud;for(i=0;i<numstus;i+)for(j=0;j<numstus-i-1;j+)if(strcmp(,studj+1.name)>0)temp=*(p+j);*(p+j)=*(p+j+1);*(p
33、+j+1)=temp;void sortcount(student stud)int i,j;student temp;student *p;p=stud;for(i=0;i<numstus;i+)for(j=0;j<numstus-i-1;j+)if(studj+1.index>studj.index)temp=*(p+j);*(p+j)=*(p+j+1);*(p+j+1)=temp;void sortcount2(student stud)int i,j;student temp;student *p;p=stud;for(i=0;i<numstus;i+)for(
34、j=0;j<numstus-i-1;j+)if(studj.index>studj+1.index)temp=*(p+j);*(p+j)=*(p+j+1);*(p+j+1)=temp;#include"stdio.h"void statistic(student stud) /*新增功能,輸出統(tǒng)計(jì)信息*/int i,j=0,k=0;char c1,str2;float averagenumsubs,sum=0;if(numstus=0)printf("沒有可被查找的記錄n");elsewhile(1)printf("下面將統(tǒng)計(jì)考試成
35、績n");printf("請(qǐng)選擇你要統(tǒng)計(jì)哪科的成績 1.At2.Bt3.Ct4.Dt5.En");c1=getchar();printf("t一共有個(gè)%d記錄n",numstus); /*總共記錄數(shù)*/switch(c1)case '1':for(i=0;i<numstus;i+) /*循環(huán)輸入判斷*/sum+=studi.subject0;if(studk.subject0>studi.subject0) k=i;if(studj.subject0<studi.subject0) j=i;average0=s
36、um/numstus;printf("t科目A的最高分:n"); /*最高分*/printf("tt學(xué)號(hào):%s 姓名:%s 分?jǐn)?shù):%.2fn",studj.number,,studj.subject0);printf("t科目A的最低分是:n"); /*最低分*/printf("tt學(xué)號(hào):%s 姓名:%s 分?jǐn)?shù):%.2fn",studk.number,,studk.subject0);printf("t科目A的平均分是 %5.2fn",average0);
37、 /*平均分*/break;case '2':for(i=0;i<numstus;i+) /*循環(huán)輸入判斷*/sum+=studi.subject1;if(studk.subject1>studi.subject1) k=i;if(studj.subject1<studi.subject1) j=i;average1=sum/numstus;printf("t科目B的最高分:n"); /*最高分*/printf("tt學(xué)號(hào):%s 姓名:%s 分?jǐn)?shù):%.2fn",studj.number,,studj.
38、subject1);printf("t科目B的最低分是:n"); /*最低分*/printf("tt學(xué)號(hào):%s 姓名:%s 分?jǐn)?shù):%.2fn",studk.number,,studk.subject1);printf("t科目B的平均分是 %5.2fn",average1); /*平均分*/break;case '3':for(i=0;i<numstus;i+) /*循環(huán)輸入判斷*/sum+=studi.subject2;if(studk.subject2>studi.subject2)
39、 k=i;if(studj.subject2<studi.subject2) j=i;average2=sum/numstus;printf("t科目C的最高分:n"); /*最高分*/printf("tt學(xué)號(hào):%s 姓名:%s 分?jǐn)?shù):%.2fn",studj.number,,studj.subject2);printf("t科目C的最低分是:n"); /*最低分*/printf("tt學(xué)號(hào):%s 姓名:%s 分?jǐn)?shù):%.2fn",studk.number,,studk.
40、subject2);printf("t科目C的平均分是 %5.2fn",average2); /*平均分*/break;case '4':for(i=0;i<numstus;i+) /*循環(huán)輸入判斷*/sum+=studi.subject3;if(studk.subject3>studi.subject3) k=i;if(studj.subject3<studi.subject3) j=i;average3=sum/numstus;printf("t科目D的最高分:n"); /*最高分*/printf("tt學(xué)
41、號(hào):%s 姓名:%s 分?jǐn)?shù):%.2fn",studj.number,,studj.subject3);printf("t科目D的最低分是:n"); /*最低分*/printf("tt學(xué)號(hào):%s 姓名:%s 分?jǐn)?shù):%.2fn",studk.number,,studk.subject3);printf("t科目D的平均分是 %5.2fn",average3); /*平均分*/break;case '5':for(i=0;i<numstus;i+) /*循環(huán)輸入判斷*/
42、sum+=studi.subject4;if(studk.subject4>studi.subject4) k=i;if(studj.subject4<studi.subject4) j=i;average4=sum/numstus;printf("t科目E的最高分:n"); /*最高分*/printf("tt學(xué)號(hào):%s 姓名:%s 分?jǐn)?shù):%.2fn",studj.number,,studj.subject4);printf("t科目E的最低分是:n"); /*最低分*/printf("tt學(xué)
43、號(hào):%s 姓名:%s 分?jǐn)?shù):%.2fn",studk.number,,studk.subject4);printf("t科目E的平均分是 %5.2fn",average4); /*平均分*/break;default:printf("輸入錯(cuò)誤!請(qǐng)輸入15之間的數(shù)n");sum=0;getchar();printf("是否繼續(xù)進(jìn)行統(tǒng)計(jì)?(y/n)");gets(str);if(str0='y'|str0='Y') ;else break;#include"stdio
44、.h"int writetotext(student stud) /*將所有記錄寫入文件*/int i=0,j;FILE *fp;char filename20;printf("輸入文件名稱:");gets(filename);fp=fopen(filename,"w");fprintf(fp,"%dn",numstus);while(i<numstus)fprintf(fp,"%s %s %s ",studi.number,,studi.sex);for(j=0;j<nu
45、msubs;j+)fprintf(fp,"%f ",studi.subjectj);fprintf(fp,"%f %f %d ",studi.score,studi.average,studi.index);i+;fclose(fp);printf("已成功存儲(chǔ)!n");display(stud,0,numstus-1);numstus=0;return 0;#include"stdio.h"void welcome()printf("t*n");printf("tttt歡迎進(jìn)入學(xué)生成
46、績分析系統(tǒng)tttttttt 歡迎使用!n");printf("t*n");printf("ttttttnn");printf("tttttt制作人員列表: n");printf("tttttt趙子豪nttttttB14130235n");printf("輸入回車進(jìn)入菜單欄:n");printf("nn");getchar();void showtable()printf("-n");printf("學(xué)號(hào)t姓名t性別t班級(jí)t系tAtBtC
47、tDtE 總分 平均分 名次n");printf("-n");void display(student stud,int n1,int n2)int i;showtable(); /*顯示表頭*/for(i=n1;i<=n2;i+)printf("%st%st%st%st%st%.1ft%.1ft%.1ft%.1ft%.1f %.1f %.1f %dtn",studi.number,,studi.sex,studi.clas,studi.xi,studi.subject0,studi.subject1,studi.su
48、bject2,studi.subject3,studi.subject4,studi.score,studi.average,studi.index);/*通過循環(huán)輸出數(shù)據(jù)*/void display1()printf("ttnn");printf("tt制作人員列表: n");printf("tttttt趙子豪nttttttB14130235n");printf("ttt=歡迎下次使用=");printf("nn");getchar();#include"stdio.h"#
49、include<string.h>void amendrecord(student stud)char str5; /*供用戶輸入*/int i=-1,j;if(numstus=0) /*沒有記錄返回*/printf("沒有可供修改的記錄!");while(i<0)i=findrecord(stud);if(i>=0)printf("要?jiǎng)h除這個(gè)學(xué)生的信息嗎?(y/n)");gets(str);if(str0='y'|str0='Y')deleterecord(stud,i);count(stud);
50、elseprintf("確定要修改這個(gè)學(xué)生的信息嗎?(y/n)");gets(str);if(str0='y'|str0='Y')printf("下面請(qǐng)重新輸入學(xué)生的信息:n");printf("請(qǐng)輸入學(xué)號(hào):");gets(studi.number);printf("請(qǐng)輸入姓名:");gets();printf("請(qǐng)輸入性別(男/女 1/0):");gets(str);if(str0='0')strcpy(studi.sex,&
51、quot;女");elsestrcpy(studi.sex,"男");studi.score=0;printf("請(qǐng)按順序輸入成績:");for(j=0;j<numsubs;j+)scanf("%f",&studi.subjectj);studi.score+=studi.subjectj;getchar();studi.average=studi.score/numsubs;count(stud);display(stud,0,numstus-1);printf("是否繼續(xù)進(jìn)行其他修改?(y/n)n
52、");gets(str);if(str0='y'|str0='Y')i=-1;else i=1;void deleterecord(student stu,int i) /*刪除信息*/int j;while(i>=0)for(j=i;j<numstus;j+)stuj=stuj+1;numstus-;printf("刪除成功!n");void count(student stud)int i,j;for(i=0;i<numstus;i+)studi.index=1;for(j=0;j<numstus;j+)if(studj.score>studi.score)studi.index+;#include "stdio.h"void addrecord(student stud)int i=0,j,num;char str5;if(numstus!=0)printf("已有記錄存在是否覆蓋
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 遼寧省大連市2022-2023學(xué)年高二下學(xué)期期末考試化學(xué)試題(含答案)
- 介紹玩具活動(dòng)方案
- 從軍夏日活動(dòng)方案
- 倉儲(chǔ)貨架促銷活動(dòng)方案
- 倉庫清理活動(dòng)方案
- 付費(fèi)專欄活動(dòng)方案
- 代表之家活動(dòng)方案
- 代賬公司節(jié)假日活動(dòng)方案
- 企業(yè)與企業(yè)團(tuán)建活動(dòng)方案
- 企業(yè)代言活動(dòng)方案
- 山東省水利水電工程施工企業(yè)安全生產(chǎn)管理三類人員考試題庫-上(單選、多選題)
- 中醫(yī)常用穴位定位及主治共41張課件
- 氫氧化鈉化學(xué)品安全技術(shù)說明書(MSDS)
- 礦井定期測(cè)風(fēng)管理制度
- 千喜鶴培訓(xùn)手冊(cè)終版
- 申請(qǐng)人申請(qǐng)仲裁送達(dá)信息確認(rèn)書
- (完整版)生物同源性荷爾蒙替代療法課件
- 福建跨學(xué)科四門主干課程作業(yè)及答案小學(xué)語文
- (高清正版)JJF 1908-2021 雙金屬溫度計(jì)校準(zhǔn)規(guī)范
- 硬式內(nèi)窺鏡項(xiàng)目計(jì)劃書_模板范本
- 皮內(nèi)注射--ppt課件
評(píng)論
0/150
提交評(píng)論