版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 簡易學生成績管理系統(tǒng)</p><p><b> 目 錄</b></p><p> 1.第一部分 課程設計的題目與要求...........................3</p><p> 2.第二部分 課程設計題目功能...................................3</p&
2、gt;<p> ?。?).系統(tǒng)功能模塊框圖設計...............................................3-4</p><p> ?。?).數(shù)據(jù)結構說明...............................................................4-5</p><p> (3).詳細設計..........
3、.............................................................5-8</p><p> (4).調試與測試......................................................................8-12</p><p> 3.第三部分 課程設計總結.............
4、...............................12</p><p> 4.附錄 程序清單...................................................12-18</p><p> 簡易學生成績管理系統(tǒng)</p><p> 第一部分 課程設計的題目與要求</p><p><b
5、> 1.問題的提出</b></p><p> (1) 用記事本新建一個文本文件2011.txt來用于存放學生的成績信息。</p><p> (2) 再創(chuàng)建一個文本文件來用于存放每門課程的學分信息,文本文件名為KG201160057.txt。</p><p> (3) 用主函數(shù)列一個主菜單并利用主菜單調用各個子菜單,通過各個函數(shù)來
6、 實現(xiàn)以下功能:①計算平加權均分并排序;②排序;③統(tǒng)計;④顯示學生成績條。</p><p><b> 2.功能要求</b></p><p> (1) 計算加權平均分并排序:①計算加權平均分;②按平均分排序;③將名次表顯示</p><p> (2) 對學生信息實現(xiàn)排序功能:①按姓名排序;②按平均成績排序。將排序后的結果顯示在
7、屏幕上。</p><p> (3) 統(tǒng)計:①統(tǒng)計每門課的平均分;②各分數(shù)段(60分以下;60~69;70~79;80~89;90分以上)的學生人數(shù)。用C語言創(chuàng)建一個數(shù)據(jù)文件,用該文件來存放統(tǒng)計后的結果,并將結果顯示在屏幕上。</p><p> (4) 顯示學生成績條的功能:①顯示指定學號的學生成績條;②顯示指定姓名的學生成績條。將結果顯示在屏幕上。</p><p&g
8、t; 第二部分 課程設計題目功能</p><p> 1.系統(tǒng)功能模塊框圖設計</p><p><b> 2.數(shù)據(jù)結構說明</b></p><p> #define M 10 //定義常量 M為學生人數(shù)</p><p> #define N 4 //定義常量 N為課程數(shù)</p&
9、gt;<p> struct data //定義一個結構體。保存學生成績信息 </p><p><b> {</b></p><p><b> int num;</b></p><p> char name[10];</p><p><b>
10、int yy;</b></p><p><b> int math;</b></p><p><b> int jsj;</b></p><p><b> int sx;</b></p><p><b> int rank;</b>&l
11、t;/p><p> double jqave;</p><p> } stu[M]; //定義一個結構體數(shù)組。保存多條成績信息</p><p> struct kecheng //定義結構體,保存課程信息</p><p><b> {int num;</b></p><p&
12、gt; char kcname[20];</p><p> double xuefen;</p><p> } course[N]; //定義結構體數(shù)組,保存多門課程信息</p><p> 本程序主要采用結構體數(shù)組進行臨時的數(shù)據(jù)儲存,主要應用數(shù)組、文件作為數(shù)據(jù)存貯的方式。</p><p><b> 3.詳細設計
13、</b></p><p><b> 主要函數(shù):</b></p><p> void start() //在main函數(shù)中被調用,讀取成績信息至結構體數(shù)組。便于 其他功能模塊調用</p><p> Void menu() //在main函數(shù)中被調用,顯示菜單。</p><p&g
14、t; void xuanzhe() //在main函數(shù)中被調用,接受菜單選擇命令。</p><p> void eadfile() //在xuanzhe函數(shù)中被調用,在屏幕上顯示成績信息</p><p> void anjiaquanpx() //在xuanzhe函數(shù)中被調用,計算加權平均分并按加權平均 分排名</p><p>
15、 void numshow() //在xuanzhe函數(shù)中被調用,按學號查看學生成績條</p><p> Viod main() //主函數(shù),讀入成績文檔和課程學分文檔,計算加權平均分</p><p><b> 模塊功能說明:</b></p><p> 讀取文件信息的函數(shù):</p><p> vo
16、id start()</p><p><b> {</b></p><p> char title[100];</p><p> int num=10;</p><p><b> int j;</b></p><p> FILE *fpfile;</p>
17、<p><b> int i=0;</b></p><p> FILE *fpkc;</p><p><b> int k;</b></p><p> char str2[100];</p><p> if ((fpfile = fopen("yinhang.txt
18、","r"))==NULL)</p><p><b> { </b></p><p> printf("open file error!\n");</p><p><b> }</b></p><p> fgets(title,300,fp
19、file);</p><p> for(i=0;i<10;i++)</p><p><b> {</b></p><p> fscanf(fpfile,"%d%s%d%d%d%d",&stu[i].num,stu[i].name,&stu[i].yy,&stu[i].jsj,&st
20、u[i].math,&stu[i].sx);</p><p><b> }</b></p><p> fpkc=fopen("kc201161469.txt","r");</p><p> fgets(str2,100,fpkc);</p><p> for(k=0
21、;k<N;k++)</p><p><b> {</b></p><p> fscanf(fpkc,"%d%s%lf",&course[k].num,course[k].kcname,&course[k].xuefen);</p><p><b> }</b></p&g
22、t;<p> printf("\n");</p><p> fclose(fpkc);</p><p><b> }</b></p><p> 計算加權平均分并排序的函數(shù):</p><p> void anjiaquanpx(int a) //求加權平均分,名次&
23、lt;/p><p><b> {</b></p><p><b> int i,j;</b></p><p> double s=0,sum;</p><p><b> FILE *fp;</b></p><p> for(i=0;i<N;i
24、++)</p><p> s+=course[i].xuefen;</p><p> for(i=0;i<M;i++)</p><p><b> {</b></p><p><b> sum=0;</b></p><p> stu[i].rank=1;<
25、/p><p> sum=stu[i].yy*course[0].xuefen+stu[i].jsj*course[1].xuefen+stu[i].math*course[2].xuefen+stu[i].sx*course[3].xuefen;</p><p> stu[i].jqave=sum/s;</p><p><b> }</b>&
26、lt;/p><p> for(i=0;i<M;i++)</p><p><b> {</b></p><p> for(j=0;j<M;j++)</p><p> if(stu[j].jqave>stu[i].jqave)stu[i].rank+=1;</p><p><
27、;b> }</b></p><p> if((fp=fopen("加權平均分.txt","w"))==NULL)</p><p><b> {</b></p><p><b> exit(0);</b></p><p><b&g
28、t; }</b></p><p> printf("名次 學號 姓名 大學英語 C語言 高等數(shù)學 思想道德修養(yǎng) 平均成績\n");</p><p> fprintf(fp,"名次 學號 姓名 大學英語 C語言 高等數(shù)學 思想道德修養(yǎng) 平均成績\n");</p><p> if(a
29、==1) scoresort();</p><p> else namesort();</p><p> for(i=0;i<M;i++)</p><p><b> {</b></p><p> fprintf(fp,"%3d%4d%7s",stu[i].rank,stu[i].num,
30、stu[i].name);</p><p> fprintf(fp,"%7d%7d%7d%7d",stu[i].yy,stu[i].jsj,stu[i].math,stu[i].sx);</p><p> fprintf(fp,"%8.2lf\n",stu[i].jqave);</p><p> printf("
31、;%d%10d%7s",stu[i].rank,stu[i].num,stu[i].name);</p><p> printf("%7d%7d%7d%7d",stu[i].yy,stu[i].jsj,stu[i].math,stu[i].sx); </p><p> printf("%8.2lf\n",stu[i].jqave);&l
32、t;/p><p><b> }</b></p><p> printf("\n");</p><p> fclose(fp);</p><p><b> }</b></p><p><b> 統(tǒng)計的函數(shù)</b></p>
33、;<p> void tjpjf() //統(tǒng)計每門課程的平均分</p><p><b> {</b></p><p> int i,sumyy=0,sumjsj=0,summath=0,sumsx=0;</p><p> for(i=0;i<M;i++) sumyy+=stu[i].yy;</p>
34、;<p> printf("%d\n",sumyy/10);</p><p> for(i=0;i<M;i++)sumjsj+=stu[i].jsj;</p><p> printf("%d\n",sumjsj/10);</p><p> for(i=0;i<M;i++) summath+=s
35、tu[i].math;</p><p> printf("%d\n",summath/10);</p><p> for(i=0;i<M;i++)</p><p> sumsx+=stu[i].sx;</p><p> printf("%d\n",sumsx/10);</p>
36、<p><b> }</b></p><p> 顯示學生成績條的函數(shù)</p><p> void numshow() //按學號查詢顯示成績條</p><p><b> {</b></p><p> int xh,i,mark=0;</p><p&
37、gt; printf("學號");</p><p> scanf("%d",&xh);</p><p> for(i=0;i<M;i++)</p><p><b> {</b></p><p> if(stu[i].num==xh) </p>
38、<p> { printf("學號 姓名 大學英語 C語言 高等數(shù)學 思想道德修養(yǎng) 平均成績\n");</p><p> printf("%8d%7s%8d%10d%8d%9d%8.2lf\n",stu[i].num,stu[i].name,stu[i].yy,stu[i].jsj,stu[i].math,stu[i].sx,st
39、u[i].jqave);</p><p><b> mark=1;</b></p><p><b> }</b></p><p><b> }</b></p><p> if(mark==0) printf("not found");</p&g
40、t;<p><b> }</b></p><p> void xsxmcj() //按姓名查詢顯示成績條</p><p><b> {</b></p><p> char name[10],i,mark=0;</p><p> printf("請輸入姓名&quo
41、t;);</p><p> scanf("%s",&name);</p><p> for(i=0;i<M;i++)</p><p><b> {</b></p><p> if(strcmp(stu[i].name,name)==0) </p><p>
42、 {printf("學號 姓名 大學英語 C語言 高等數(shù)學 思想道德修養(yǎng) 平均成績\n");</p><p> printf("%8d%11s%8d%8d%8d%9d\n",stu[i].num,stu[i].name,stu[i].yy,stu[i].jsj,stu[i].math,stu[i].sx);</p><p&g
43、t;<b> mark=1;</b></p><p><b> }</b></p><p><b> }</b></p><p> if(mark==0) printf("not found");</p><p><b> }4.調試與測
44、試</b></p><p> 1. 用start ()函數(shù)從尹航.txt文件中讀取學生成績的詳細信息:</p><p> 2. 進入主菜單界面,具有9個功能,請選擇(1~9):</p><p> 3. 從主菜單中選擇1進入1菜單功能,顯示學生成績信息</p><p> 4.從主菜單中選擇2,實現(xiàn)按加權平均分排序功能<
45、/p><p> 從主菜單中選3按學生姓名排序:</p><p> 在菜單中選擇4按平均成績排序:</p><p> 7.從主菜單中選5進入統(tǒng)計每門課的平均分</p><p><b> ?。?lt;/b></p><p> 8.從菜單中選6,顯示指定學號的成績</p><p>
46、 9.從菜單中選7,顯示指定姓名的成績</p><p> 第三部分 課程設計總結</p><p> 這次課程設計終于順利完成了,在設計中遇到了很多編程問題,最后在汪老師的辛勤指導下,終于游逆而解。在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,比如說結構體……通過這次課程設計之后,一定把以前所學過的知識重新溫故。</p><
47、p> 回顧起此次課程設計,至今讓我我們仍感慨頗多,的確,從從拿到題目到完成整個編程,從理論到實踐,幾個星期的日子里,可以學到很多很多的的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識,也懂得集體團隊的重要性。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學生成績管理系統(tǒng)課程設計報告
- 學生成績管理系統(tǒng)課程設計報告
- 課程設計報告-學生成績管理系統(tǒng)
- 學生成績管理系統(tǒng)課程設計報告
- 學生成績管理系統(tǒng)課程設計報告
- 課程設計報告--學生成績管理系統(tǒng)
- 課程設計報告---學生成績管理系統(tǒng)
- 學生成績管理系統(tǒng)課程設計報告
- 學生成績管理系統(tǒng)課程設計報告
- 學生成績管理系統(tǒng)課程設計報告
- 《學生成績管理系統(tǒng)》課程設計報告
- vb學生成績管理系統(tǒng)課程設計報告
- java課程設計報告---學生成績管理系統(tǒng)
- 學生成績管理系統(tǒng)課程設計報告 (2)
- java學生成績管理系統(tǒng)課程設計報告
- java學生成績管理系統(tǒng)課程設計報告
- 學生成績管理系統(tǒng)課程設計報告 (3)
- c課程設計報告--學生成績管理系統(tǒng)
- java學生成績管理系統(tǒng)課程設計報告
- 學生成績管理系統(tǒng)課程設計報告.doc
評論
0/150
提交評論