版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 面向?qū)ο笳n程設(shè)計</b></p><p> 學(xué)生成績管理系統(tǒng)軟件</p><p> 院(系)別 計算科學(xué)與電氣工程學(xué)院 </p><p> 班 級 計算111 </p><p> 學(xué) 號
2、 </p><p> 姓 名 </p><p> 指導(dǎo)教師 </p><p> 時 間 2012-03-04—2012-03-28 </p><p><b> 目 錄</b></p>&
3、lt;p> 1課程設(shè)計概述1</p><p> 1.1成績管理軟件功能概述1</p><p> 1.2開發(fā)環(huán)境概述1</p><p> 2學(xué)生成績管理軟件總體設(shè)計1</p><p> 2.1成績管理軟件總體設(shè)計思想1</p><p> 3學(xué)生成績管理系統(tǒng)軟件詳細(xì)設(shè)計2</
4、p><p><b> 4程序測試20</b></p><p> 4.1菜單界面20</p><p> 4.2學(xué)生信息錄入界面21</p><p> 4.4按平均分排序界面22</p><p> 4.5修改個人信息界面22</p><p> 4.6
5、查詢個人信息界面.......................................................................................................23</p><p> 4.7 查詢不及格科目及學(xué)生名單.................................................................
6、.......................24</p><p> 4.8 退出界面........................................................................................................................24</p><p> 設(shè)計體會及今后的改進(jìn)意見25&l
7、t;/p><p><b> 參考文獻(xiàn)26</b></p><p><b> 課程設(shè)計概述</b></p><p> 學(xué)生成績管理系統(tǒng)軟件功能概述</p><p> 主要功能:(1)能按學(xué)期、按班級完成對學(xué)生成績的錄入、修改(2)能按班級統(tǒng)計學(xué)生的成績,求學(xué)生的總分及平均分,并能根據(jù)學(xué)生的平
8、均成績進(jìn)行排序(3)能查詢學(xué)生成績,不及格科目及學(xué)生名單(4)能按班級輸出學(xué)生的成績單</p><p><b> 開發(fā)環(huán)境概述</b></p><p> Visual C++是微軟公司的重要產(chǎn)品之一, 是一種功能強大行之有效的可視化編程工具。它提供了MFC類庫,使用戶可以方便的開發(fā)自己想實現(xiàn)的功能。Visual C++6.0的主要特點:</p>
9、<p> ?。?)自動化和宏功能。</p><p> (2)可以靈活地定制工具欄和菜單。</p><p> ?。?)可以直接運行和調(diào)試程序,還可以使用宏語言來自動操作調(diào)試器。</p><p> (4)支持Internet連接。</p><p> ?。?)一個新的便捷的項目系統(tǒng)可以允許一個工作區(qū)內(nèi)包含多個不同的項目類型。</
10、p><p> (6)在工作區(qū)內(nèi)可以包含多個并列的工程文件。</p><p> ?。?)可以在對話框中使用WizardBar將程序同可視化元素聯(lián)系起來。</p><p> ?。?)Find in File命令支持兩個獨立的輸出窗格,可以保存上一次搜索的結(jié)果。</p><p> 這些新特性可以更好地利用Visual C++開發(fā)工具進(jìn)行Window
11、s應(yīng)用程序開發(fā)。</p><p> 學(xué)生成績管理軟件總體設(shè)計</p><p> 學(xué)生成績管理軟件總體設(shè)計思想</p><p> 學(xué)生成績歷系統(tǒng)是為學(xué)生和老師提供的一款多功能操作,有學(xué)生成績錄入、學(xué)生成績?yōu)g覽、學(xué)生成績查詢以及不及格科目的程序。它的每項功能分別由主函數(shù)調(diào)用各個小函數(shù)來實現(xiàn)各項功能。</p><p> 先調(diào)用主函數(shù),進(jìn)入系
12、統(tǒng)主菜單界面。然后用戶可以根據(jù)提示選擇不同的功能,利用了getchar的一個小功能,當(dāng)你輸入的不是數(shù)字時,會讓你重新輸入。每執(zhí)行完每項功能,程序都會返回到主菜單界面,方便用戶繼續(xù)選擇其他的功能?!?lt;/p><p> 學(xué)生成績管理軟件詳細(xì)設(shè)計</p><p> /*系統(tǒng)擬采用順序存儲結(jié)構(gòu)存儲學(xué)生信息,實現(xiàn)對學(xué)生的全面管理,具體包括:錄入,顯示,插入,刪除,查詢,同國際等一系列操作*/&l
13、t;/p><p> #include<stdio.h></p><p> #include<stdlib.h></p><p> #include<ctype.h></p><p> #include<string.h></p><p> #include <
14、conio.h>/*getch()用*/</p><p> typedef struct /*定義結(jié)構(gòu)體結(jié)構(gòu)*/</p><p><b> {</b></p><p><b> int num;</b></p><p> char name[10];</p
15、><p> float math;</p><p> float english;</p><p><b> float c;</b></p><p> float total;</p><p> float average;</p><p><b> }
16、Student;</b></p><p> Student stu[10];</p><p> int menu()</p><p><b> {</b></p><p><b> int c;</b></p><p><b> do</
17、b></p><p><b> {</b></p><p> system("cls"); /*清屏*/</p><p> printf("\t\t****學(xué)生成績管理系統(tǒng)****\n");</p><p> printf("\t\t|1、錄入信息|
18、\n");</p><p> printf("\t\t|2、顯示所有記錄|\n");</p><p> printf("\t\t|3、按平均分排序|\n");</p><p> printf("\t\t|4、修改個人信息|\n");</p><p> printf(
19、"\t\t|5、查詢個人信息|\n");</p><p> printf("\t\t|6、查詢不及格科目及學(xué)生名單|\n");</p><p> printf("\t\t|0、退出|\n");</p><p> printf("\t\t****************************
20、");</p><p> printf("\n\n\n");</p><p> printf("\t\t\t請輸入您的選擇(只能輸入數(shù)字0-5):");</p><p> scanf("%d",&c);</p><p> getchar();</p&g
21、t;<p> }while(c<0||c>6);</p><p><b> return c;</b></p><p><b> }</b></p><p> void input(Student stu[],int n) /*輸入若干條記錄*/</p><p>
22、;<b> {</b></p><p><b> int i=0;</b></p><p> system("cls"); /*清屏*/</p><p> printf("學(xué)號輸入0退出");</p><p> while(i<n)&l
23、t;/p><p><b> {</b></p><p> printf("\t\t\t學(xué)號:");</p><p> scanf("%d",&stu[i].num);</p><p> if(stu[i].num==0)</p><p><
24、b> break;</b></p><p> printf("\t\t\t姓名:");</p><p> scanf("%s",stu[i].name);</p><p> printf("\t\t\t數(shù)學(xué)成績:");</p><p> scanf(&qu
25、ot;%f",&stu[i].math);</p><p> printf("\t\t\t英語成績:");</p><p> scanf("%f",&stu[i].english);</p><p> printf("\t\t\tC語言成績:");</p>&l
26、t;p> scanf("%f",&stu[i].c);</p><p> stu[i].total=stu[i].math+stu[i].english+stu[i].c;</p><p> stu[i].average=stu[i].total/3.0;</p><p><b> i++;</b>&l
27、t;/p><p><b> if(i==n)</b></p><p><b> {</b></p><p> printf("空間已滿,按任意鍵繼續(xù)...");</p><p><b> getch();</b></p><p>
28、<b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> void display(Student stu[],int n)
29、/*顯示所有記錄*/</p><p><b> {</b></p><p> system("cls");</p><p><b> int i=0;</b></p><p> printf(" 學(xué)號 姓名 數(shù)學(xué)成績 英語成績
30、 C成績 總成績 平均成績\n");</p><p> while(i<n)</p><p><b> {</b></p><p> printf("\t%d\t%s\t%.2f %.2f\t\t%.2f %.3f %.3f\n",stu[i].num,stu[i].name
31、,stu[i].math,stu[i].english,stu[i].c,stu[i].total,stu[i].average);</p><p><b> i++;</b></p><p><b> }</b></p><p><b> }</b></p><p>
32、 void Sort(Student stu[],int n) /*按總平均分排序*/</p><p><b> {</b></p><p><b> int i,j;</b></p><p> Student t;</p><p> for(i=0;i<n-1;i++)
33、 /*冒泡法*/</p><p><b> {</b></p><p> for(j=0;j<n-i-1;j++)</p><p><b> {</b></p><p> if(stu[j].average>stu[j+1].average)</p><
34、;p><b> {</b></p><p><b> t=stu[j];</b></p><p> stu[j]=stu[j+1];</p><p> stu[j+1]=t;</p><p><b> }</b></p><p><
35、b> }</b></p><p><b> }</b></p><p> system("cls");</p><p> printf(" 學(xué)號 姓名 數(shù)學(xué)成績 英語成績 C成績 總成績 平均成績\n");</p><p> for(i
36、=0;i<n;i++)</p><p> {printf("\t%d\t%s\t%.2f %.2f\t%.2f %.3f %.3f",stu[i].num,stu[i].name,stu[i].math,stu[i].english,stu[i].c,stu[i].total,stu[i].average);}</p><p><b> if(
37、i==n)</b></p><p><b> {</b></p><p> printf("按任意鍵繼續(xù)...");</p><p><b> getch();</b></p><p><b> }</b></p><
38、p><b> }</b></p><p> void update(Student stu[],int n) /*修改*/</p><p><b> {</b></p><p><b> int s;</b></p><p><b> c
39、har m;</b></p><p><b> int i=0;</b></p><p> system("cls");</p><p> printf("請輸入要修改學(xué)生的學(xué)號(0:結(jié)束修改):");</p><p> scanf("%d"
40、,&s);</p><p> for(;i<n;i++)</p><p><b> {</b></p><p><b> if(s==0)</b></p><p><b> {</b></p><p> printf("
41、按任意鍵繼續(xù)。\n");</p><p><b> getch();</b></p><p><b> break;</b></p><p><b> }</b></p><p> while(stu[i].num==s)</p><p&g
42、t;<b> {</b></p><p> system("cls");</p><p> printf(" 學(xué)號 姓名 數(shù)學(xué)成績 英語成績 C成績 總成績 平均成績\n");</p><p> printf("\t%d\t%s\t%.2f %.2f\t%.2f %
43、.3f %.3f",stu[i].num,stu[i].name,stu[i].math,stu[i].english,stu[i].c,stu[i].total,stu[i].average);</p><p> printf("\n確定要修改嗎?(Y/N)");</p><p> scanf("%c",&m);</p
44、><p> if(m=='y'||m=='Y')</p><p><b> {</b></p><p> printf("請修改:\n");</p><p> printf("學(xué)號:");</p><p> scanf(
45、"%d",&stu[i].num);</p><p> printf("姓名:");</p><p> scanf("%s",stu[i].name);</p><p> printf("數(shù)學(xué)成績:");</p><p> scanf("
46、%f",&stu[i].math);</p><p> printf("英語成績:");</p><p> scanf("%f",&stu[i].english);</p><p> printf("C成績:");</p><p> scanf(&q
47、uot;%f",&stu[i].c);</p><p> stu[i].total=stu[i].math+stu[i].english+stu[i].c;</p><p> stu[i].average=stu[i].total/3.0;</p><p> printf("按任意鍵繼續(xù)。\n");</p>
48、<p><b> getch();</b></p><p><b> break;</b></p><p><b> }</b></p><p> else if(m=='n'||m=='N')</p><p><b>
49、; {</b></p><p> printf("按任意鍵繼續(xù)。\n");</p><p><b> getch();</b></p><p><b> break;</b></p><p><b> }</b></p>
50、<p><b> }</b></p><p><b> if(i>n)</b></p><p><b> {</b></p><p> printf("無此學(xué)號,請按任意鍵后重新輸入。\n");</p><p><b>
51、getch();</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> void query(Student stu[],int n)</p><p&g
52、t;<b> {</b></p><p> system("cls");</p><p><b> int s;</b></p><p><b> int i=0;</b></p><p> printf("\t\t\t請輸入學(xué)號:&qu
53、ot;);</p><p> scanf("%d",&s);</p><p> for(;i<n;i++) /*查找判斷*/</p><p><b> {</b></p><p> if(stu[i].num==s)</p><p><b>
54、 {</b></p><p> system("cls");</p><p> printf(" 學(xué)號 姓名 數(shù)學(xué)成績 英語成績 C成績 總成績 平均成績\n");</p><p> printf("%d %s %.2f %.2f %.2f %.3f %.3f",s
55、tu[i].num,stu[i].name,stu[i].math,stu[i].english,stu[i].c,stu[i].total,stu[i].average);</p><p> printf("\n按任意鍵繼續(xù)。\n");</p><p><b> getch();</b></p><p><b&g
56、t; break;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> if(i>n)</b></p><p><b> {</b></p><p&g
57、t; printf("無此學(xué)號,請按任意鍵后重新輸入。\n");</p><p><b> getch();</b></p><p><b> }</b></p><p><b> }</b></p><p> void fail(Student
58、stu[],int n)//不及格判斷</p><p><b> {</b></p><p> system("cls");</p><p><b> int s;</b></p><p><b> int i=0;</b></p>&
59、lt;p> for(;i<n;i++) /*查找判斷*/</p><p><b> {</b></p><p> if(stu[i].c<60||stu[i].english<60||stu[i].math<60)</p><p><b> {</b></p><
60、;p> printf("不及格學(xué)生名單:\n");</p><p> printf("%d %s ",stu[i].num,stu[i].name);</p><p> printf("不及格科目:\n");</p><p><b> }</b></p>
61、<p> if(stu[i].c<60)</p><p><b> {</b></p><p> printf("c語言");</p><p> printf("%.2f",stu[i].c);</p><p><b> }</b>
62、</p><p> if(stu[i].english<60)</p><p><b> {</b></p><p> printf("英語成績");</p><p> printf("%.2f",stu[i].english);</p><p&
63、gt;<b> }</b></p><p> if(stu[i].math<60)</p><p><b> {</b></p><p> printf("數(shù)學(xué)成績");</p><p> printf("%.2f",stu[i].math)
64、;</p><p><b> }</b></p><p><b> }</b></p><p><b> if(i>n)</b></p><p><b> {</b></p><p> printf("無此
65、學(xué)號,請按任意鍵后重新輸入。\n");</p><p><b> getch();</b></p><p><b> }</b></p><p> printf("\n按任意鍵繼續(xù)。\n");</p><p><b> getch();</b&g
66、t;</p><p><b> }</b></p><p> void main()//主函數(shù)</p><p><b> {</b></p><p> for(int i=0;i<10;i++)</p><p> stu[i].num=0;</p>
67、<p><b> int n;</b></p><p><b> int ch;</b></p><p><b> while(1)</b></p><p><b> {</b></p><p> ch=menu();</p&
68、gt;<p> switch(ch)</p><p><b> {</b></p><p><b> case 1:</b></p><p> printf("****請輸入要輸入的學(xué)生個數(shù):*****");</p><p> scanf("%d
69、",&n);</p><p> input(stu,n);</p><p><b> break;</b></p><p><b> case 2:</b></p><p> display(stu,n);</p><p> system(&quo
70、t;pause");</p><p><b> break;</b></p><p><b> case 3:</b></p><p> Sort(stu,n);</p><p><b> break;</b></p><p><
71、b> case 4:</b></p><p> update(stu,n);</p><p><b> break;</b></p><p><b> case 5:</b></p><p> query(stu,n);</p><p><b
72、> break;</b></p><p><b> case 6:</b></p><p> fail(stu,n);</p><p><b> break;</b></p><p><b> case 0:</b></p><p
73、><b> exit(0);</b></p><p><b> default:</b></p><p> printf("選擇錯誤,請重新選擇。");</p><p><b> getch();</b></p><p><b>
74、}</b></p><p><b> }</b></p><p><b> }</b></p><p><b> 程序測試</b></p><p><b> 菜單界面</b></p><p><b>
75、 圖4-1 菜單界面</b></p><p> 圖4-2 菜單選擇出錯界面</p><p> 如上圖所示,該程序為用戶提供菜單界面,用戶可以對程序的各種功能進(jìn)行選擇,方便用戶使用。選擇0-6并按enter鍵進(jìn)行操作。如選擇出錯,系統(tǒng)將提示用戶按任意鍵退出系統(tǒng)重新進(jìn)行。</p><p><b> 錄入信息界面 </b><
76、/p><p> 圖4-3 ;錄入信息界面</p><p> 如上圖所示,錄入了2名同學(xué)的成績信息。</p><p><b> 顯示所有記錄界面</b></p><p> 圖4-4 顯示錄入信息界面</p><p> 如上圖所示,該功能實現(xiàn);錄入信息的瀏覽,按任意鍵會返回主菜單,程序?qū)⒃俅翁嵝?/p>
77、用戶進(jìn)行新的選擇。</p><p><b> 按平均分排序界面</b></p><p> 圖4-5 成績排序功能界面</p><p> 如上圖所示,該功能將錄入的所有學(xué)生的成績的平均分進(jìn)行了排序,由上到下依次升高。</p><p> 4.5 修改個人信息界面</p><p> 如圖所示,
78、這是對學(xué)號是“1”的同學(xué)信息進(jìn)行修改,其中“y”是yes的意思,“N”是no的意思,這是在讓用戶進(jìn)行確定是否要真的修改。</p><p><b> 修改之后的圖為</b></p><p> 4.6查詢個人信息界面</p><p> 在錄入信息時只錄入了一個學(xué)生的成績,所以只查到了一個學(xué)生的信息。</p><p>
79、 4.7學(xué)生不及格科目及名單界面</p><p><b> 4.8 推出界面</b></p><p> 選擇0退出的時候,再按一下任意鍵就可以成功退出程序。</p><p> 設(shè)計體會及今后的改進(jìn)意見</p><p> 為了提高我們的實踐能力,讓我們學(xué)以致用,能靈活運用所學(xué)的知識進(jìn)行再創(chuàng)造,學(xué)校特安排我們進(jìn)行為期
80、二周的Visual C++課程設(shè)計實習(xí),并安排了指導(dǎo)老師幫助輔導(dǎo),讓我們在規(guī)范化、嚴(yán)謹(jǐn)化、實用化上面有了很大進(jìn)展。</p><p> 在此次學(xué)生成績管理系統(tǒng)程序開發(fā)過程中,有很多東西值得我們思考并總結(jié)。課程設(shè)計是培養(yǎng)學(xué)生綜合運用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學(xué)生實際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機已經(jīng)成為當(dāng)今計算機應(yīng)用中空前活躍的領(lǐng)域, 在
81、生活中可以說得是無處不在。 從選題到定稿,從理論到實踐,在整整一星期的日子里,可以說得是苦多于甜,但是可以學(xué)到很多很多的東西,同時不僅可以鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程中遇到問題,可以說得是困
82、難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固,比如getcha的靈活運用,和清屏庫函數(shù)的運用等。這次課程設(shè)計終于順利完成了,在設(shè)計中遇到了很多編程問題,最后在同學(xué)們和老師的辛勤指導(dǎo)下</p><p> 在以后的日子里,要多多注重實踐過程,多對所做的程序進(jìn)行認(rèn)真調(diào)試,方可有希望做出大型程序。 </p>
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)生成績管理系統(tǒng)軟件課程設(shè)計報告
- 學(xué)生成績管理系統(tǒng)軟件工程課程設(shè)計
- 軟件需求課程設(shè)計--學(xué)生成績管理系統(tǒng)
- 軟件工程課程設(shè)計---學(xué)生成績管理系統(tǒng)
- 軟件工程課程設(shè)計--學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)課程設(shè)計
- 課程設(shè)計——學(xué)生成績管理系統(tǒng)
- 課程設(shè)計---學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)課程設(shè)計
- 學(xué)生成績管理系統(tǒng)課程設(shè)計
- 學(xué)生成績管理系統(tǒng)課程設(shè)計
- 學(xué)生成績管理系統(tǒng)課程設(shè)計
- 學(xué)生成績管理系統(tǒng) 課程設(shè)計
- 課程設(shè)計--學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)課程設(shè)計
- 軟件工程課程設(shè)計模板-學(xué)生成績管理系統(tǒng)
- 課程設(shè)計-- 學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)課程設(shè)計
- 學(xué)生成績管理系統(tǒng)課程設(shè)計9
- 學(xué)生成績管理系統(tǒng)課程設(shè)計10
評論
0/150
提交評論