版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 學(xué)生成績管理系統(tǒng)</b></p><p><b> 課程設(shè)計(jì)報(bào)告</b></p><p><b> 功能描述</b></p><p> 此成績管理系統(tǒng)主要利用結(jié)構(gòu)體數(shù)組實(shí)現(xiàn),由如下六個(gè)功能模塊實(shí)現(xiàn)</p><p> 輸入模塊。主要完成將學(xué)生
2、信息存入結(jié)構(gòu)體數(shù)組的工作。(南云霞)</p><p> 刪除、修改模塊。主要完成對(duì)結(jié)構(gòu)體數(shù)組中數(shù)據(jù)的刪除、修改工作。</p><p><b> ?。ㄙZ維尚)</b></p><p> 3、查詢、排序模塊。主要完成對(duì)結(jié)構(gòu)體數(shù)組中數(shù)據(jù)的查詢、排序工作。</p><p><b> ?。ㄆ钋啵?lt;/b>&
3、lt;/p><p> 4、輸出模塊。主要完成對(duì)結(jié)構(gòu)體數(shù)組中數(shù)據(jù)輸出的工作。(鄭金帥)</p><p><b> 二、總體設(shè)計(jì)</b></p><p><b> 1、功能模塊設(shè)計(jì)</b></p><p> ?。?)主函數(shù)main()執(zhí)行流程</p><p><b>
4、 開始</b></p><p><b> 輸出菜單</b></p><p> 根據(jù)表達(dá)式m m=0 </p><p><b> 的值選擇程序</b></p><p> m=1 m=2 m=3 m=4 m=5 m=6 m
5、=7 m=8</p><p><b> Y</b></p><p><b> Y/N</b></p><p><b> N</b></p><p><b> 結(jié)束</b></p><p> ?。?)輸入學(xué)生信息函數(shù)srx
6、sxx()流程</p><p><b> 開始1</b></p><p><b> Y</b></p><p> fp=fopen("list","wb"))==NULL</p><p><b> N</b></p>
7、<p><b> for循環(huán)</b></p><p><b> 將數(shù)據(jù)保存到</b></p><p><b> list文件中</b></p><p><b> 結(jié)束</b></p><p> 添加學(xué)生信息函數(shù)tjxsxx()流程&l
8、t;/p><p><b> 開始2</b></p><p><b> Y</b></p><p> fp=fopen("list","wb"))==NULL</p><p><b> N</b></p><p>
9、;<b> for循環(huán)</b></p><p><b> 將數(shù)據(jù)保存到</b></p><p><b> list文件中</b></p><p><b> 結(jié)束</b></p><p> 刪除學(xué)生信息函數(shù)scxsxx()流程</p>
10、<p><b> 開始3</b></p><p> 在list文件中讀入數(shù)據(jù)</p><p> 輸入學(xué)生的姓名或?qū)W號(hào)</p><p><b> 查找要?jiǎng)h除的學(xué)生</b></p><p><b> 輸出學(xué)生的信息</b></p><p&g
11、t;<b> 確定刪除該學(xué)生信息</b></p><p><b> 并執(zhí)行</b></p><p><b> 結(jié)束</b></p><p> (5) 修改學(xué)生信息函數(shù)xgxsxx()流程</p><p><b> 開始4</b></p>
12、;<p> 在list文件中讀入數(shù)據(jù)</p><p> 輸入學(xué)生的姓名或?qū)W號(hào)</p><p><b> 查找要修改的學(xué)生</b></p><p><b> 輸出學(xué)生的信息</b></p><p><b> 確定修改該學(xué)生信息</b></p>
13、<p><b> 并執(zhí)行</b></p><p><b> 結(jié)束</b></p><p> ?。?)學(xué)生信息查詢函數(shù)xsxxcx()流程</p><p><b> 開始5</b></p><p> 在list文件中讀入數(shù)據(jù)</p><p&
14、gt; 輸入要查找學(xué)生的信息</p><p><b> 查找要需要的學(xué)生</b></p><p><b> 輸出學(xué)生的信息</b></p><p><b> 結(jié)束</b></p><p> (7)學(xué)生成績排序函數(shù)xscjpx()流程</p><p&
15、gt;<b> 開始6</b></p><p><b> 調(diào)出list文件</b></p><p><b> 中的數(shù)據(jù)</b></p><p> Y 排序</p><p> stu[j].average<stu[i].ave
16、rage</p><p><b> N</b></p><p> t=stu[j];stu[j]=stu[i];</p><p><b> stu[i]=t;</b></p><p><b> 輸出學(xué)生信息</b></p><p><b&g
17、t; 結(jié)束</b></p><p> (8)掛科人數(shù)查詢函數(shù)gkrscx()流程</p><p><b> 開始7</b></p><p> 調(diào)出list文件數(shù)據(jù)</p><p><b> N</b></p><p> stu.avergae<6
18、0</p><p><b> Y</b></p><p><b> 輸出</b></p><p><b> 結(jié)束</b></p><p> ?。?)輸出學(xué)生成績函數(shù)scxscj()流程</p><p><b> 開始8</b>
19、;</p><p> 在list文件中讀入數(shù)據(jù)</p><p><b> 確定有幾個(gè)學(xué)生信息</b></p><p><b> 輸出學(xué)生的信息</b></p><p><b> 結(jié)束</b></p><p><b> 三、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)
20、</b></p><p><b> 學(xué)生信息結(jié)構(gòu)體數(shù)組</b></p><p> struct student</p><p><b> { </b></p><p> int number; 學(xué)號(hào)</p><p> char nam
21、e[8]; 姓名</p><p> char sex[4]; 性別</p><p> char Class[4]; 班級(jí)</p><p> float math; 數(shù)學(xué)成績 </p><p> float English; 英語成績</p><p
22、> float physics; 物理成績</p><p> float computer; 計(jì)算機(jī)成績</p><p> float sum; 總成績</p><p> float average; 平均成績</p><p> }stu[100];</p>
23、<p><b> 四、函數(shù)功能描述</b></p><p> 1、void print()</p><p> 主要完成對(duì)主菜單的輸出功能。</p><p> 2、void srxsxx()</p><p> 主要完成對(duì)學(xué)生信息的輸入功能。將學(xué)生的信息存入結(jié)構(gòu)體數(shù)組中。</p><p
24、> void tjxsxx()</p><p> 主要完成在結(jié)構(gòu)體數(shù)組中添加信息的功能。</p><p> void scxsxx()</p><p> 主要完成對(duì)結(jié)構(gòu)體中指定數(shù)據(jù)的刪除功能。</p><p> void xgxsxx()</p><p> 主要完成對(duì)結(jié)構(gòu)體中指定數(shù)據(jù)的重新輸入的功能。
25、</p><p> void xsxxcx()</p><p> 主要完成對(duì)結(jié)構(gòu)體中學(xué)生信息查詢的功能。</p><p> void xscjpx()</p><p> 主要完成對(duì)結(jié)構(gòu)體中學(xué)生總成績從大到小排序的功能。</p><p> void gkrscx()</p><p>
26、主要完成對(duì)結(jié)構(gòu)體中各科成績低于60分的人數(shù)的統(tǒng)計(jì)的功能。</p><p> void scxscj()</p><p> 主要完成對(duì)結(jié)構(gòu)體中所有學(xué)生信息的輸出功能。</p><p><b> 五、程序?qū)崿F(xiàn)</b></p><p><b> 1、源代碼分析</b></p><
27、;p><b> ⑴程序預(yù)處理</b></p><p> 包括加載頭文件,定義結(jié)構(gòu)體、常量和變量,并對(duì)它們進(jìn)行初始化工作。</p><p> #include<stdio.h></p><p> #include<string.h></p><p> #include<ioma
28、nip.h></p><p> #include<iostream.h></p><p><b> 分析:</b></p><p> #include<stdio.h>引入標(biāo)準(zhǔn)輸入輸出函數(shù),以便完成一些c++中一些最基本的函數(shù)的功能。</p><p> #include<str
29、ing.h>引入有關(guān)字符數(shù)組的函數(shù),以便在程序中運(yùn)用相關(guān)函數(shù)。例如:在刪除學(xué)生信息函數(shù)中的strcmp函數(shù)if(strcmp(x,stu[i].name)==0||k==stu[i].number)</p><p> #include<iomanip.h>引入一些常用的關(guān)于控制標(biāo)準(zhǔn)輸入輸出流的函數(shù),以便控制標(biāo)準(zhǔn)輸入輸出流。例如:在輸出時(shí)使用的setw(0)函數(shù)</p><
30、p> cout<<setw(0)<<"The Students' Grade Management System"<<setw(5)<<endl;</p><p> #include<iostream.h>引入標(biāo)準(zhǔn)輸入輸出流函數(shù),以便在程序中使用相關(guān)函數(shù),其實(shí)已經(jīng)有了iomanip.h頭文件就不用再使用此頭文件了。例
31、如:在輸入輸出時(shí)使用的cout與cin</p><p> cout<<"學(xué)號(hào):";cin>>stu[i].number;</p><p> 注:在此程序中,為了方便使用了c++中的標(biāo)準(zhǔn)輸入輸出流。與此相關(guān)的知識(shí)全部來源于網(wǎng)絡(luò)。</p><p> ?、浦骱瘮?shù)main()</p><p> voi
32、d main()</p><p><b> {</b></p><p> int j,flag=0;</p><p> print(); //打印出主菜單</p><p> do //判斷輸入是否正確 </p><p><b> { </
33、b></p><p><b> cin>>j; </b></p><p> if(j>=0&&j<=8)</p><p><b> flag=1; </b></p><p><b> else </b></p>
34、<p> cout<<"指令錯(cuò)誤!請重新輸入:"<<endl; </p><p><b> }</b></p><p> while(flag==0); </p><p> while(j!=0)</p><p><b> {</b>
35、</p><p> if(j==1) //進(jìn)入輸入學(xué)生信息系統(tǒng)</p><p><b> srxsxx();</b></p><p> else if(j==2) //進(jìn)入添加學(xué)生信息系統(tǒng)</p><p><b> tjxsxx();</b></p><p>
36、; else if(j==3) //進(jìn)入刪除學(xué)生信息系統(tǒng)</p><p><b> scxsxx();</b></p><p> else if(j==4) //進(jìn)入修改學(xué)生信息系統(tǒng)</p><p><b> xgxsxx();</b></p><p> else if(j==5) //進(jìn)
37、入學(xué)生成績查詢系統(tǒng)</p><p><b> xsxxcx();</b></p><p> else if(j==6) //進(jìn)入學(xué)生成績排序系統(tǒng)</p><p><b> xscjpx();</b></p><p> else if(j==7) //進(jìn)入掛科人數(shù)查詢系統(tǒng)</p>
38、<p><b> gkrscx();</b></p><p> else if(j==8) //進(jìn)入輸出學(xué)生成績系統(tǒng)</p><p><b> scxscj();</b></p><p> cin>>j; //控制繼續(xù)操作還是退出管理系統(tǒng)</p><p>
39、<b> }</b></p><p> cout<<endl;</p><p> cout<<"* * * * * * * * * * * * * * * * * * *"<<endl;</p><p> cout<<setw(0)<<"*
40、 "<<"謝謝使用!"<<setw(0)<<" *"<<endl;</p><p> cout<<setw(0)<<"* "<<" 再見! "<<setw(0)&
41、lt;<" *"<<endl;</p><p> cout<<"* * * * * * * * * * * * * * * * * * *"<<endl;</p><p> cout<<endl;}</p><p><b> ?、侵鞑藛谓?/p>
42、面</b></p><p> void print() //定義界面函數(shù)</p><p><b> {</b></p><p> cout<<endl;</p><p> cout<<setw(0)<<"The Students'
43、; Grade Management System"<<setw(5)<<endl;</p><p> cout<<endl;</p><p> cout<<"* * * * * * * * * * * * * * * * * * *"<<endl;</p><p> c
44、out<<setw(0)<<"* "<<"1. 輸入學(xué)生信息 "<<setw(10)<<"*"<<endl;</p><p> cout<<setw(0)<<"* "<<"2. 添
45、加學(xué)生信息 "<<setw(10)<<"*"<<endl;</p><p> cout<<setw(0)<<"* "<<"3. 刪除學(xué)生信息 "<<setw(10)<<"*"<<endl;</
46、p><p> cout<<setw(0)<<"* "<<"4. 修改學(xué)生信息 "<<setw(10)<<"*"<<endl;</p><p> cout<<setw(0)<<"* "
47、;<<"5. 學(xué)生信息查詢 "<<setw(10)<<"*"<<endl;</p><p> cout<<setw(0)<<"* "<<"6. 學(xué)生成績排序 "<<setw(10)<<"*"
48、;<<endl;</p><p> cout<<setw(0)<<"* "<<"7. 掛科人數(shù)查詢 "<<setw(10)<<"*"<<endl;</p><p> cout<<setw(0)<<&qu
49、ot;* "<<"8. 輸出學(xué)生成績 "<<setw(10)<<"*"<<endl;</p><p> cout<<setw(0)<<"* "<<"0. 退出管理系統(tǒng) "<<setw(10)&
50、lt;<"*"<<endl;</p><p> cout<<"* * * * * * * * * * * * * * * * * * *"<<endl;</p><p> cout<<endl;</p><p> cout<<setw(0)<<
51、"Please enter your choice(0~8):"<<setw(10)<<endl;</p><p> cout<<endl;</p><p><b> }</b></p><p> 注:其他8個(gè)函數(shù)不再一一列舉,每一個(gè)函數(shù)都是一個(gè)獨(dú)立的模塊,分別完成各自的任務(wù)。<
52、;/p><p><b> 六、運(yùn)行結(jié)果</b></p><p> 1、顯示主界面(學(xué)生成績管理系統(tǒng)主菜單)</p><p><b> 2、輸入學(xué)生信息</b></p><p><b> 3、刪除學(xué)生信息</b></p><p><b>
53、5、修改學(xué)生信息</b></p><p><b> 6、學(xué)生信息查詢</b></p><p> 7、顯示全部學(xué)生總成績排序</p><p><b> 8、顯示掛科人數(shù)</b></p><p> 9、顯示所有學(xué)生信息</p><p><b> 退
54、出程序界面</b></p><p><b> 七、設(shè)計(jì)小結(jié)</b></p><p> 優(yōu)點(diǎn):簡潔明了、界面整潔、使用了漢字的菜單、使用比較方便、經(jīng)過很多次調(diào)試后解決了很多漏洞。</p><p> 缺點(diǎn):不夠人性化、很多功能的缺失、存在很多漏洞(比如:班級(jí)中不能輸入數(shù)字;如果學(xué)號(hào)太長的話就不能夠?qū)R;只允許輸入100個(gè)學(xué)生信息;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)報(bào)告-學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)報(bào)告--學(xué)生成績管理系統(tǒng)
- 課程設(shè)計(jì)報(bào)告---學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)3
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 《學(xué)生成績管理系統(tǒng)》課程設(shè)計(jì)報(bào)告
- vb學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- java課程設(shè)計(jì)報(bào)告---學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告 (2)
- java學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- java學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c課程設(shè)計(jì)報(bào)告--學(xué)生成績管理系統(tǒng)
- java學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告.doc
評(píng)論
0/150
提交評(píng)論