數(shù)據(jù)結(jié)構(gòu)課程設計-學生成績管理系統(tǒng)_第1頁
數(shù)據(jù)結(jié)構(gòu)課程設計-學生成績管理系統(tǒng)_第2頁
數(shù)據(jù)結(jié)構(gòu)課程設計-學生成績管理系統(tǒng)_第3頁
數(shù)據(jù)結(jié)構(gòu)課程設計-學生成績管理系統(tǒng)_第4頁
數(shù)據(jù)結(jié)構(gòu)課程設計-學生成績管理系統(tǒng)_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、淮陰工學院數(shù)據(jù)結(jié)構(gòu)課程設計報告選題名稱:學生成績管理系統(tǒng)系(院):數(shù)理學院專業(yè):信息和計算科學班級:計科1102班姓名:徐連喜學號:1104101233指導教師:周海巖學年學期:20112012學年 第 1 學期2012 年_06_月 _06_ 日【摘要】21世紀,科學技術(shù)突飛猛進,經(jīng)濟知識和信息產(chǎn)業(yè)初見端倪,特別是信息 技術(shù)和網(wǎng)絡技術(shù)的訊速發(fā)展和廣泛使用,對社會的政治,經(jīng)濟,軍事,文化等領(lǐng)域產(chǎn)生越來越深刻。學生成績管理系統(tǒng)是一個教育單位不可缺少的部分,它的內(nèi)容對于學校的決策者和管理者來說都至關(guān)重要。 本論文敘述到的學生成績管理系 統(tǒng)是用 IIS+ASP 網(wǎng)頁編程 +ACCESS 數(shù)據(jù)庫 +D

2、REAMWEAVER MX 2004+SQL 查 詢語言實現(xiàn)的。重點介紹了學生成績管理系統(tǒng)的實現(xiàn)過程:包括系統(tǒng)分析,系統(tǒng) 調(diào)查,功能設計,數(shù)據(jù)庫設計,系統(tǒng)實現(xiàn),系統(tǒng)測試和調(diào)試等。本系統(tǒng)主要功能 有查詢學生成績、單個添加學生成績、批量添加學生成績、刪除學生成績、管理 頁面和修改管理員密碼等內(nèi)容。【關(guān)鍵詞】成績管理;成績查詢;C+中文摘要OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO1緒論0000000000000000000000000000000000000000000000001.1選題背景000000000000000000000

3、000000000000000000000000001.2需求分析0000000000000000000000000000000000000000000000002總體設計0000000000000000000000000000000000000000000000002.1程序設計組成框圖00000000000000000000000000000000000000002.2 模塊功能說明000000000000000000000000000000000000000000002.3程序流程圖0000000000000000000000000000000000000000000000102.4主要

4、函數(shù)之間相互調(diào)用0000000000000000000000000000000000000113在設計過程中的感受00000000000000000000000000000000000000012致謝00000000000000000000000000000000000000000000000013參考文獻0000000000000000000000000000000000000000000000014附錄:源程序清單00000000000151.緒論1.1選題背景為了提高高校學生信息的管理效率,方便對學生信息進行管理、學校里面的 學生和管理員方便去管理和查詢學生信息, 如再要進行查詢,就得在

5、眾多的學生信息中查找自己的成績信息,面對學院大量的學生信息,怎么可以即時而方便的管理,學生只要登錄本系統(tǒng)就可以查找到自己的成績信息, 而管理員也方便去管 理每學期的學生的成績信息。建立一個學生信息管理系統(tǒng),使學生信息管理工作 規(guī)范化,系統(tǒng)化,程序化,避免學生管理的隨意性,提高信息處理的速度和準確 性,能夠及時、準確、有效的查詢和修改學生信息是必須而且十分迫切的工作。2.1需求分析學生管理系統(tǒng)功能的信息量大,數(shù)據(jù)安全性和保密性要求最高。本功能實現(xiàn) 對專業(yè)信息、學生信息、教師信息情況信息的管理和統(tǒng)計、課程信息和成績信息 查看及維護。系統(tǒng)管理員可以瀏覽、查詢、學生的基本信息,能添加、刪除和修 改學生

6、信息,這部分功能應該由系統(tǒng)管理員執(zhí)行, 但是,刪除某條專業(yè)基本信息 記錄時,應實現(xiàn)對該專業(yè)的相關(guān)信息也級聯(lián)刪除。 并且還應具有查詢,并打印輸 出的功能設計不同用戶的操作權(quán)限和登陸方法、對所有用戶開放的用戶提供學生成績 信息查詢、由于本系統(tǒng)功能實現(xiàn)方面并不太復雜,所以上面只是相關(guān)的學生信息 管理查詢的總體分析,具體實現(xiàn)就主要體現(xiàn)在學生管理, 教師的管理和課程的管 理這一塊,也就是重點實現(xiàn)查詢和添加學生信息,以及對成績信息管理。2 總體設計(1) 程序設計組成框圖(2) 模塊功能說明1輸出功能:完成全部學生記錄的顯示2查詢功能:輸入姓名可以查詢學生的詳細信息3增加功能:增加新學生的信息。4刪除功能

7、:刪除學生信息。5修改功能:修改學生的錯誤信息。6保存功能:保存已輸入信息。7讀取功能:讀取已輸入信息。8顯示功能:按要求顯示學生記錄。9排序功能:按要求完成對學生信息的排序。10退出系統(tǒng)。(3) 程序流程圖(4) 主要函數(shù)之間相互調(diào)用如下:主函數(shù)main ()的調(diào)用switch(choice)case 1:Outputl nformati on( );break;case 2:Desplay In foBystude ntName();break;case 3:p=MallocNode();Get In formati on( p); I nsertOn eNode(p); break;總

8、結(jié)首先經(jīng)過一周的編程實習,并在后一段的報告總結(jié),我對數(shù)據(jù)結(jié) 構(gòu)這門科有新的認識,本人實在是獲益不淺!要想編寫一個準確、高 效并有使用價值的程序,一定先要對課本知識熟悉,還要掌握必要的 上機操作能力,寫程序其實很容易而關(guān)鍵在于調(diào)試程序。這次設計,讓我重新掌握了數(shù)據(jù)結(jié)構(gòu),而且還得到了用數(shù)據(jù)結(jié)構(gòu)解決實際問題的 寶貴經(jīng)驗。其次,通過此次編程我也發(fā)現(xiàn)了自己在學習中的錯誤和不足,復習了以前學過的知識。同時也學到了一些沒學過的知識, 讓我從中收 益非淺,也為期末測試準備了一下!更重要的是培養(yǎng)了獨立思考問題 和解決問題的能力,熟悉了一些基本操作和解決問題的方法!致謝因為初次接觸等原因此次設計遇到了許多問題 ,

9、我深刻體會到老 師發(fā)揮的重要作用,數(shù)據(jù)結(jié)構(gòu)程序?qū)ξ覀儊碚f比較難,在匆忙的學習 中更是難上加難,似乎覺得自己僅是個匆匆過客,但在老師的幫助下我 學會了如何調(diào)試,如何查找系統(tǒng)沒有提示的錯誤,最后終于排除萬難把 程序搞定,體會到原來編程也挺有意思的快感我想沒有老師的幫助我 很難在短期內(nèi)把程序設計做的這樣好,在此特地感謝老師的幫助。參考文獻1 李麗娟.C 語言程序設計教程(第二版).北京:人民郵 電出版社20092 刁成嘉.C語言程序設計論文D.北京:清華大學出版社2004楊文軍,楊柳.C語言程序設計教程M.北京:清華大學出版社20104周啟海.C語言程序設計報告R.北京:中國水利工程出 版社2005

10、 譚浩強.C 程序設計(第三版)M.北京:清華大學出版 社 2005附錄源程序清單#i nclude#in clude#i nclude#i ncludetypedef struct STUDENTchar studentNumber10;/*學生學號 */char studentName20;/*學生姓名 */char className20;/*班級名稱 */char yearName20;/* 學期名稱 */float mark1;/* 第 1 門成績 */float mark2;/* 第 2 門成績 */float mark3;/* 第 3 門成績 */struct STUDENT *

11、n ext;STUDENT;STUDENT *headLink;/* 鏈表表頭指針 */*以下是函數(shù)聲明*/void ReadI nfoFo rmFile(void);void DesplayMe nu( void);void CreateHeadLi nk(void);STUDENT *MallocNode(void);void GetI nformatio n( STUDENT *t);void Output In formati on(v oid);void DesplayI nfoBystude ntName(void);void Desplay On eNode(STUDENT *t

12、);void In sert On eNode(STUDENT *t);void DeleteNodeBystude ntNumber(void);void Cha ngeMarkByName(void);void Cha ngeMarkByNumber(void);void SaveL in kToFile(void);void DesplayMarkSegme nt(void);void CompositorByTotalMark(void);int choose;/*用于接受用戶的選擇*/*主函數(shù)*/void mai n()CreateHeadLi nk();Read InfoFo rm

13、File();DesplayMe nu();/*函數(shù)功能:從文件中讀學生信息到鏈表中*/void ReadI nfoFo rmFile(void)FILE *fp;STUDENT *p;fp=fope n( stude nt.txt,r);if(!fp)printf(文件不存在n);return;p=MallocNode();while(fsca nf(fp,%s%s%s%f%f%f,p-stude ntNumber,p-stude ntName,p-className,&(p-mark1),&(p-mark2),&(p-mark3)0)In sertO neNode(p);p=MallocN

14、ode();fclose(fp);/*函數(shù)功能:顯示菜單,根據(jù)用戶的輸入完成相應的功能*/void DesplayMe nu( void)STUDENT *p;printf( 請選擇相應功能 nn);prin tf(| 1按班級輸出學生成績單|n);printf(| 2按姓名查詢 |n);printf(| 3增加學生 |n);printf(| 4刪除學生 |n);prin tf(| 5按班級修改學生成績|n);prin tf(| 6按學期修改學生成績|n);printf(| 7保存所有學生信息|n);prin tf(| 8顯示不及格學生成績|n);prin tf(| 9按平均成績排序并輸出績|

15、n);prin tf(| 10 退出 |nn);seanf(%d,&choose);/*取得用戶的選擇 */switch(choose)case 1:Outputlnformation();/*顯示所有學生的信息*/break;case 2:Desplayl nfoBystude ntName();break;case 3:p=MallocNode();/* 先申請一個新結(jié)點*/Getl nformatio n(p);/* 要求用戶輸入信息到新結(jié)點中*/InsertOneNode(p);/* 將新結(jié)點加到鏈表中*/ break;case 4:DeleteNodeBystude ntNumber

16、();/* 根據(jù)用戶輸入的學號刪除該學生 */ break;case 5:Cha ngeMarkByName();/*根據(jù)用戶輸入的姓名修改學生成績 */ break;case 6:ChangeMarkByNumber();/*根據(jù)用戶輸入的學號修改學生成績 */ break;case 7:SaveLinkToFile();/*保存數(shù)據(jù) */break;case 8:DesplayMarkSegment();/*顯示不及格的學生成績*/ break;case 9:CompositorByTotalMark();/* 按平均成績排序 */ break;case 10:SaveLinkToFile

17、();/*保存數(shù)據(jù)后再退出*/free(headL in k); break;default:break;DesplayMenu();/* 遞歸調(diào)用 */*函數(shù)功能:建立鏈表表頭*/void CreateHeadLi nk(void)STUDENT *p; p=(STUDENT*)malloc(sizeof(STUDENT); headL in k=p;p- next=NULL;/*函數(shù)功能:申請一個新結(jié)點,并將其初始化*/STUDENT *MallocNode(void)STUDENT *p;int i;p=(STUDENT*)malloc(sizeof(STUDENT); if(p=NUL

18、L)return NULL;for(i=0;istude ntNumberi=0;for(i=0;istude ntNamei=0;for(i=0;iclassNamei=0;p-mark1=0.0;p-mark2=0.0;p-mark3=0.0;p- next=NULL;return p;/*函數(shù)功能:取得用戶輸入的學生信息*/void GetI nformatio n( STUDENT *t) printf(請輸入學生學號:n);sca nf(%s,t-stude ntNumber);printf(請輸入學生姓名:n);sca nf(%s,t-stude ntName);printf(請輸

19、入該生所在班級:n);sca nf(%s,t-className);printf(請輸入第1門成績:n);sca nf(%f,&(t-mark1);printf(請輸入第2門成績:n);sea nf(%f,&(t-mark2);printf(請輸入第3門成績:n);sea nf(%f,&(t-mark3);/*函數(shù)功能:在鏈表的結(jié)尾處增加一個結(jié)點*/void In sert On eNode(STUDENT *t)STUDENT *p;p=headL ink;while(p-n ext)p=p-n ext;p-n ext=t;/*函數(shù)功能:根據(jù)用戶輸入的學生姓名顯示該學生的信息*/void D

20、esplay In foBystude ntName(void)STUDENT *p;char stude ntName20;char flag=0;p=headL ink-n ext;printf(請輸入學生姓名:n);sca nf(%s,stude ntName);while(p)if(strcmp(p-stude ntName,stude ntName)=0)printf(學號t姓名t班級t成績1t成績1t成績3t總成績t平均成績nn);DesplayO neNode(p);flag=1;break;p=p-n ext;if(!flag)prin tf(對不起,不存在姓名為 %s的學生n

21、,stude ntName);*函數(shù)功能:輸出一個結(jié)點的信息*/void Desplay On eNode(STUDENT *t)prin tf(%st,t-stude ntNumber);prin tf(%st,t-stude ntName);prin tf(%st,t-className);prin tf(%.2ft,t-mark1);prin tf(%.2ft,t-mark2);prin tf(%.2ft,t-mark3);prin tf(%.2ft,t-mark1+t-mark2+t-mark3);prin tf(%.2ftn,(t-mark1+t-mark2+t-mark3)/3);

22、/*函數(shù)功能:根據(jù)用戶輸入的學號刪除該學生*/void DeleteNodeBystude ntNumber(void)char stude ntNumber10;STUDENT *p,*q;char flag=0;printf(請輸入要刪除的學生學號:);sca nf(%s,stude ntNumber);p=headL ink;q=headL ink-n ext;while(q)if(strcmp(q-stude ntNumber,stude ntNumber)=0)p-n ext=q-n ext;free(q);flag=1;break;p=p-n ext;q=q-n ext;if(!f

23、lag)printf(”不存在該學號的學生n);return;prin tf(成功刪除 n);/*函數(shù)功能:顯示所有學生的信息*/void Outputl nformati on(v oid)STUDENT *p;p=headL ink-n ext;if(p=NULL)prin tf( 現(xiàn)在沒有學生信息,請先輸入學生信息nn);return;printf( 學號t姓名t班級t成績1t成績1t成績3t總成績t平均成績nn);while(p)DesplayO neNode(p);p=p-n ext;/*函數(shù)功能:根據(jù)輸入的班級修改成績*/void Cha ngeMarkByName(void)ST

24、UDENT *p;int a;char stude ntName20;char flag=0;float mark1,mark2,mark3;p=headL ink-n ext;printf(” 請輸入學生班級:n);sea nf(%d,&a);printf( 請輸入學生姓名:n);sea nf(%s,stude ntName);while(p)if(stremp(p-stude ntName,stude ntName)=0)printf( 請輸入新的第1門成績:n);sea nf(%f,&mark1);printf(請輸入新的第2門成績:n);sea nf(%f,&mark2);printf

25、(請輸入新的第3門成績:n);sea nf(%f,&mark3);p-mark仁markl;p-mark2=mark2;p-mark3=mark3;flag=1;printf(修改成功 n);break;p=p-n ext;if(!flag)prin tf(對不起,不存在班級為 %s的學生n,stude ntName);/*函數(shù)功能:根據(jù)輸入的學期修改成績*/void Cha ngeMarkByNumber(void)STUDENT *p;int b;char stude ntNumber20;char flag=0;float mark1,mark2,mark3;p=headL ink-n

26、ext;printf(請輸入學生所在學期:n);sca nf(%d,&b);printf(請輸入學生學號:n);sca nf(%s,stude ntNumber);while(p)if(strcmp(p-stude ntNumber,stude ntNumber)=0)printf(請輸入新的第1門成績:n);sca nf(%f,&mark1);printf(請輸入新的第2門成績:n);sca nf(%f,&mark2);printf(請輸入新的第3門成績:n);sca nf(%f,&mark3);p-mark1=mark1;p-mark2=mark2;p-mark3=mark3;flag=1

27、;printf(修改成功 n);break;p=p-n ext;if(!flag)prin tf(對不起,不存在學期為 s的學生n,stude ntNumber);/*函數(shù)功能:保存鏈表數(shù)據(jù)到文件中*/void SaveL in kToFile(void)STUDENT *p;FILE *fp;p=headL ink-n ext;if(p=NULL)prin tf(現(xiàn)在沒有學生信息,請先輸入學生信息nn);return;fp=fope n( stude nt.txt,w+);if(!fp)printf(文件不存在n);return;while(p)fprin tf(fp,%s %s %s %f

28、 %f %fn,p-stude ntNumber,p-stude ntName,p- className,p-mark1,p-mark2,p-mark3);p=p-n ext;fclose(fp);/*函數(shù)功能:不及格學生成績*/void DesplayMarkSegme nt(void)STUDENT *p;int coun t=0;p=headL ink-n ext;printf(60 分以下(不及格)的學生成績?nèi)缦拢簄);printf(學號t姓名t班級t成績1t成績1t成績3t總成績t平均成績nn);while(p)if(6(i nt)(p-mark1/10)|(6(i nt)(p-mark2/10)|(6(i nt)(p-mark3/10)/*只要有一科不及格就認為該生不及格*/coun t+;DesplayO neNode(p);p=p-n ext;pri

溫馨提示

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

評論

0/150

提交評論