![班級(jí)學(xué)生成績(jī)管理-_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/289035ee-c18e-47c5-9830-cffa8db8f95e/289035ee-c18e-47c5-9830-cffa8db8f95e1.gif)
![班級(jí)學(xué)生成績(jī)管理-_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/289035ee-c18e-47c5-9830-cffa8db8f95e/289035ee-c18e-47c5-9830-cffa8db8f95e2.gif)
![班級(jí)學(xué)生成績(jī)管理-_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/289035ee-c18e-47c5-9830-cffa8db8f95e/289035ee-c18e-47c5-9830-cffa8db8f95e3.gif)
![班級(jí)學(xué)生成績(jī)管理-_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/289035ee-c18e-47c5-9830-cffa8db8f95e/289035ee-c18e-47c5-9830-cffa8db8f95e4.gif)
![班級(jí)學(xué)生成績(jī)管理-_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/289035ee-c18e-47c5-9830-cffa8db8f95e/289035ee-c18e-47c5-9830-cffa8db8f95e5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、xxxxxxx 學(xué)院課程設(shè)計(jì)學(xué)號(hào)班級(jí)姓名扌旨導(dǎo)教y帀2008 年 9 月 12 e)課程設(shè)計(jì)任務(wù)書(shū)一、課程設(shè)計(jì)題目:班級(jí)學(xué)生成績(jī)管理二、課程設(shè)計(jì)工作自2008年9月8日起至2008年9月12日止三、課程設(shè)計(jì)內(nèi)容:運(yùn)用所學(xué)的c語(yǔ)言知識(shí),編制和調(diào)試程序,具體要求如下:添加學(xué)生數(shù)據(jù)刪除學(xué)牛數(shù)據(jù)按總成績(jī)排序,并顯示名次(成績(jī)相同,名次相同) 成績(jī)查詢?cè)偌右豁?xiàng)功能注:每個(gè)學(xué)生數(shù)據(jù)至少應(yīng)該包括學(xué)號(hào)、姓名、三門(mén)成績(jī),學(xué)生數(shù)據(jù)要保存在student.dat文件中。四、課程設(shè)計(jì)要求:程序質(zhì)量:貫徹事件驅(qū)動(dòng)的程序設(shè)計(jì)思想。用戶界面友好,功能明確,操作方便;可以加以其它功能或修飾。用八界而中的菜單至少應(yīng)包括“學(xué)生信
2、息查詢(根據(jù)姓名,或編號(hào) 等。)”、“顯示全部學(xué)生信息”、“添加學(xué)生信息”、“刪除學(xué)生信息”、"退出” 5項(xiàng)。 代碼應(yīng)適當(dāng)縮進(jìn),并給出必要的注釋,以增強(qiáng)程序的可讀性。課程設(shè)計(jì)說(shuō)明書(shū):課程結(jié)束后,上交課程設(shè)計(jì)說(shuō)明帖和源程序。課程設(shè)計(jì)說(shuō)明巧的內(nèi)容如 t: 課程設(shè)計(jì)任務(wù)書(shū) 程序設(shè)計(jì)題目 需求分析(分析題目的要求) 程序框圖(總體框圖和各功能模塊框圖,使用傳統(tǒng)流程圖或n s框圖) 核心技術(shù)的實(shí)現(xiàn)方法及程序源代碼及注釋 個(gè)人總結(jié)參考資料指導(dǎo)教師:學(xué)生簽名:成 績(jī):評(píng) 語(yǔ):目錄一、需求分析1二、程序流程圖2三、核心技術(shù)的實(shí)現(xiàn)說(shuō)明及相應(yīng)程序段5四、個(gè)人總結(jié)12五、參考文獻(xiàn)13六、源程序13xxxx
3、xxxxxxxxx、需求分析整個(gè)程序的設(shè)計(jì)采用的是主程序調(diào)用子程序,其中每 一個(gè)子程序?qū)?yīng)一個(gè)函數(shù),它們的功能分別是:添加學(xué)生 數(shù)據(jù)函數(shù)(add),刪除數(shù)據(jù)函數(shù)(del),排序函數(shù)(sort),成績(jī) 查詢函數(shù)(query),更改學(xué)生數(shù)據(jù)函數(shù)(modify)在這些函 數(shù)當(dāng)中,后面的一個(gè)函數(shù)屬于附加功能。1、設(shè)計(jì)add子程序 實(shí)現(xiàn)程序最初運(yùn)行時(shí)學(xué)生數(shù)據(jù)的錄 入以及其后的運(yùn)行中學(xué)生數(shù)據(jù)的追加功能;2、設(shè)計(jì)del子程序?qū)崿F(xiàn)的功能是按照學(xué)號(hào)對(duì)學(xué)生的數(shù)據(jù)記錄進(jìn)行刪除;3、設(shè)計(jì)sort子程序 按照題目的具體要求實(shí)現(xiàn)的是總成 績(jī)的遞減排序以及名次顯示,其中總成績(jī)相同者名次相 同;4、設(shè)計(jì)query子程序允許按
4、照學(xué)號(hào)對(duì)學(xué)生的各科成績(jī) 進(jìn)行查詢;5、設(shè)計(jì)modify子程序 可以實(shí)現(xiàn)對(duì)學(xué)生記錄中信息進(jìn)行 修改;6、除上面介紹的功能之外,程序還具有退出功能,可以 關(guān)閉文件返回主菜單,可以在程序的一次運(yùn)行當(dāng)中循環(huán)執(zhí) 行所有的功能。該函數(shù)主要完成提供菜單的功能。當(dāng)用戶進(jìn)入“班級(jí) 學(xué)生成績(jī)管理系統(tǒng)”時(shí),即進(jìn)入此菜單。用戶可以按照菜 單提示選擇05之間的數(shù)值,調(diào)用相應(yīng)功能進(jìn)行操作。例如:1 查詢記錄;2.修改記錄;3.刪除記錄;4.添加 記錄;5排序記錄;0.退出系統(tǒng)。二、程序流程圖1、程序總體結(jié)構(gòu)圖開(kāi)始結(jié)束圖1總程序設(shè)計(jì)流程2、具體功能框圖(1)修改學(xué)生數(shù)據(jù)函數(shù)圖3修改學(xué)生數(shù)據(jù)流程圖(2)學(xué)生成績(jī)刪除函數(shù)圖3刪
5、除學(xué)生數(shù)據(jù)流程圖(3)學(xué)生信息輸出函數(shù)開(kāi)始圖4輸岀學(xué)生數(shù)據(jù)流程圖三、核心技術(shù)的實(shí)現(xiàn)說(shuō)明及相應(yīng)程序段本程序主要由六個(gè)自定義函數(shù)和一個(gè)主函數(shù)組成,其 中主函數(shù)以菜單的形式調(diào)用其他函數(shù)來(lái)實(shí)現(xiàn)要求的所有 功能。在這些函數(shù)當(dāng)中,添加數(shù)據(jù)函數(shù)、刪除數(shù)據(jù)函數(shù)和 排序函數(shù)是程序中耍求的部分,下血分別進(jìn)行說(shuō)明。1、添加數(shù)據(jù)函數(shù)添加學(xué)生信息函數(shù)是最為基本的函數(shù)。首先輸入學(xué) 號(hào),再根據(jù)提示依次輸入學(xué)生學(xué)號(hào),姓名及三科成績(jī)。具 體程序段如下:void add () /*添加*/int cj;printf (“請(qǐng)輸入要添加的學(xué)生學(xué)號(hào):);scanf,&st n.num ):printf (“請(qǐng)輸入要添加的學(xué)生姓
6、名:");scanf&st n name);printf (1,語(yǔ)文成績(jī)r(jià)t);scanf (d, &cj);stn score0二cj;printf (2.數(shù)學(xué)成績(jī):n);scanf (d,&cj);stn scorcl=cj; printf (3英語(yǔ)成績(jī):n);scanf (d, &cj);stn. score2=cj;n+;2、刪除數(shù)據(jù)函數(shù)該函數(shù)的功能是刪除學(xué)仝記錄。該函數(shù)執(zhí)行時(shí),由用 戶輸入待刪除學(xué)生的學(xué)號(hào),而后按照該學(xué)號(hào)進(jìn)行查找,如 果文件中存在該學(xué)綸的數(shù)據(jù),則刪除,否則輸出學(xué)牛信息 不存在。學(xué)生信息的具體信息是在結(jié)構(gòu)體數(shù)組中找到的, 當(dāng)學(xué)生
7、的信息被找到后,位于數(shù)組中該學(xué)生后面的學(xué)生記 錄依次向左移動(dòng)一個(gè)位置進(jìn)行覆蓋,操作完成后,要?jiǎng)h除 的學(xué)生信息就被后面的數(shù)組元素覆蓋掉了,也就實(shí)現(xiàn)了刪 除。具體程序段如下:void dele() /*刪除*/int i,num ,flag,j;flag=o;printf(n請(qǐng)輸入要?jiǎng)h除學(xué)生的學(xué)號(hào):);scanf(n%d,&num);for(i=0;i<5;i+)if(sti.num =num )/*如果找到相同的學(xué)號(hào)*/ for(j=i+l;j<n;j+)stu-l=stu;flag=l;k;/*刪除學(xué)號(hào)*/if(flag=l)printf(h該學(xué)生已成功刪除!nnn);el
8、seprints該學(xué)生信息不存在或已刪除!nn”);xxxxxxxxxxxxx3、成績(jī)查詢函數(shù)該子程序主要完成在數(shù)組屮查找滿足相關(guān)條件的記 錄功能。在此“學(xué)生成績(jī)管理系統(tǒng)”中,用戶可以按照學(xué) 號(hào)在數(shù)組中進(jìn)行查找。若找到該記錄,則輸岀此記錄的信 息;否則,輸出“沒(méi)有該學(xué)生”的提示。主要運(yùn)用了 “printf,scanf,fot,if”等語(yǔ)仙 使得使用者查詢起來(lái),更加 快速和簡(jiǎn)潔。具體程序段如下: void query() /*查詢*/ int i,num,flag=o;printf(n請(qǐng)輸入要查詢的學(xué)生學(xué)號(hào):n”); scanf(n%d,&num);printf(”學(xué)號(hào)t姓名t成績(jī));f
9、or(i=0;i<5;i+)if(sti.num=num) /*如果輸入的學(xué)號(hào)與存在的相printf(h%dtth,sti.num); printf(n %stth ,sti .name); printf(n%dttn,sti.score); printf(nnn);flag=l;break; if(flag=0) /*如果沒(méi)找到相同的學(xué)號(hào)*/ printf(”沒(méi)有該學(xué)生.nnh);個(gè)人總結(jié)通過(guò)本次程序設(shè)計(jì),對(duì)c語(yǔ)言有了進(jìn)一步的認(rèn)識(shí)和了 解。在本次設(shè)計(jì)中能夠熟練的掌握多種有關(guān)c語(yǔ)言的知 識(shí),如c語(yǔ)言的諸多語(yǔ)句,為以后的學(xué)習(xí)和使用打下基礎(chǔ), 了解了 c語(yǔ)言的用途以及結(jié)構(gòu),知道了自己所學(xué)知識(shí)
10、的不 足,通過(guò)老師的指導(dǎo)和同學(xué)的幫助,充分掌握了 c語(yǔ)言的 基本知識(shí),了解軟件的應(yīng)用。這次課程設(shè)計(jì)讓我對(duì)c語(yǔ)言 的了解得到了升華。是理論與實(shí)踐最完美的結(jié)合。希望以 后老師能夠給予更多的幫助和指導(dǎo)。五、參考文獻(xiàn)1譚浩強(qiáng).c程序設(shè)計(jì).北京:清華大學(xué)出版社,20052劉振安 劉燕君c程序設(shè)計(jì)課程設(shè)計(jì) 機(jī)械工業(yè)出版 社3李珍香劉紅梅趙潤(rùn)林匯編語(yǔ)言案例精編中國(guó)水利水 電出版社六、源程序#include<stdio.h>#include<stdlib. h>#includestring. h>struct student char name20; /*定義姓名為字符型*/in
11、t num;/*定義學(xué)號(hào)為字符型*/int score3;int total;/*定義成績(jī)?yōu)檎?/struct student st10二"占強(qiáng)",1, 7& 89, 85, *李力",2,98,89,65,小帳,3, 85, 78, 68, 華子,4, 84, 85, 68,大董,5, 97, 82, 76;int n=5;void query() /*査詢*/int i, j, num, flag=0;printf c請(qǐng)輸入要查詢的學(xué)生學(xué)號(hào):n);scanf&num);printf (*學(xué)號(hào)t姓名t成績(jī)n");for(i=0;i&l
12、t;n;i+)if (sti. num=num) /*如果輸入的學(xué)號(hào)與存在的相同*/printf("%dtt", sti. num);printf("%stt", sti. name);for(j=0;j<3;j+)printf(dtt", sti. scorej);printf("n");flag=l;break;if(flag-o) /*如果沒(méi)找到相同的學(xué)號(hào)*/printfc沒(méi)冇該學(xué)生.nn);void modify() /*修改*/int i, num, flag=0, mode, k, c j;printfc請(qǐng)
13、輸入要修改學(xué)牛的學(xué)號(hào):n);scanf&num);for(i=0;i<n;i+)if (sti. num=num ) /*如果找到相同的學(xué)號(hào)*/flag=l;printf (,z請(qǐng)輸入要修改的選項(xiàng):n"); printfcl.學(xué)號(hào)t2.姓名t3.成績(jī)n);printfc請(qǐng)選擇:n");scanf&mode);swi tch(mode)case 1:printf c請(qǐng)輸入修改后的學(xué)號(hào):n"); scanf &sti mnn );break;case 2:printf (z/請(qǐng)輸入修改后的姓名:n");scanf (,z%s/z
14、,&);break;case 3:printf (/zl,語(yǔ)文 2.數(shù)學(xué) 3.英語(yǔ)rt);scanf &k);printf (z,請(qǐng)輸入修改后的成績(jī):n");seanf&cj);sti. scorek-l=cj;break;if(flag=l) /*如果找到則修改*/ printf (,z修改成功!nn,z);else /*找不到*/printf ("該生記錄不存在! nn"); void delo /*刪除*/int i, num , flag, j;flag=0;printf(z/請(qǐng)輸入要?jiǎng)h除學(xué)生的學(xué)號(hào):n);scanf
15、(“d", &num );for (i=0;i<n;i+)if (stij. num =num )/*如果找到相同的學(xué)號(hào)*/ifor(j=i+l;j<n;j+)stj-l=stj;flag=l;n;/*刪除學(xué)號(hào)*/jif (flag=l)printf ("該學(xué)生已成功刪除!nn,z);el seprintf (zz該學(xué)生信息不存在或己刪除!nn);void add() /*添加*/int cj;printfc請(qǐng)輸入要添加的學(xué)生學(xué)號(hào):); scanf("%d: &stn. num );printfc輸入要添加的學(xué)生姓名:);scanf(&
16、quot;%s", &stn. name);printf (/zl,語(yǔ)文成績(jī)n");seanf("%d", &cj);stn. score0=cj;printf ("2.數(shù)學(xué)成績(jī):n");seanf("%ct, &cj);stn. scorel=cj;printf ("英語(yǔ)成績(jī):n");scanf(%d: &cj);stn. score2二cj;n+;void sort ()int i,j,p,t=0;struct student temp;printf (,zn 名次tt
17、 學(xué)號(hào)tt 姓名tt 總分");for(i=0;i<n;i+) sti. total=0;stij. total=sti. score0+sti. scorel+stiscore2;for (i=0;i<n;i+) p=n-i;for(j=0;j<(p-l) ;j+) if(stj. total>stj+l. total) tempestj;stj二stj+l;st j+l=temp;t=t+l;printf ("n%-17d%t6d%t6s%t6d", t, stj. num, stj. name, stjl total);output
18、()int i, j;for(i=0;i<n;i+)printf(dtt,sti.num);printf ("%stt,sti. name);for (j二0;j<3;j+)printf (,z%dttz/, sti. scorej);printf("n"); void main()int menu;while(l)printf(“班級(jí)學(xué)牛成績(jī)管理系統(tǒng)n);printf (z,*菜單*n);print("t*n);printf("t*1.査詢記錄*n);printf("t*2 .修改記錄*n);printf("t*3.刪除記錄*n);printf("t*4.添加記錄*n);printf("t*5.成績(jī)排序*n);printf("t*
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 攪拌罐車(chē)租賃合同
- 三農(nóng)產(chǎn)品電商平臺(tái)運(yùn)營(yíng)與管理作業(yè)指導(dǎo)書(shū)
- 農(nóng)業(yè)投資項(xiàng)目評(píng)估與分析作業(yè)指導(dǎo)書(shū)
- 頒獎(jiǎng)活動(dòng)策劃書(shū)
- 2025年三明貨車(chē)上崗證理論模擬考試題庫(kù)
- 2025年松原貨運(yùn)資格證考試
- 2025年臨夏貨運(yùn)從業(yè)資格證模擬考試題
- 2025年婁底貨運(yùn)運(yùn)輸駕駛員從業(yè)資格證考試試題
- 電力設(shè)備采購(gòu)合同(2篇)
- 2024年領(lǐng)軍高考生物一輪復(fù)習(xí)專題01走近細(xì)胞含解析
- T型引流管常見(jiàn)并發(fā)癥的預(yù)防及處理
- 2024-2025學(xué)年人教新版九年級(jí)(上)化學(xué)寒假作業(yè)(九)
- 內(nèi)業(yè)資料承包合同個(gè)人與公司的承包合同
- 【履職清單】2024版安全生產(chǎn)責(zé)任體系重點(diǎn)崗位履職清單
- 2022年全國(guó)醫(yī)學(xué)博士英語(yǔ)統(tǒng)一考試試題
- 學(xué)校工作總結(jié)和存在的不足及整改措施
- 《工業(yè)自動(dòng)化技術(shù)》課件
- (績(jī)效考核)鉗工技能鑒定考核試題庫(kù)
- 2024年江蘇農(nóng)牧科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)參考答案
- 知識(shí)圖譜與大模型融合實(shí)踐研究報(bào)告
- 215kWh工商業(yè)液冷儲(chǔ)能電池一體柜用戶手冊(cè)
評(píng)論
0/150
提交評(píng)論