成績管理系統(tǒng)課程設(shè)計_第1頁
成績管理系統(tǒng)課程設(shè)計_第2頁
成績管理系統(tǒng)課程設(shè)計_第3頁
成績管理系統(tǒng)課程設(shè)計_第4頁
成績管理系統(tǒng)課程設(shè)計_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目 錄 1 需求分析需求分析.1 1.1問題描述.1 1.2輸入數(shù)據(jù)要求.1 1.3輸出數(shù)據(jù)要求.1 1.4開發(fā)環(huán)境和工具.1 1.5成員分工.1 2 總體設(shè)計總體設(shè)計.2 2.1總體設(shè)計思路.2 2.2模塊結(jié)構(gòu)圖.4 2.3模塊說明.5 3 詳細設(shè)計詳細設(shè)計.5 3.1數(shù)據(jù)類型定義.5 3.2修改模塊實現(xiàn)方法.10 3.3查詢模塊實現(xiàn)方法.12 4 測試結(jié)果及分析測試結(jié)果及分析.18 5 總結(jié)總結(jié).19 參考文獻參考文獻.21 附錄 21 1 需求分析需求分析 問題描述問題描述 1.1 數(shù)據(jù)需求數(shù)據(jù)需求 成績表信息:學(xué)號,班級,姓名,語文,數(shù)學(xué),英語 成績信息存放在文件中,以學(xué)號的先后順序存

2、放 1.21.2 處理需求處理需求 (1)打開:顯示文件中的所有成績記錄,提供分頁顯示 (2)保存:將成績表的更新結(jié)果存入文件 (3)更新:可插入、刪除、修改各科目成績 (4)查找:按學(xué)號,姓名、班級 (5)統(tǒng)計:求每門課程的平均分,求每個學(xué)生的平均分 (6)排序:按學(xué)號,某課程的分數(shù),各人的平均分 1.31.3 其它要求其它要求 (1)提供菜單選擇以上功能 (2)自學(xué):文件的讀寫,清屏函數(shù) 1.41.4 開發(fā)環(huán)境和工具開發(fā)環(huán)境和工具 開發(fā)環(huán)境:windows 2000 開發(fā)工具:visual c+ 6.0 1.51.5 成員分工成員分工: 蜘蛛俠:總體設(shè)計、查詢模塊、排序模塊、 超 人:系統(tǒng)

3、測試、主調(diào)模塊、更新模塊、 2 2 總體設(shè)計總體設(shè)計 2.12.1 總體設(shè)計思路總體設(shè)計思路 1.1.設(shè)計思路(設(shè)計思路(功能模塊) 1 顯示成績 2 增加成績 3 修改成績 4 刪除 5 姓名查找 6 學(xué)號查找 7 排序 a 學(xué)號 b 語文 c 英語 d 數(shù)學(xué) e 平均 8 語文平均 9 數(shù)學(xué)平均 10 英語平均 11 退出 2.2.數(shù)據(jù)儲存數(shù)據(jù)儲存 文件存儲 文件的儲存是通過對兩個函數(shù)的調(diào)用來實現(xiàn)的: 1 io_readinfo 即學(xué)生信息從文件中讀取。 2 io_writeinfo 即將學(xué)生信息寫入文件。 2.22.2 模塊結(jié)構(gòu)圖模塊結(jié)構(gòu)圖 學(xué)學(xué) 生生 成成 績績 管管 理理 系系 統(tǒng)統(tǒng)

4、 1 顯 示 成 績 2. 增 加 成 績 3. 修 改 成 績 4. 刪 除 5 按 姓 名 查 詢 6. 按 學(xué) 號 查 詢 7. 排 序 8. 語 文 平 均 9 數(shù) 學(xué) 平 均 10 英 語 平 均 11 退 出 按 學(xué) 號 按 平 均 成 績 按 英 語 按 數(shù) 學(xué) 按 語 文 2.32.3 模塊說明模塊說明 1 顯示成績模塊:a 顯示全部學(xué)生成績信息(void student_display())包括:姓名,語文成績,數(shù)學(xué)成績,英語 成績,平均成績。 b 顯示主界面 void homepage() 2 刪除學(xué)生成績模塊:用 void student_delete()來實現(xiàn)。 3 平

5、均成績模塊:例如求語文成績的平均分,具體用 float chinese_average(struct student students)來實現(xiàn)。 4 查詢學(xué)生信息請模塊:void student_selectbyname() 3.3.詳細設(shè)計詳細設(shè)計 3.13.1 數(shù)據(jù)類型定義數(shù)據(jù)類型定義 函數(shù)名稱或其他部分功能 main總控函數(shù) struct student students結(jié)構(gòu)體數(shù)組 avg(struct student stu)平均成績 student_modify()修改學(xué)生信息 student_delete()刪除學(xué)生信息 student_displaysingle顯示單條學(xué)生信息

6、student_selectbyname查詢指定學(xué)生信息(姓 名) student_selectbynumber查詢指定學(xué)生信息(學(xué) 號) student_sortbyaverage按平均成績將學(xué)生排序 student_sortbynumber按平均成績將學(xué)生排序 student_sortbychinese按語文成績將學(xué)生信息 排序 student_display顯示全部學(xué)生信息 io_readinfo學(xué)生信息從文件中讀取 fclose(fp)關(guān)閉文件 io_writeinfo將學(xué)生信息寫入文件 denglu()登陸 waiting等待界面 常數(shù)提供常數(shù) system(clsn)清屏操作 sy

7、stem(color 3f)控制顏色 3.23.2 模塊實現(xiàn)模塊實現(xiàn) 1.1.算法思想算法思想 設(shè)計一個主函數(shù)(設(shè)計一個主函數(shù)(mainmain) ,定義一些功能子模塊函數(shù),在主函數(shù)中調(diào),定義一些功能子模塊函數(shù),在主函數(shù)中調(diào) 用主頁用主頁(homepage)(homepage)函數(shù),然后在主頁函數(shù)中通過對各個子模塊的函數(shù)的調(diào)用實函數(shù),然后在主頁函數(shù)中通過對各個子模塊的函數(shù)的調(diào)用實 現(xiàn)各功能。外加一個登陸函數(shù)現(xiàn)各功能。外加一個登陸函數(shù)(denglu)(denglu)設(shè)置用戶名和密碼和一個等待函數(shù)設(shè)置用戶名和密碼和一個等待函數(shù) (waiting)(waiting);在主函數(shù)末尾調(diào)用文件的讀入和寫入

8、函數(shù)實現(xiàn)對操作的保存。;在主函數(shù)末尾調(diào)用文件的讀入和寫入函數(shù)實現(xiàn)對操作的保存。1 1, 顯示模塊定義一函數(shù)對結(jié)構(gòu)體數(shù)組中的成員輸出。顯示模塊定義一函數(shù)對結(jié)構(gòu)體數(shù)組中的成員輸出。2 2 定義求語文成績平均分函定義求語文成績平均分函 數(shù),對結(jié)構(gòu)體數(shù)組中的成員數(shù),對結(jié)構(gòu)體數(shù)組中的成員 chinesechinese 求和,然后除以存儲學(xué)生數(shù)得平均分。數(shù)求和,然后除以存儲學(xué)生數(shù)得平均分。數(shù) 學(xué),英語類似。學(xué),英語類似。3 3 刪除學(xué)生成績,通過對類似與線性表的操作,將后一成員覆刪除學(xué)生成績,通過對類似與線性表的操作,將后一成員覆 蓋到前一成員。蓋到前一成員。4 4 查找,姓名返回數(shù)組下標查找。查找,姓名

9、返回數(shù)組下標查找。 2 2 具體實現(xiàn)具體實現(xiàn) 1 1 顯示學(xué)生成績顯示學(xué)生成績 void student_display() /*定義顯示全部學(xué)生信息函數(shù)*/ int i; printf(%10s%10s%10s%10s%10s%10s%10sn,學(xué)號,班級, 姓名,語文成績,數(shù)學(xué)成績,英語成績,平均成績); printf( -); printf(-n); for (i=0;inum;i+) printf(%10d%10s%10s%10.2f%10.2f%10.2f%10.2fn, studentsi.number,studentsi.class,studentsi.name, student

10、si.chinese,studentsi.math,studentsi.english, studentsi.average); getch(); waiting(); homepage(); 2 2 學(xué)生平均成績學(xué)生平均成績 float chinese_average(struct student students) /*定義求語文成績平均分函數(shù)*/ int i;float sum=0.0; for(i=0;inum;i+) sum=sum+studentsi.chinese; return (sum/num); float math_average(struct student stude

11、nts) /*定義求數(shù)學(xué)成績平均分函數(shù)*/ int i;float sum=0.0; for(i=0;inum;i+) sum=sum+studentsi.math; return (sum/num); float english_average(struct student studens) /*定義求英語成績平均分函數(shù)*/ int i;float sum=0.0; for(i=0;inum;i+) sum=sum+studentsi.english; return (sum/num); 3 3 刪刪 3 3 刪除學(xué)生成績刪除學(xué)生成績 void student_delete() /*定義刪除

12、學(xué)生信息函數(shù)*/ int i; while(1) int number; int index; printf(請輸入要刪除的學(xué)生的學(xué)號:); scanf(%d, getchar(); index=student_searchbyindex(number); /*調(diào)用通過學(xué)號返回數(shù)組下標函數(shù)*/ if (index=-1) printf(沒有該學(xué)生的信息!n); else printf(你要刪除的學(xué)生信息為:n); student_displaysingle(index); /*調(diào)用顯示單條學(xué)生信息函數(shù)*/ printf(是否真的要刪除?(y/n); if (getchar()=y) for (

13、i=index;inum-1;i+) studentsi=studentsi+1; num-; getchar(); printf(還要刪除其他同學(xué)的信息嗎?(y/n); io_writeinfo(); if (getchar()=n) waiting(); homepage(); break; 4 4 查詢信息模塊查詢信息模塊 void student_selectbyname() /*定義按姓名查詢學(xué)生信息函數(shù)*/ while(1) char name20; int index; printf(請輸入要查詢的學(xué)生的姓名:); scanf(%s, getchar(); index=stude

14、nt_searchbyname(name); /*調(diào)用按姓名返回數(shù)組下標函數(shù)*/ if (index=-1) printf(該學(xué)生的信息不存在!n); else printf(你要查詢的學(xué)生信息為:n); student_displaysingle(index); /*調(diào)用顯示單條學(xué)生信息函數(shù)*/ printf(還要查詢其他同學(xué)的信息嗎?(y/n); if (getchar()=n) waiting(); homepage(); break; void student_selectbynumber() /*定義按學(xué)號查詢學(xué)生信息函數(shù)*/ while(1) int number; int index; printf(請輸入要查詢的學(xué)生的學(xué)號:); scanf(%d, getchar(); index=student_searchbyindex(number); /*調(diào)用按學(xué)號返回數(shù)組下標函數(shù)*/ if(index=-1) printf(該學(xué)生的信息不存在!n); else printf(你要查詢的學(xué)生信息為:n); student_displaysingle(index); /*調(diào)用顯示單條學(xué)生信息函數(shù)*/ printf(還要查詢其他同學(xué)的信息嗎?(y/n); if(getchar()=n) waiting();

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論