《C++課程設(shè)計》學(xué)生成績管理系統(tǒng)課程設(shè)計論文

上傳人:仙*** 文檔編號:28699223 上傳時間:2021-09-07 格式:DOC 頁數(shù):24 大?。?12.06KB
收藏 版權(quán)申訴 舉報 下載
《C++課程設(shè)計》學(xué)生成績管理系統(tǒng)課程設(shè)計論文_第1頁
第1頁 / 共24頁
《C++課程設(shè)計》學(xué)生成績管理系統(tǒng)課程設(shè)計論文_第2頁
第2頁 / 共24頁
《C++課程設(shè)計》學(xué)生成績管理系統(tǒng)課程設(shè)計論文_第3頁
第3頁 / 共24頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《C++課程設(shè)計》學(xué)生成績管理系統(tǒng)課程設(shè)計論文》由會員分享,可在線閱讀,更多相關(guān)《《C++課程設(shè)計》學(xué)生成績管理系統(tǒng)課程設(shè)計論文(24頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、《C++課程設(shè)計》 課程設(shè)計題目:學(xué)生成績管理系統(tǒng) 學(xué)生學(xué)號: 學(xué)生姓名: 指導(dǎo)教師: 二〇一〇年十一月二十八日 目 錄 1、系統(tǒng)總體框架 2、功能分析 3、模塊設(shè)計與分析 4、類的設(shè)計與分析 5、特色算法分析 6、功能測試 7、存在的不足與對策 8、程序源代碼 9、使用說明 1、 系統(tǒng)總體框架 主 菜 單 輸入學(xué)生資料模塊 輸出學(xué)生資料模塊 按學(xué)生姓名進行排列模塊 添加學(xué)生 資料模塊 按姓名查找,刪除該學(xué)生資料模塊

2、查找并顯示學(xué)生資料模塊 按姓名查找,修改學(xué)生資料模塊 從文件中讀入數(shù)據(jù)模塊 儲存學(xué)生資料并退出系統(tǒng)模塊 圖1 2、功能分析 “學(xué)生成績管理系統(tǒng)”包括九個模塊:輸入學(xué)生資料,輸出學(xué)生資料,學(xué)生姓名按順序排列,添加學(xué)生資料,按姓名查找,刪除該學(xué)生資料,查找并顯示學(xué)生資料,按姓名查找,修改該學(xué)生資料,從文件中讀入數(shù)據(jù),儲存學(xué)生資料并退出系統(tǒng)。這九個模塊既相互聯(lián)系又相互獨立。 本系統(tǒng)根據(jù)學(xué)生成績管理的需要,而建立一個“學(xué)生成績管理系統(tǒng)”,以方便對成績的各項管理

3、操作。本系統(tǒng)能對成績進行輸入和輸出;能按姓名對學(xué)生進行排序,并顯示學(xué)生資料、成績等,不過得以系統(tǒng)輸入學(xué)生資料、成績?yōu)榍疤?;能添加學(xué)生成績資料;能根據(jù)學(xué)生的姓名來查詢該學(xué)生的成績資料,并修改或是刪除該學(xué)生信息;能夠從文件中讀取學(xué)生信息,并且添加到系統(tǒng)中;能把對系統(tǒng)所進行的操作進行保存,以及時更新系統(tǒng)中的數(shù)據(jù)。 3、模塊設(shè)計與分析 (1)輸入學(xué)生資料模塊: 主要功能用來對學(xué)生的成績進行收集和輸入。在學(xué)生信息保存在系統(tǒng)中的前提下,成績錄入需要輸入學(xué)生資料,比如班級,學(xué)號,姓名。在準(zhǔn)確輸入學(xué)生資料后,就可以對該學(xué)生的各科成績進行錄入。該學(xué)生各科成績輸入成功后

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

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

6、找該學(xué)生資料,可以輸入該學(xué)生姓名,這樣系統(tǒng)就會顯示該學(xué)生資料和各科成績等信息 (7)按姓名查找,修改學(xué)生資料模塊 主要功能是用來修改學(xué)生資料。在系統(tǒng)保存了某學(xué)生資料的前提下,想要查找該學(xué)生資料,可以輸入該學(xué)生姓名,系統(tǒng)就會顯示該學(xué)生資料和各科成績等信息,這樣就可以修改該學(xué)生的資料,成績等信息。 (8)從文件中讀入數(shù)據(jù)模塊 主要功能是用來從文件中讀入學(xué)生數(shù)據(jù)。由于一些資料可以用Word文檔或Excel表格輸入,故在此模塊中增加了導(dǎo)入數(shù)據(jù)的功能。這樣就方便很多,不用把學(xué)生資料一個一個添加,節(jié)省了很多時間精力。 (9)儲存學(xué)生資料并退出系統(tǒng)模塊 主要功能是用來儲存學(xué)生資料。在對系統(tǒng)

7、進行一系列操作,比如添加、刪除、修改學(xué)生資料后,對系統(tǒng)的最新操作進行保存,及時更新系統(tǒng),方便下一次的操作。 4、類的設(shè)計與分析 Student類類圖 student num cla name byyl jsjzc sjk jsjyy typedef class { public: char num[10]; char cla[10]; char name[20]; char byyl[10]; char jsjzc[20]; char sjk[10]; char jsjyy[20]; char jsdl[

8、20]; }Student; 表1 Student類說明表 名稱 屬性 說明 num 數(shù)據(jù)成員 說明學(xué)生學(xué)號 cla 數(shù)據(jù)成員 說明學(xué)生班級 name 數(shù)據(jù)成員 說明學(xué)生名字 byyl 數(shù)據(jù)成員 說明學(xué)生數(shù)據(jù)結(jié)構(gòu)成績 jsjzc 數(shù)據(jù)成員 說明學(xué)生離散數(shù)學(xué)成績 sjk 數(shù)據(jù)成員 說明學(xué)生大學(xué)物理成績 jsjyy 數(shù)據(jù)成員 說明學(xué)生大學(xué)英語成績 Jssl 數(shù)據(jù)成員 說明學(xué)生模擬電路成績 5、特色算法分析 功能:定義菜單函數(shù),通過輸出函數(shù)顯示系統(tǒng)功能。利用switch語句實現(xiàn)多分支選擇結(jié)構(gòu)。 算法思路

9、:switch語句的執(zhí)行流程是:首先計算switch后面圓括號中表達式的值,然后用此值依次與各個case的常量表達式比較,若圓括號中表達式的值與某個case后面的常量表達式的值相等,就執(zhí)行此case后面的語句,執(zhí)行后遇break語句就退出switch語句。 代碼: void main() //主函數(shù)調(diào)用。 { int n=0; for(;;) { switch(menu()) { case 1: cout<

10、; case 2: cout<

11、 cout<

12、(stu,n); cout<

13、u,n); break; case 0: cout<

14、 圖五 為添加學(xué)生資料模塊 圖六 為按姓名查找,刪除該學(xué)生資料模塊 圖七 為查找并顯示學(xué)生資料模塊 圖八 為按姓名查找,修改學(xué)生資料模塊 圖九 為從文件中讀入數(shù)據(jù)模塊 圖十 為儲存學(xué)生資料并退出系統(tǒng)模塊 7、存在的不足與對策 本學(xué)生成績管理系統(tǒng)由九個模塊組成,每個模塊相互聯(lián)系又相互獨立。這個學(xué)生成績管理系統(tǒng)存在著很多不足之處,由于自己本身編程能力的問題,這個系統(tǒng)可以實現(xiàn)的功能非常有限。只能實現(xiàn)學(xué)生管理系統(tǒng)最基本的功能,可以進行簡單的輸入、輸出學(xué)生資料,查詢和修改學(xué)生信息,能直接從文件中讀入數(shù)據(jù),能對系統(tǒng)所作的修改、操作進行保存等。而且在每個模塊也有不

15、足的地方,比如在輸入學(xué)生資料時,對每個信息項沒有嚴(yán)格的規(guī)定,可以輸入任何的字符。同時有些模塊還不能實現(xiàn)本應(yīng)該有的功能,這有待以后努力,爭能夠?qū)崿F(xiàn)該有的功能。 在21世紀(jì)的科技時代,科學(xué)技術(shù)突飛猛進,計算機已經(jīng)不僅是在科技上應(yīng)用,而且在生活中也是同樣得到了廣泛在應(yīng)用。如今,不管是小學(xué)、初中、高中、甚至是很多大學(xué)生的學(xué)生成績管理基本上是靠人工進行管理,但隨著時間的變化,學(xué)校規(guī)模的擴大,有關(guān)學(xué)生成績管理工作和所涉及到的數(shù)據(jù)量越來越大越來越多,大多數(shù)學(xué)校不得不靠增加人力、物力、財力來進行學(xué)生成績管理。但是人工管理成績檔案具有效率低、查找麻煩、可靠性不高、保密性低等因素。因此開發(fā)出一個不僅僅是適用于大

16、中專院校以及其它高校通用的學(xué)生成績管理系統(tǒng)是必要的。 開發(fā)一個學(xué)生成績管理系統(tǒng),采用計算機對學(xué)生成績進行管理,進一步提高了辦學(xué)效益和現(xiàn)代化水平。為廣大教師和學(xué)生提高工作效率,實現(xiàn)學(xué)生成績信息管理工作流程的系統(tǒng)化、規(guī)范化和自動化?,F(xiàn)在我國的大中專院校的學(xué)生成績檔案管理水平普遍都不是很高,有的還停留在全用紙介質(zhì)基礎(chǔ)上,這種管理方式已不能適應(yīng)時代的發(fā)展,社會的需求,因為它浪費了大量的人力物力,也存在著許多不足的因素。在今天信息時代這種傳統(tǒng)的管理方法必然會被計算機為基礎(chǔ)的信息管理系統(tǒng)所代替。一個高效的學(xué)生成績管理系統(tǒng)可以存儲歷屆的學(xué)生成績檔案,不需要大量的人力,只需要幾名專門錄入員即可操作系

17、統(tǒng),節(jié)省大量人力,可以迅速查到所需信息、高效、安全,學(xué)生在能方便的查看自己的成績。 8、程序源代碼 #include #include #include #include #include #include #include using namespace std; typedef class { public: char num[10]; char cla[10]; char name[20]; char byyl[1

18、0]; char jsjzc[20]; char sjk[10]; char jsjyy[20]; char jsdl[20]; }Student; Student stu[80]; int menu() { char c; for(;c<0||c>8;) { system("cls"); cout<<" 歡迎使用本學(xué)生成績管理系統(tǒng)??!"<

19、*********** 學(xué)生成績管理系統(tǒng) ****************************** "<

20、<<" "<<"6.查找并顯示學(xué)生資料"<

21、 int Input(Student stud[],int n) //輸入數(shù)據(jù)。 { int i=0; char sign,x[10]; for(;sign != n && sign != N;) { cout<>stud[n+i].cla; cout<>stud[n+i].num; cout<>stud[n+i].name; cout<

22、(15)<<" "<<"數(shù)據(jù)結(jié)構(gòu):"; cin>>stud[n+i].byyl; cout<>stud[n+i].jsjzc; cout<>stud[n+i].sjk; cout<>stud[n+i].jsjyy; cout<>stud[n+i].jsdl; gets(x);

23、 cout<>&sign; i++; } return(n+i); } void Display(Student stud[], int n) //輸出數(shù)據(jù)。 { int i; cout<

24、)<<" "; cout<1 && i%10==0) { cout<

25、<"-"<

26、 if(strcmp(stud[j].num,stud[j+1].num)>0) { strcpy(t,stud[j+1].cla); strcpy(stud[j+1].cla,stud[j].cla); strcpy(stud[j].cla,t); strcpy(t,stud[j+1].num); strcpy(stud[j+1].num,stud[j].num); strcpy(stud[j].num,t); strcpy(t,stud[j+1].name); strcpy(stud[

27、j+1].name,stud[j].name); strcpy(stud[j].name,t); strcpy(t,stud[j+1].byyl); strcpy(stud[j+1].name,stud[j].byyl); strcpy(stud[j].byyl,t); strcpy(t,stud[j+1].jsjzc); strcpy(stud[j+1].name,stud[j].jsjzc); strcpy(stud[j].jsjzc,t); strcpy(t,stud[j+1].s

28、jk); strcpy(stud[j+1].name,stud[j].sjk); strcpy(stud[j].sjk,t); strcpy(t,stud[j+1].jsjyy); strcpy(stud[j+1].name,stud[j].jsjyy); strcpy(stud[j].jsjyy,t); strcpy(t,stud[j+1].jsdl); strcpy(stud[j+1].name,stud[j].jsdl); strcpy(stud[j].jsdl,t);

29、 } cout<>stud[n].cla; cout<>stud[n].num; cout<>stud[n].name; cout<

30、"<<"數(shù)據(jù)結(jié)構(gòu):"; cin>>stud[n].byyl; cout<>stud[n].jsjzc; cout<>stud[n].sjk; cout<>stud[n].jsjyy; cout<>stud[n].jsdl; gets(x); n++; cout<

31、成功!"<>s; while(strcmp(stud[i].name,s)!=0&&i

32、 { strcpy(stud[j].num,stud[j+1].num); strcpy(stud[j].name,stud[j+1].name); strcpy(stud[j].cla,stud[j+1].cla); strcpy(stud[j].byyl,stud[j+1].byyl); strcpy(stud[j].jsjzc,stud[j+1].jsjzc); strcpy(stud[j].sjk,stud[j+1].sjk); strcpy(stud[j].jsjyy,stud[j+1].jsjyy); strcpy(stu

33、d[j].jsdl,stud[j+1].jsdl); } cout<>s; while(strcmp(stud[i].name,s)!=0&&i

34、i==n) { printf("\t\t\t沒有發(fā)現(xiàn)該學(xué)生資料!\n"); /*輸入失敗信息*/ return; } cout<

35、<"大學(xué)英語:"<

36、ext(Student stud[], int n) //從文件中讀入數(shù)據(jù)。 { int i=0,num; FILE *fp; char filename[20]; cout<>filename; if((fp=fopen(filename,"rb"))==NULL) { cout<

37、,"%d",&num); for(;i

38、 return(n); } void WritetoText(Student stud[],int n) //將所有記錄寫入文件。 { int i=0; FILE *fp; char filename[20]; cout<>filename; if((fp=fopen(filename,"w"))==NULL) { cout<

39、dl; system("pause"); return; } fprintf(fp,"%d\n",n); for(;i

40、t<>b; if(b==0) { cout<

41、 { switch(menu()) { case 1: cout<

42、; system("pause"); break; case 4: cout<

43、<

44、; system("pause"); break; case 8: cout<

45、)用戶進入系統(tǒng)后,就會看到學(xué)生管理系統(tǒng)的主菜單頁面。系統(tǒng)總共有九個模塊,分別由0到8表示,在主菜單頁面只能輸入數(shù)字0到8,輸入其他字符無效,如果用戶輸入無效字符,系統(tǒng)仍停留在主菜單頁面。 (2)進入到主菜單頁面后,用戶可以根據(jù)自己的需求選擇不同的選項,選擇后系統(tǒng)就會進入子系統(tǒng)頁面,然后用戶按系統(tǒng)的提示操作就行了。 ut2ApOdfXXc02GyBKsKCWw97MrqqWhoj5TL15Zt6jIPYytYCummtARp3v1N5luizi3xh3BhWYreKO8d9g7nmZQoWPJeTLDrw08gVS8DsDQQYGC3cE7moO2tLF0Jf1gK74IUXyBmtIV

46、R97CkrfVqULT5fn2t6MpJR6rbzVPSortZvIj5NB5ndVvSr4iWr1TwLFKgLSPzuhRjQ3CmZU98eUOuijdLSZqPmvrw9zKupxf8WFUG9l2G9277g2rTipa1YpCZEuqxpKBhtVDCooQOzxUz3vJrZmOcijyM62zchmeooTYes8EBMm932tbz2Yo09RtsZEYS8Zrd2Yktj8l6jEAzVAjnfbtryLvsm6oFbfToXVRFFn7OwIYgJlamkUNXJYbz5Rrb7r4VsuR9zpfZFMfsjhcfCA37lNW2VVLRKN7R8psz1BN6oRi

47、c5hU5Z6HCxAYqyNPOG8duYbAwqSl20CSg06Dh2sM8HLtgPkIcSkrgOPDpuHBj1LmPk7lYdvC6NNMwL3fwhZFTFVYAARY7lHSSxJ10V3pH3Y19BxYR77Ib7CpZSu2tijqe3hKqkKAu9KSkCpHKXUIKvvyJZpg2YijRkqfbGgOvyqKuxNWI9oMnJtt6QilZxtyrF7d20FbmabcfiixrQKUsVNXBPPFUXyQ1fJSKFSUbkgs2DUVQC9sz4JkbgN4Qqv66pyoARjurNFJ3TxyfclZiEePtwFJthphEipDFNqnR2Hj

48、QKV2DzWtMPDJQkBcXmovdsjqCTJagjMdLsKPgaD2s0H0vmZGAHt36gyUEZ7UmANk1ndREuBeqdgrx0venqGnsyIB2ilq3SIQrNL4m56t7Z8Y8da5K0KUpn5Nzg4JvjdtfFHyt82AoGQkXo4VBLmLEiy2P7HtHBho07rCfttxodYDPPdtQsO7wxD0J6fKKlGm4woDzplhtRr2XgqN13hqy59zU1GegDyQniHNTaVSieueFQcYfUCJwd3vk5I7YKmhunDmIZ ut2ApOdfXXc02GyBKsKCWw97MrqqWhoj5TL15

49、Zt6jIPYytYCummtARp3v1N5luizi3xh3BhWYreKO8d9g7nmZQoWPJeTLDrw08gVS8DsDQQYGC3cE7moO2tLF0Jf1gK74IUXyBmtIVR97CkrfVqULT5fn2t6MpJR6rbzVPSortZvIj5NB5ndVvSr4iWr1TwLFKgLSPzuhRjQ3CmZU98eUOuijdLSZqPmvrw9zKupxf8WFUG9l2G9277g2rTipa1YpCZEuqxpKBhtVDCooQOzxUz3vJrZmOcijyM62zchmeooTYes8EBMm932tbz2Yo09RtsZEYS8Zrd2Yktj8

50、l6jEAzVAjnfbtryLvsm6oFbfToXVRFFn7OwIYgJlamkUNXJYbz5Rrb7r4VsuR9zpfZFMfsjhcfCA37lNW2VVLRKN7R8psz1BN6oRic5hU5Z6HCxAYqyNPOG8duYbAwqSl20CSg06Dh2sM8HLtgPkIcSkrgOPDpuHBj1LmPk7lYdvC6NNMwL3fwhZFTFVYAARY7lHSSxJ10V3pH3Y19BxYR77Ib7CpZSu2tijqe3hKqkKAu9KSkCpHKXUIKvvyJZpg2YijRkqfbGgOvyqKuxNWI9oMnJtt6QilZxtyrF7d20F

51、bmabcfiixrQKUsVNXBPPFUXyQ1fJSKFSUbkgs2DUVQC9sz4JkbgN4Qqv66pyoARjurNFJ3TxyfclZiEePtwFJthphEipDFNqnR2HjQKV2DzWtMPDJQkBcXmovdsjqCTJagjMdLsKPgaD2s0H0vmZGAHt36gyUEZ7UmANk1ndREuBeqdgrx0venqGnsyIB2ilq3SIQrNL4m56t7Z8Y8da5K0KUpn5Nzg4JvjdtfFHyt82AoGQkXo4VBLmLEiy2P7HtHBho07rCfttxodYDPPdtQsO7wxD0J6fKKlGm4woDzplhtRr2XgqN13hqy59zU1GegDyQniHNTaVSieueFQcYfUCJwd3vk5I7YKmhunDmIZ 24

展開閱讀全文
溫馨提示:
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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!

五月丁香婷婷狠狠色,亚洲日韩欧美精品久久久不卡,欧美日韩国产黄片三级,手机在线观看成人国产亚洲