學生成績標準管理系統(tǒng)專業(yè)課程設計報告樣本(共26頁)_第1頁
學生成績標準管理系統(tǒng)專業(yè)課程設計報告樣本(共26頁)_第2頁
學生成績標準管理系統(tǒng)專業(yè)課程設計報告樣本(共26頁)_第3頁
學生成績標準管理系統(tǒng)專業(yè)課程設計報告樣本(共26頁)_第4頁
學生成績標準管理系統(tǒng)專業(yè)課程設計報告樣本(共26頁)_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、學生成績標準管理系統(tǒng)專業(yè)課程設計報告目 錄1、需求與功能分析 32、系統(tǒng)總體框架 43、模塊設計與分析 44、類的設計與分析 65、特色算法分析 76、功能測試 107、存在的不足與對策 138、程序源代碼 149、使用說明 2310、參考文獻 231、 需求與功能分析(1)需求分析學生成績管理系統(tǒng)主要提供成績查詢,方便管理的網(wǎng)上的信息查閱平臺,學生可以通過該系統(tǒng)查閱與自己相關信息,查看留言、提交留言。教師可以通過成績管理系統(tǒng)查閱學生成績信息,教師信息,查看教師留言、學生留言、提交留言、留言的管理等相關操作。系統(tǒng)管理員可以實現(xiàn)以上的所有功能,還有對學生的添加、刪除、修改、教師的添加、刪除、修改

2、,數(shù)據(jù)庫的備份、數(shù)據(jù)庫的還原等相關操作。根據(jù)開發(fā)要求,學生成績管理系統(tǒng)主要應用于教育系統(tǒng),完成對日常的教學、教務、教師以及學生的計算機化的管理。開發(fā)學生成績管理系統(tǒng)可使學院教職員工減輕工作壓力,比較系統(tǒng)地對教務、教學上的各項服務和信息進行管理,同時,可以減少勞動力的使用,加快查詢速度、加強管理,以及國家各部門關于信息化的步伐,使各項管理更加規(guī)范化。目前,學校工作繁雜、資料重多。目前,管理信息系統(tǒng)已進入高校,但還未普及,而對于學生成績管理來說,目前還沒有一套完整的、統(tǒng)一的系統(tǒng)。因此,開發(fā)一套適和大眾的、兼容性好的系統(tǒng)是很有必要的。(2)功能分析 “學生成績管理系統(tǒng)”包括九個模塊:輸入學生資料,輸

3、出學生資料,學生姓名按順序排列,添加學生資料,按姓名查找,刪除該學生資料,查找并顯示學生資料,按姓名查找,修改該學生資料,從文件中讀入數(shù)據(jù),儲存學生資料并退出系統(tǒng)。這九個模塊既相互聯(lián)系又相互獨立。本系統(tǒng)根據(jù)學生成績管理的需要,而建立一個“學生成績管理系統(tǒng)”,以方便對成績的各項管理操作。本系統(tǒng)能對成績進行輸入和輸出;能按姓名對學生進行排序,并顯示學生資料、成績等,不過得以系統(tǒng)輸入學生資料、成績?yōu)榍疤?;能添加學生成績資料;能根據(jù)學生的姓名來查詢該學生的成績資料,并修改或是刪除該學生信息;能夠從文件中讀取學生信息,并且添加到系統(tǒng)中;能把對系統(tǒng)所進行的操作進行保存,以及時更新系統(tǒng)中的數(shù)據(jù)。2、 系統(tǒng)總

4、體框架主菜單輸入學生資料模塊輸出學生資料模塊按學生姓名進行排列模塊添加學生 資料模塊按姓名查找,刪除該學生資料模塊查找并顯示學生資料模塊按姓名查找,修改學生資料模塊從文件中讀入數(shù)據(jù)模塊儲存學生資料并退出系統(tǒng)模塊 圖1 3、模塊設計與分析(1)輸入學生資料模塊:主要功能用來對學生的成績進行收集和輸入。在學生信息保存在系統(tǒng)中的前提下,成績錄入需要輸入學生資料,比如班級,學號,姓名。在準確輸入學生資料后,就可以對該學生的各科成績進行錄入。該學生各科成績輸入成功后,系統(tǒng)會提示是否繼續(xù)進行操作,如果想繼續(xù)輸入學生成績就輸入y,不想再輸入學生成績的話就輸入n,再輸入n之后,系統(tǒng)返回到主菜單。(2)輸出學生

5、資料模塊:主要功能用來對學生的成績進行輸出。在系統(tǒng)已經(jīng)錄入了學生資料成績的前提下,使用該功能可以顯示所有學生的信息,資料等等。具體包括學生的班級,學號,姓名和各科成績。在查看學生的資料,成績各方面的信息后,按任意鍵就可以返回到主菜單。(3) 按學生姓名進行排列模塊主要功能是用來對學生的資料按姓名進行排序。在系統(tǒng)保存學生資料,成績的前提下,使用此功能可以對學生的資料按姓名進行排序,這樣就方便查找姓氏相同或是相近的同學的資料。(4) 添加學生資料模塊主要功能是用來添加學生資料,成績。如果系統(tǒng)有保存學生資料的情況下,想錄入學生成績的話,就不用添加學生資料這模塊。如果系統(tǒng)沒有保存該學生信息的話,就要使

6、用此模塊,在成功添加學生資料后,就可以對該學生進行其他的操作。(5)按姓名查找,刪除該學生資料模塊主要功能是用來刪除學生資料。在系統(tǒng)保存學生資料的前提下,想刪除某學生的資料,可以輸入學生姓名,系統(tǒng)查找該學生資料后,就可以刪除了。由于學生輟學,畢業(yè)等原因,及時對系統(tǒng)進行更新,刪除一些沒用的信息,可以使系統(tǒng)更加優(yōu)化(6)查找并顯示學生資料模塊主要功能是用來查找學生資料。在系統(tǒng)保存了某學生資料的前提下,想要查找該學生資料,可以輸入該學生姓名,這樣系統(tǒng)就會顯示該學生資料和各科成績等信息(7)按姓名查找,修改學生資料模塊主要功能是用來修改學生資料。在系統(tǒng)保存了某學生資料的前提下,想要查找該學生資料,可以

7、輸入該學生姓名,系統(tǒng)就會顯示該學生資料和各科成績等信息,這樣就可以修改該學生的資料,成績等信息。(8)從文件中讀入數(shù)據(jù)模塊主要功能是用來從文件中讀入學生數(shù)據(jù)。由于一些資料可以用Word文檔或Excel表格輸入,故在此模塊中增加了導入數(shù)據(jù)的功能。這樣就方便很多,不用把學生資料一個一個添加,節(jié)省了很多時間精力。(9)儲存學生資料并退出系統(tǒng)模塊 主要功能是用來儲存學生資料。在對系統(tǒng)進行一系列操作,比如添加、刪除、修改學生資料后,對系統(tǒng)的最新操作進行保存,及時更新系統(tǒng),方便下一次的操作。4、類的設計與分析Student類類圖 studentnumclanamebyyljsjzcsjkjsjyytype

8、def classpublic: char num10; char cla10; char name20; char byyl10; char jsjzc20; char sjk10; char jsjyy20;Student;表1 Student類說明表名稱屬性說明num數(shù)據(jù)成員說明學生學號cla數(shù)據(jù)成員說明學生班級name數(shù)據(jù)成員說明學生名字byyl數(shù)據(jù)成員說明學生編譯原理成績jsjzc數(shù)據(jù)成員說明學生計算機組成成績sjk數(shù)據(jù)成員說明學生數(shù)據(jù)庫成績jsjyy數(shù)據(jù)成員說明學生計算機英語成績5、特色算法分析 功能:定義菜單函數(shù),通過輸出函數(shù)顯示系統(tǒng)功能。利用switch語句實現(xiàn)多分支選擇結構。

9、算法思路:switch語句的執(zhí)行流程是:首先計算switch后面圓括號中表達式的值,然后用此值依次與各個case的常量表達式比較,若圓括號中表達式的值與某個case后面的常量表達式的值相等,就執(zhí)行此case后面的語句,執(zhí)行后遇break語句就退出switch語句。 流程圖:case=2case=3case=4case=5case=6case=1case=7case=8case=0輸入學生資料添加學生資料按姓名查找,刪除該學生資料查找并顯示學生資料從文件中讀入數(shù)據(jù)按姓名查找,修改學生資料儲存學生資料并退出系統(tǒng)按學生姓名進行排列輸出學生資料yesnoyesyesyesyesyesyesyesyes

10、nononononono 代碼:void main() /主函數(shù)調用。 int n=0; for(;) switch(menu() case 1: coutsetw(15) 輸入學生資料endl; n=Input(stu,n); break; case 2: coutsetw(15) 輸出所有學生資料endl; Display(stu,n); break; case 3: coutsetw(15) 按姓名排序endl; Sort(stu,n); coutsetw(15) ; system(pause); break; case 4: coutsetw(15) 插入學生資料endl; n=Ins

11、ert(stu,n); coutsetw(15) ; system(pause); break; case 5: coutsetw(15) 刪除學生資料endl; coutsetw(15) 輸入他(她)的姓名:; n=Delete(stu,n); coutsetw(15) ; system(pause); break; case 6: coutsetw(15) 查找學生endl; Query(stu,n); coutsetw(15) ; system(pause); break; case 7: coutsetw(15) 修改學生資料endl; coutsetw(15) 輸入你要修改的學生的姓

12、名:; n=Xiugai(stu,n); system(pause); break; case 8: coutsetw(15) 從文件中讀入數(shù)據(jù)endl; n=AddfromText(stu,n); break; case 0: coutsetw(15) 將所有資料寫入文件endl; WritetoText(stu,n); coutsetw(15) ; system(pause); break; 6、功能測試 圖1 學生成績管理系統(tǒng)主菜單頁面圖二 為輸入學生資料模塊 圖三 為輸出學生資料模塊 圖四 按學生姓名進行排列模塊圖五 為添加學生資料模塊圖六 為按姓名查找,刪除該學生資料模塊圖七 為查找

13、并顯示學生資料模塊圖八 為按姓名查找,修改學生資料模塊圖九 為從文件中讀入數(shù)據(jù)模塊圖十 為儲存學生資料并退出系統(tǒng)模塊7、存在的不足與對策本學生成績管理系統(tǒng)由九個模塊組成,每個模塊相互聯(lián)系又相互獨立。這個學生成績管理系統(tǒng)存在著很多不足之處,由于自己本身編程能力的問題,這個系統(tǒng)可以實現(xiàn)的功能非常有限。只能實現(xiàn)學生管理系統(tǒng)最基本的功能,可以進行簡單的輸入、輸出學生資料,查詢和修改學生信息,能直接從文件中讀入數(shù)據(jù),能對系統(tǒng)所作的修改、操作進行保存等。而且在每個模塊也有不足的地方,比如在輸入學生資料時,對每個信息項沒有嚴格的規(guī)定,可以輸入任何的字符。同時有些模塊還不能實現(xiàn)本應該有的功能,這有待以后努力,

14、爭能夠實現(xiàn)該有的功能。在21世紀的科技時代,科學技術突飛猛進,計算機已經(jīng)不僅是在科技上應用,而且在生活中也是同樣得到了廣泛在應用。如今,不管是小學、初中、高中、甚至是很多大學生的學生成績管理基本上是靠人工進行管理,但隨著時間的變化,學校規(guī)模的擴大,有關學生成績管理工作和所涉及到的數(shù)據(jù)量越來越大越來越多,大多數(shù)學校不得不靠增加人力、物力、財力來進行學生成績管理。但是人工管理成績檔案具有效率低、查找麻煩、可靠性不高、保密性低等因素。因此開發(fā)出一個不僅僅是適用于大中專院校以及其它高校通用的學生成績管理系統(tǒng)是必要的。 開發(fā)一個學生成績管理系統(tǒng),采用計算機對學生成績進行管理,進一步提高了辦學效益和現(xiàn)代化

15、水平。為廣大教師和學生提高工作效率,實現(xiàn)學生成績信息管理工作流程的系統(tǒng)化、規(guī)范化和自動化。現(xiàn)在我國的大中專院校的學生成績檔案管理水平普遍都不是很高,有的還停留在全用紙介質基礎上,這種管理方式已不能適應時代的發(fā)展,社會的需求,因為它浪費了大量的人力物力,也存在著許多不足的因素。在今天信息時代這種傳統(tǒng)的管理方法必然會被計算機為基礎的信息管理系統(tǒng)所代替。一個高效的學生成績管理系統(tǒng)可以存儲歷屆的學生成績檔案,不需要大量的人力,只需要幾名專門錄入員即可操作系統(tǒng),節(jié)省大量人力,可以迅速查到所需信息、高效、安全,學生在能方便的查看自己的成績。8、程序源代碼#include#include#include#i

16、nclude#include#include#includeusing namespace std;typedef classpublic: char num10; char cla10; char name20; char byyl10; char jsjzc20; char sjk10; char jsjyy20;Student;Student stu80;int menu() char c; for(;c8;) system(cls); cout 歡迎使用本學生成績管理系統(tǒng)!endl; cout編程人員:紀欣吉; coutendl; cout* 學生成績管理系統(tǒng) * endl; cout

17、setw(32) endl; coutsetw(32) endl; coutsetw(32) endl; coutsetw(32) endl; coutsetw(32) ,刪除該學生資料endl; coutsetw(32) endl; coutsetw(32) ,修改該學生資料endl; coutsetw(32) endl; coutsetw(32) endl; coutsetfill(=)setw(48)=endl; coutsetw(15) ; cout請選擇(0-8):; c=getchar(); return(c-0);int Input(Student stud,int n) /輸入

18、數(shù)據(jù)。 int i=0; char sign,x10; for(;sign != n & sign != N;) coutsetw(15) studn+i.cla; coutsetw(15) studn+i.num; coutsetw(15) studn+; coutsetw(15) studn+i.byyl; coutsetw(15) studn+i.jsjzc; coutsetw(15) studn+i.sjk; coutsetw(15) studn+i.jsjyy; gets(x); coutsetw(10) ; cout&sign; i+; return(n+i); voi

19、d Display(Student stud, int n) /輸出數(shù)據(jù)。 int i; coutsetw(15) setfill(-)setw(65)-endl; coutsetw(15) 班級 學號 姓名 編譯原理 計算機組成原理 數(shù)據(jù)庫 計算機英語endl; coutsetw(15) ; coutsetfill(-)setw(65)-endl; for(i=1;i1 & i%10=0) coutsetw(15) setfill(-)setw(35)-endl; coutsetw(15) ; system(pause); coutsetw(15) setfill(-)setw(35)-en

20、dl; coutsetw(15) ; system(pause);void Sort(Student stud,int n) /按名字排序。 int i,j; char t20; for(i=0;in-1;i+) for(j=0;j0) strcpy(t,studj+1.cla); strcpy(studj+1.cla,studj.cla); strcpy(studj.cla,t); strcpy(t,studj+1.num); strcpy(studj+1.num,studj.num); strcpy(studj.num,t); strcpy(t,studj+1.name); strcpy(

21、studj+1.name,); strcpy(,t); strcpy(t,studj+1.byyl); strcpy(studj+1.name,studj.byyl); strcpy(studj.byyl,t); strcpy(t,studj+1.jsjzc); strcpy(studj+1.name,studj.jsjzc); strcpy(studj.jsjzc,t); strcpy(t,studj+1.sjk); strcpy(studj+1.name,studj.sjk); strcpy(studj.sjk,t); strcpy(t,studj+

22、1.jsjyy); strcpy(studj+1.name,studj.jsjyy); strcpy(studj.jsjyy,t); coutsetw(15) 排序成功!endl;int Insert(Student stud,int n) /插入一條學生信息。 char x10; coutsetw(15) studn.cla; coutsetw(15) studn.num; coutsetw(15) ; coutsetw(15) studn.byyl; coutsetw(15) studn.jsjzc; coutsetw(15) studn.sjk; coutsetw(1

23、5) studn.jsjyy; gets(x); n+; coutsetw(15) 插入成功!s; while(strcmp(,s)!=0&in) i+; /*查找判斷*/ if(i=n) printf(ttt沒有發(fā)現(xiàn)該學生資料!n); /*返回失敗信息*/ return(n); for(j=i;jn-1;j+) /*刪除操作*/ strcpy(studj.num,studj+1.num); strcpy(,studj+1.name); strcpy(studj.cla,studj+1.cla); strcpy(studj.byyl,studj+1.by

24、yl); strcpy(studj.jsjzc,studj+1.jsjzc); strcpy(studj.sjk,studj+1.sjk); strcpy(studj.jsjyy,studj+1.jsjyy); coutsetw(15) 當前信息已刪除成功!endl; /*返回成功信息*/ return(n-1); void Query(Student stud,int n) /按名字查找信息 char s20; int i=0; coutsetw(15) s; while(strcmp(,s)!=0&in) i+; /*查找判斷*/ if(i=n) printf(ttt沒

25、有發(fā)現(xiàn)該學生資料!n); /*輸入失敗信息*/ return; coutsetw(15) 學號:studi.numendl; coutsetw(15) 編譯原理:studi.byylendl; coutsetw(15) 計算機組成原理:studi.jsjzcendl; coutsetw(15) 數(shù)據(jù)庫:studi.sjkendl; coutsetw(15) 計算機英語:studi.jsjyyendl;int Xiugai(Student stud,int n) /修改信息。 n=Delete(stud,n); coutsetw(15) 輸入你要修改的學生資料endl; n=Insert(stu

26、d,n); coutsetw(15) 修改完成endl; return(n);int AddfromText(Student stud, int n) /從文件中讀入數(shù)據(jù)。 int i=0,num; FILE *fp; char filename20; coutsetw(15) filename; if(fp=fopen(filename,rb)=NULL) coutsetw(15) 無法打開文件endl; coutsetw(15) ; system(pause); return(n); fscanf(fp,%d,&num); for(;inum;) fscanf(fp,%s%s%s%s%s%

27、s%s,studn+i.cla,studn+i.num,studn+,studn+i.byyl,studn+i.jsjzc,studn+i.sjk,studn+i.jsjyy); i+; n+=num; fclose(fp); coutsetw(15) 讀入成功!endl; coutsetw(15) ; system(pause); return(n); void WritetoText(Student stud,int n) /將所有記錄寫入文件。 int i=0; FILE *fp; char filename20; coutsetw(15) 將資料輸入文件endl; cout

28、setw(15) filename; if(fp=fopen(filename,w)=NULL) coutsetw(15) 無法打開文件endl; system(pause); return; fprintf(fp,%dn,n); for(;in;) fprintf(fp,%-6s%-5s%-5s%-5s%-5s%-5s%-5sn,studi.cla,studi.num,,studi.byyl,studi.jsjzc,studi.sjk,studi.jsjyy); i+; fclose(fp); coutsetw(15) 輸入成功!endl; int b; coutsetw(15) 請確定是否退出系統(tǒng):endl; coutsetw(15) endl; coutsetw(15) b; if(b=0) coutsetw(15) 謝謝使用!endl; coutsetw(15) ; system(pause); exit(0); void main() /主函數(shù)調用。 int n=0; for(;) switch(menu() case 1:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論