版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 計(jì)算機(jī)程序設(shè)計(jì)(c語言)</p><p><b> 課程設(shè)計(jì)報(bào)告</b></p><p> 題目:班級(jí)成績分析系統(tǒng)</p><p><b> 學(xué)院:紡織服裝學(xué)院</b></p><p><b> 專業(yè):紡織工程</b></p><
2、;p><b> 班級(jí): </b></p><p><b> 姓名: </b></p><p><b> 指導(dǎo)教師: </b></p><p> 答辯日期:2012年 7月 7日</p><p> 一、 設(shè)計(jì)背景介紹 </p><p>
3、 1.為了熟悉c語言的應(yīng)用,將理論轉(zhuǎn)化為實(shí)踐,在老師的幫助下我設(shè)計(jì)了這個(gè)簡單的程序。</p><p> 2.對于普通的成績表無法快速的了解班級(jí)成績情況,為了方便老師對班級(jí)成績的了解,本程序采用了各種角度對班級(jí)成績進(jìn)行全面的分析。</p><p> 二、 任務(wù)概述和主體部分</p><p> 由于初次編程,且對c語言的知識(shí)了解程度不深,很多知識(shí)點(diǎn)無法靈活運(yùn)用,
4、所以大部分內(nèi)容采用c語言的基本知識(shí)。</p><p> 主要任務(wù)是對輸入的班級(jí)成績信息進(jìn)行分析后輸出,關(guān)鍵在于采用方法對數(shù)據(jù)處理和輸出,能保證輸出的信息簡潔明了。</p><p> 我設(shè)計(jì)的這個(gè)為一個(gè)簡單的成績分析程序。其中主要功能有</p><p> 1.經(jīng)過輸入班級(jí)信息對班級(jí)成績情況制表</p><p> 2.統(tǒng)計(jì)出各科成績的最高
5、分</p><p><b> 3.計(jì)算出平均分</b></p><p><b> 4.對各分?jǐn)?shù)段統(tǒng)計(jì)</b></p><p><b> 5.學(xué)分績點(diǎn)計(jì)算</b></p><p> 首先是定義了一個(gè)結(jié)構(gòu)體,定義了一個(gè)結(jié)構(gòu)體變量數(shù)組。用于存放輸入的班級(jí)學(xué)生信息。</p
6、><p> 本程序主體框架為一個(gè)switch選擇語句,這樣就可以對各種分析結(jié)果進(jìn)行選擇性輸出,可以根據(jù)用戶的需求輸出。</p><p> 對數(shù)據(jù)的處理和輸出主要采用了for while等循環(huán)結(jié)構(gòu),這樣可以大大的簡化程序,使程序看起來清楚明了,更便于修改完善。</p><p><b> 三、 設(shè)計(jì)流程</b></p><p
7、><b> 四、 程序代碼清單</b></p><p> #include<stdio.h></p><p> #include<stdlib.h></p><p> struct stu</p><p> {int num;</p><p> cha
8、r name[20];</p><p><b> int age;</b></p><p> int score[4];</p><p> }stu[150];/*結(jié)構(gòu)體及結(jié)構(gòu)體變量定義*/</p><p><b> main()</b></p><p> {/*變
9、量和數(shù)組的定義及數(shù)組元素初始化*/</p><p> int a,b,max,i,n,xx;</p><p> int k[4][4]={0};</p><p> float j,f[4]={0};</p><p> float h[4]={0};</p><p> printf("========
10、====================================================\n");/*標(biāo)題*/</p><p> printf("歡迎使用成績管理系統(tǒng)\n");</p><p> printf("\t\t\t\t\t作者:王鵬\n");</p><p> printf("
11、;============================================================");</p><p> printf("\n\n\n");</p><p> printf("請輸入班級(jí)人數(shù):");/*接收班級(jí)人數(shù)*/</p><p> scanf("%d&q
12、uot;,&a);</p><p> printf("\n");/*接收班級(jí)學(xué)生信息*/</p><p> for(b=0;b<a;b++)</p><p> {printf("請輸入學(xué)號(hào):");</p><p> scanf("%d",&stu[b].
13、num);</p><p> printf("請輸入姓名:");</p><p> scanf("%s",stu[b].name);</p><p> printf("請輸入年齡:");</p><p> scanf("%d",&stu[b].ag
14、e);</p><p> printf("請輸入計(jì)算機(jī)成績:");</p><p> scanf("%d",&stu[b].score[0]);</p><p> printf("請輸入數(shù)學(xué)成績:");</p><p> scanf("%d",&a
15、mp;stu[b].score[1]);</p><p> printf("請輸入物理成績:");</p><p> scanf("%d",&stu[b].score[2]);</p><p> printf("請輸入外語成績:");</p><p> scanf(&
16、quot;%d",&stu[b].score[3]);</p><p> printf("\n");</p><p><b> }</b></p><p><b> kaishi: </b></p><p> printf("\n\n\n&qu
17、ot;);</p><p> printf("*****************************************************\n");/*菜單*/</p><p> printf("成績表請輸入1\n");</p><p> printf("各科最高分請輸入2\n");&l
18、t;/p><p> printf("各科平均分請輸入3\n");</p><p> printf("各科成績統(tǒng)計(jì)情況請輸入4\n");</p><p> printf("學(xué)分績點(diǎn)請輸入5\n");</p><p> printf("結(jié)束請輸入0\n");<
19、;/p><p> printf("******************************************************\n");</p><p> scanf("%d",&xx);/*接收選項(xiàng)*/</p><p> system("cls");</p><
20、;p> switch(xx)/*判斷接收的選項(xiàng)*/</p><p><b> {</b></p><p> case 1:{/*成績表*/</p><p> printf("學(xué)號(hào)\t");</p><p> printf("姓名\t");</p>&l
21、t;p> printf("年齡\t");</p><p> printf("計(jì)算機(jī)成績\t");</p><p> printf("數(shù)學(xué)成績\t");</p><p> printf("物理成績\t");</p><p> printf("
22、;外語成績\n");</p><p> for(b=0;b<a;b++)</p><p> {printf("%d\t",stu[b].num);</p><p> printf("%s\t",stu[b].name);</p><p> printf("%d\t&qu
23、ot;,stu[b].age);</p><p> printf("%d \t",stu[b].score[0]);</p><p> printf("%d \t",stu[b].score[1]);</p><p> printf("%d \t",stu[b].s
24、core[2]);</p><p> printf("%d\n",stu[b].score[3]);</p><p><b> }</b></p><p> printf("\n\n");</p><p> printf("\n\n\n\n\n\n\n\n繼續(xù)輸入
25、");</p><p> goto kaishi;}</p><p> case 2:{/*最高分計(jì)算和輸出*/</p><p> max=stu[0].score[0];</p><p> for(b=1;b<a;b++)</p><p> {if(max<stu[b].score[0
26、])</p><p> max=stu[b].score[0];</p><p> }printf("計(jì)算機(jī)成績最高分:");</p><p> printf("%d\n",max);</p><p> max=stu[0].score[1];</p><p> for
27、(b=1;b<a;b++)</p><p> {if(max<stu[b].score[1])</p><p> max=stu[b].score[1];</p><p> }printf("數(shù)學(xué)成績最高分:");</p><p> printf("%d\n",max);</p
28、><p> max=stu[0].score[2];</p><p> for(b=1;b<a;b++)</p><p> {if(max<stu[b].score[2])</p><p> max=stu[b].score[2];</p><p> }printf("物理成績最高分:&qu
29、ot;);</p><p> printf("%d\n",max);</p><p> max=stu[0].score[3];</p><p> for(b=1;b<a;b++)</p><p> {if(max<stu[b].score[3])</p><p> max=s
30、tu[b].score[3];</p><p> }printf("外語成績最高分:");</p><p> printf("%d\n",max);</p><p> printf("\n\n\n\n\n繼續(xù)輸入");</p><p> goto kaishi; }&l
31、t;/p><p> case 3:{/*平均分計(jì)算和輸出*/</p><p><b> b=0;</b></p><p> while(b<a)</p><p> {h[0]+=stu[b].score[0];h[1]+=stu[b].score[1];h[2]+=stu[b].score[2];h[3]+=s
32、tu[b].score[3];</p><p><b> b++;</b></p><p><b> }</b></p><p> f[0]=h[0]/a;</p><p> f[1]=h[1]/a;</p><p> f[2]=h[2]/a;</p>
33、<p> f[3]=h[3]/a;</p><p> printf("計(jì)算機(jī)成績平均分:");</p><p> printf("%f\n",f[0]);</p><p> printf("數(shù)學(xué)成績平均分:");</p><p> printf("%f
34、\n",f[1]);</p><p> printf("物理成績平均分:");</p><p> printf("%f\n",f[2]);</p><p> printf("外語成績平均分:");</p><p> printf("%f\n",f
35、[3]);</p><p> printf("\n\n\n\n\n\n\n\n繼續(xù)輸入");</p><p> goto kaishi; }</p><p> case 4:{/*班級(jí)成績統(tǒng)計(jì)分析*/</p><p><b> b=0;</b></p><p>
36、 while(b<a)</p><p> {for(i=1;i<=4;i++)</p><p> {if(stu[b].score[i]<60)k[0][i]++;</p><p> if(stu[b].score[i]>=80)k[3][i]++;</p><p> if(stu[b].score[i]>
37、;=70&&stu[b].score[i]<80)k[2][i]++;</p><p> if(stu[b].score[i]>=60&&stu[b].score[i]<70)k[1][i]++;</p><p><b> }</b></p><p><b> b++;</
38、b></p><p><b> }</b></p><p> for(i=0;i<4;i++)</p><p><b> {</b></p><p> if(i==0)printf("計(jì)算機(jī)成績分布情況");</p><p> if(
39、i==1)printf("數(shù)學(xué)成績分布情況");</p><p> if(i==2)printf("物理成績分布情況");</p><p> if(i==3)printf("外語成績分布情況");</p><p> printf("成績不及格人數(shù):");</p>&l
40、t;p> printf("%d\n",k[0][i]);</p><p> printf("成績中人數(shù):");</p><p> printf("%d\n",k[1][i]);</p><p> printf("成績良好人數(shù):");</p><p>
41、 printf("%d\n",k[2][i]);</p><p> printf("成績優(yōu)秀人數(shù):");</p><p> printf("%d\n\n",k[3][i]);</p><p><b> }</b></p><p> printf(&qu
42、ot;計(jì)算機(jī)成績不及格的同學(xué)名字及考分:\n");</p><p> for(b=0;b<a;b++)</p><p> {if(stu[b].score[0]<60)</p><p> printf("%s\t%d\n",stu[b].name,stu[b].score[0]);}</p><p&
43、gt; printf("\n\n");</p><p> printf("計(jì)算機(jī)成績中的同學(xué)名字及考分:\n");</p><p> for(b=0;b<a;b++)</p><p> {if(stu[b].score[0]>=60&&stu[b].score[0]<70)</p
44、><p> printf("%s\t%d\n",stu[b].name,stu[b].score[0]);</p><p> }printf("\n\n");</p><p> printf("計(jì)算機(jī)成績良好的同學(xué)名字及考分:\n");</p><p> for(b=0;b<
45、;a;b++)</p><p> {if(stu[b].score[0]>=70&&stu[b].score[0]<80)</p><p> printf("%s\t%d\n",stu[b].name,stu[b].score[0]);}</p><p> printf("\n\n");<
46、;/p><p> printf("計(jì)算機(jī)成績優(yōu)秀的同學(xué)名字及考分:\n");</p><p> for(b=0;b<a;b++)</p><p> {if(stu[b].score[0]>=80)</p><p> printf("%s\t%d\n",stu[b].name,stu[b]
47、.score[0]);}</p><p> printf("\n\n\n\n");</p><p> printf("數(shù)學(xué)成績不及格的同學(xué)名字及考分:\n");</p><p> for(b=0;b<a;b++)</p><p> {if(stu[b].score[1]<60)<
48、;/p><p> printf("%s\t%d\n",stu[b].name,stu[b].score[1]);}</p><p> printf("\n\n");</p><p> printf("數(shù)學(xué)成績中的同學(xué)名字及考分:\n");</p><p> for(b=0;b&l
49、t;a;b++)</p><p> {if(stu[b].score[1]>=60&&stu[b].score[1]<70)</p><p> printf("%s\t%d\n",stu[b].name,stu[b].score[1]);</p><p> }printf("\n\n");&l
50、t;/p><p> printf("數(shù)學(xué)成績良好的同學(xué)名字及考分:\n");</p><p> for(b=0;b<a;b++)</p><p> {if(stu[b].score[1]>=70&&stu[b].score[1]<80)</p><p> printf("%s
51、\t%d\n",stu[b].name,stu[b].score[1]);}</p><p> printf("\n\n");</p><p> printf("數(shù)學(xué)成績優(yōu)秀的同學(xué)名字及考分:\n");</p><p> for(b=0;b<a;b++)</p><p> {if
52、(stu[b].score[1]>=80)</p><p> printf("%s\t%d\n",stu[b].name,stu[b].score[1]);}</p><p> printf("\n\n\n\n");</p><p> printf("物理成績不及格的同學(xué)名字及考分:\n");&
53、lt;/p><p> for(b=0;b<a;b++)</p><p> {if(stu[b].score[2]<60)</p><p> printf("%s\t%d\n",stu[b].name,stu[b].score[2]);}</p><p> printf("\n\n");&
54、lt;/p><p> printf("物理成績中的同學(xué)名字及考分:\n");</p><p> for(b=0;b<a;b++)</p><p> {if(stu[b].score[2]>=60&&stu[b].score[2]<70)</p><p> printf("%s
55、\t%d\n",stu[b].name,stu[b].score[2]);</p><p> }printf("\n\n");</p><p> printf("物理成績良好的同學(xué)名字及考分:\n");</p><p> for(b=0;b<a;b++)</p><p> {if
56、(stu[b].score[2]>=70&&stu[b].score[2]<80)</p><p> printf("%s\t%d\n",stu[b].name,stu[b].score[2]);}</p><p> printf("\n\n");</p><p> printf("
57、物理成績優(yōu)秀的同學(xué)名字及考分:\n");</p><p> for(b=0;b<a;b++)</p><p> {if(stu[b].score[2]>=80)</p><p> printf("%s\t%d\n",stu[b].name,stu[b].score[2]);}</p><p>
58、 printf("\n\n\n\n");</p><p> printf("外語成績不及格的同學(xué)名字及考分:\n");</p><p> for(b=0;b<a;b++)</p><p> {if(stu[b].score[3]<60)</p><p> printf("%
59、s\t%d\n",stu[b].name,stu[b].score[3]);}</p><p> printf("\n\n");</p><p> printf("外語成績中的同學(xué)名字及考分:\n");</p><p> for(b=0;b<a;b++)</p><p> {if
60、(stu[b].score[3]>=60&&stu[b].score[3]<70)</p><p> printf("%s\t%d\n",stu[b].name,stu[b].score[3]);</p><p> }printf("\n\n");</p><p> printf("
61、外語成績良好的同學(xué)名字及考分:\n");</p><p> for(b=0;b<a;b++)</p><p> {if(stu[b].score[3]>=70&&stu[b].score[3]<80)</p><p> printf("%s\t%d\n",stu[b].name,stu[b].sc
62、ore[3]);}</p><p> printf("\n\n");</p><p> printf("外語成績優(yōu)秀的同學(xué)名字及考分:\n");</p><p> for(b=0;b<a;b++)</p><p> {if(stu[b].score[3]>=80)</p>
63、<p> printf("%s\t%d\n",stu[b].name,stu[b].score[3]);}</p><p> printf("\n\n\n\n\n\n\n\n繼續(xù)輸入");</p><p> goto kaishi;}</p><p> case 5:{/*班級(jí)學(xué)生學(xué)分績點(diǎn)計(jì)算和輸出*/&
64、lt;/p><p> printf("班級(jí)學(xué)生學(xué)分績點(diǎn)情況\n");</p><p> for(b=0;b<a;b++)</p><p><b> {j=0;</b></p><p> for(i=0;i<4;i++)</p><p> {if(i==0||i
65、==3)n=4; if(i==1||i==2)n=6;</p><p> if(stu[b].score[i]>=90) j+=(float)(4.0*n);</p><p> if(stu[b].score[i]<90&&stu[b].score[i]>=85) j+=(float)(3.7*n);</p><p> if(
66、stu[b].score[i]<85&&stu[b].score[i]>=82) j+=(float)(3.3*n);</p><p> if(stu[b].score[i]<82&&stu[b].score[i]>=78) j+=(float)(3.0*n);</p><p> if(stu[b].score[i]<78&
67、amp;&stu[b].score[i]>=75) j+=(float)(2.7*n);</p><p> if(stu[b].score[i]<75&&stu[b].score[i]>=72) j+=(float)(2.3*n);</p><p> if(stu[b].score[i]<72&&stu[b].score[
68、i]>=68) j+=(float)(2.0*n);</p><p> if(stu[b].score[i]<68&&stu[b].score[i]>=64) j+=(float)(1.5*n);</p><p> if(stu[b].score[i]<64&&stu[b].score[i]>=60) j+=(float)(
69、1.0*n);</p><p> if(stu[b].score[i]<60)j+=0*n;</p><p><b> }</b></p><p><b> j=j/20;</b></p><p> printf("%s:%f",stu[b].name,j);<
70、;/p><p> printf("\n\n");</p><p><b> }</b></p><p> printf("\n\n\n\n\n\n\n\n繼續(xù)輸入");</p><p> goto kaishi; }</p><p> case
71、0:{/*結(jié)束*/</p><p> printf("謝謝使用!\n");</p><p> printf("祝全班同學(xué)期末考試都過!\n");</p><p><b> break;}</b></p><p> default:{printf("輸入有誤,請重輸
72、入\n"); </p><p> printf("\n\n\n\n\n\n\n\n繼續(xù)輸入");</p><p> goto kaishi; }</p><p><b> }</b></p><p><b> }</b></p><p>
73、 五、遇見問題及解決方案</p><p> 1.問題:運(yùn)行結(jié)果無法對應(yīng)對齊。</p><p> 解決方案:適當(dāng)采用轉(zhuǎn)義字符或空格是內(nèi)容對齊。 </p><p> 問題:運(yùn)行結(jié)果數(shù)值出現(xiàn)錯(cuò)誤。</p><p> 解決方案:變量忘記賦初值了,給變量賦初值0。 </p><p><b> 問題:分號(hào)不對
74、。</b></p><p> 解決方案:由于輸入法的問題導(dǎo)致分號(hào)不正確,換成英語輸入后重新輸入。</p><p> 六、 設(shè)計(jì)完成情況及需進(jìn)一步完善的地方</p><p> 本程序基本完整,各個(gè)部分基本也比較完善。主要分為兩個(gè)部分,前一部分主要是數(shù)據(jù)的輸入,后一部分是數(shù)據(jù)的分析處理和輸出。</p><p> 缺點(diǎn)是數(shù)據(jù)的接
75、收過于繁瑣,并且對錯(cuò)誤數(shù)據(jù)的鑒別能力基本沒有。</p><p> 七、 設(shè)計(jì)調(diào)試和結(jié)果</p><p> 八、 個(gè)人收獲和總結(jié)</p><p> 在這次課程設(shè)計(jì)過程中,遇到了種種問題和麻煩。但最終在老師和同學(xué)們的幫助下我克服了重重困難一一解決了所有的問題,設(shè)計(jì)出了我的第一個(gè)C語言程序。</p><p> 通過這次c語言課程設(shè)計(jì),我的意
溫馨提示
- 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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c語言課程設(shè)計(jì)---班級(jí)成績管理系統(tǒng)
- c語言課程設(shè)計(jì)—班級(jí)成績管理系統(tǒng)
- 《班級(jí)成績管理系統(tǒng)》c語言課程設(shè)計(jì)
- c語言課程設(shè)計(jì)---班級(jí)成績管理系統(tǒng) (2)
- c語言課程設(shè)計(jì)-成績管理系統(tǒng)
- 班級(jí)成績管理系統(tǒng)c語言課程方案
- 班級(jí)成績分析
- c語言課程設(shè)計(jì)報(bào)告--成績管理系統(tǒng)
- c語言課程設(shè)計(jì)課程設(shè)計(jì)-成績統(tǒng)計(jì)系統(tǒng)+進(jìn)制轉(zhuǎn)換系統(tǒng)
- c語言課程設(shè)計(jì)--學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計(jì)---學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計(jì)學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計(jì)-學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計(jì)----學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計(jì)學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計(jì)學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計(jì)-學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計(jì)(成績管理系統(tǒng))源程序
- c語言課程設(shè)計(jì)-學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)--c語言課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論