




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、課程設(shè)計(大作業(yè))報告課程名稱:程序設(shè)計基礎(chǔ)設(shè)計題目:學(xué)生成績記錄簿設(shè)計院 系:信息技術(shù)學(xué)院班 級:XX設(shè)計者:XX學(xué) 號:XX指導(dǎo)教師:XX設(shè)計時間:XX信息技術(shù)學(xué)院昆明學(xué)院課程設(shè)計(大作業(yè))任務(wù)書姓 名:xx院(系):信息技術(shù)學(xué)院專 業(yè):計算機(jī)科學(xué)與技術(shù)學(xué) 號:xx任務(wù)起止日期:xx 課程設(shè)計題目:學(xué)生成績記錄簿課程設(shè)計要求:編制一個C語言成績記錄簿,每個學(xué)生信息包括:學(xué)號、姓名、C語言成績。具體功能:1 系統(tǒng)以菜單方式工作;2. 創(chuàng)建學(xué)生成績信息并以磁盤文件保存;3讀取磁盤文件并顯示輸出所有學(xué)生的成績;4.查詢學(xué)生成績;(1)按學(xué)號查詢成績;(2)學(xué)號姓名查詢成績;5 修改指定姓名或?qū)W號
2、的學(xué)生的成績并可存盤;6顯示輸出60分以下、6079 8089、90分以上各分?jǐn)?shù)段的學(xué)生信息。工作計劃及安排:星期一:老師的大概講解及主函數(shù)、目錄函數(shù)的編寫和調(diào)試;星期二:創(chuàng)建學(xué)生信息、輸出學(xué)生信息和修改學(xué)生信息的函數(shù)編寫及調(diào)試; 星期三:學(xué)生信息查詢、學(xué)生成績分段和學(xué)生成績排序的函數(shù)編寫及調(diào)試;星期四:整個函數(shù)的最終調(diào)試,課程設(shè)計(大作業(yè))報告的書寫;星期五:答辯。指導(dǎo)教師簽字 年 月 日課程設(shè)計(大作業(yè))成績學(xué)號:XX姓名:XX指導(dǎo)教師:XX課程設(shè)計題目:學(xué)生成績記錄簿設(shè)計總結(jié):通過這次的課程設(shè)計,增加了我對學(xué)習(xí)C語言學(xué)習(xí)的興趣,雖然還不是真正 的明白所有的C語言的子函數(shù)和里面的一些邏輯順
3、序,但我從C語言這門課程開 始,已經(jīng)發(fā)現(xiàn)程序設(shè)計的樂趣,在學(xué)習(xí)C語言的過程中也學(xué)到了許多計算機(jī)應(yīng)用 基礎(chǔ)知識,對計算機(jī)的運行也有一個大體的了解。這次課程設(shè)計經(jīng)過老師的講解, 自己的查找,在網(wǎng)上的搜索,實現(xiàn)題目上的要求,先做出一些簡單的函數(shù)和程序, 一步步的在做出其它的內(nèi)容,不過在實際操作過程中犯得一些錯誤也還是會得到 一些意外的收獲。在具體的操作中,對這學(xué)期的C語言的理論知識得到鞏固,在 設(shè)計的過程中也發(fā)現(xiàn)自己的不足之處,在以后的學(xué)習(xí)和上機(jī)的操作中會更加注 意,同時體會到C語言的簡潔和靈活。在上機(jī)操作中我們的任何不懂的問題都會 暴露出來,對于我們來說是是件好事,在課程設(shè)計的過程中特別是對數(shù)組和
4、循環(huán) 有了深刻的理解。通過實際的操作,學(xué)會C語言程序編程的基本步驟、基本方法, 開發(fā)了自己的邏輯思維能力,培養(yǎng)了分析問題,解決問題的能力。指導(dǎo)教師評語:成績:填表時間:指導(dǎo)教師簽名:目錄一問題的定義 5二、需求分析 5三、總體設(shè)計 5四、詳細(xì)設(shè)計 6五、調(diào)試與測試 31六、結(jié)語 31問題的定義編制一個C語言成績記錄簿,每個學(xué)生信息包括:學(xué)號、姓名、C語言成績。 要求:1. 數(shù)據(jù)存儲采用文件形式。2. 標(biāo)準(zhǔn)的 C 語言輸入輸出3. 功能完善,適當(dāng)注釋4. 模塊化設(shè)計、結(jié)構(gòu)化編程、需求分析系統(tǒng)能實現(xiàn)以下主要功能:1系統(tǒng)以菜單方式工作2. 創(chuàng)建學(xué)生成績信息并以磁盤文件保存;3. 讀取磁盤文件并顯示輸
5、出所有學(xué)生的成績;4. 查詢學(xué)生成績(1)按學(xué)號查詢成績(2)學(xué)號姓名查詢成績4添加成績記錄;5修改指定姓名或?qū)W號的學(xué)生的成績并可存盤;6顯示輸出 60 分以下、 6079、 8089、 90 分以上各分?jǐn)?shù)段的學(xué)生信息三、總體設(shè)計根據(jù)系統(tǒng)的要求,系統(tǒng)總體設(shè)計如圖 1 所示。四、詳細(xì)設(shè)計該部分主要包括:數(shù)據(jù)結(jié)構(gòu)設(shè)計、函數(shù)設(shè)計(包括函數(shù)原型、算法思想、流程描述) 代碼設(shè)計及程序運行結(jié)果顯示。(一)學(xué)生成績數(shù)據(jù)結(jié)構(gòu)設(shè)計#in clude#in clude#in cludevstri ng.h int i,j,k,y;FILE *fp;Struct stuint no;char n ame30; fl
6、oat cscore;long a;struct stu s100;(二)函數(shù)設(shè)計1. 主函數(shù)ma in ()允許用戶通過菜單進(jìn)行功能選擇,使用相應(yīng)的功能代碼來調(diào)用對應(yīng)的函數(shù)功能。2. 其他各功能函數(shù)(1) 學(xué)生成績信息錄入函數(shù)void in put()算法思想: 依次錄入結(jié)構(gòu)體數(shù)組中所包含的各個成員; 直到輸入的結(jié)構(gòu)體成員中信息全部為0,數(shù)據(jù)輸入結(jié)束; 返回實際錄入的學(xué)生成績信息數(shù)。(2) 將學(xué)生成績信息輸出為 void output() 算法思想: 定義結(jié)構(gòu)體變量的指針變量; 輸出所輸入的全部信息,若不能輸出信息給出提示信息; 將文件中的信息依次讀出,最后結(jié)構(gòu)體的指針為NULL。(3) 從
7、文件中修改學(xué)生成績信息 void modify() 算法思想: 定義指向結(jié)構(gòu)體變量的指針和指向文件的指針; 修改方式分為兩種(學(xué)號和姓名),選擇是給出相應(yīng)的信息; 將修改后的信息保存,并提示。3. 流程描述(1)菜單函數(shù)int fun()int n;system(cls);printf(nntttt 成績記錄薄 );printf(nnttt);for(i=0;i33;i+)printf(*);printf(n);printf(ttt * 菜單*n);printf(ttt* 1、創(chuàng)建學(xué)生的信息!t*n);printf(ttt* 2、輸出所有學(xué)生的信息!t*n);printf(ttt* 3、修改成
8、績!t*n);printf(ttt* 4、查詢!t*n);printf(ttt* 5、顯示成績分段的學(xué)生信息! t*n);printf(ttt* 6、學(xué)生成績排名!t*n);printf(ttt* 7、退出成績記錄??!t*n);printf(ttt);for(i=0;i33;i+) printf(*);printf(nn);printf(nttt請輸入選項: );scanf(%d,&n);return n;(2) 學(xué)生成績信息錄入函數(shù)void input() system(cls);i=0;fp=fopen(out.dat,w);printf( 請以 0 作為輸入學(xué)生學(xué)號信息的結(jié)束! n);d
9、oprintf( 輸入學(xué)生的學(xué)號: ); scanf(%d,&si.no);printf( 輸入學(xué)生的姓名: );scanf(%s,); printf( 輸入學(xué)生的 C 語言成績: ); scanf(%f,&si.cscore);printf( 輸入添加成績的時間: );scanf(%ld,&si.a);if(si.no!=0)fprintf(fp,%d %-4s %.1f %ldn,si.no,,si.cscore,si.a);while(si.no!=0);fclose(fp);void output() / 學(xué)生全部信息輸出if(fp=fopen(out.da
10、t,r)=NULL)printf(Cannot open the file!n);printf(ttt 全部的學(xué)生信息: n);k=0;while(fscanf(fp,%d%s%f%ld,&sk.no,,&sk.cscore,&sk.a)!=EOF) printf(ttt%dt%st%.1ft%ldn,sk.no,,sk.cscore,sk.a);k+;fclose(fp);(3) 學(xué)生信息輸出函數(shù)void output()if(fp=fopen(out.dat,r)=NULL) printf(Cannot open the file!n);printf(ttt 全
11、部的學(xué)生信息: n); k=0;while(fscanf(fp,%d%s%f%ld,&sk.no,,&sk.cscore,&sk.a)!=EOF) printf(ttt%dt%st%.1ft%ldn,sk.no,,sk.cscore,sk.a); k+; fclose(fp);(4) 修改學(xué)生信息函數(shù)void modify()char st30;int x,num;float nu;long h;k=0;system(cls); if(fp=fopen(out.dat,r)=NULL)printf(Cannot open the file!n); return; w
12、hile(fscanf(fp,%d%s%f%ld,&sk.no,,&sk.cscore,&sk.a)!=EOF) k+; fclose(fp);n);printf( 輸入 1表示用學(xué)號修改,輸入 2 表示用姓名修改!請選擇: scanf(%d,&x);if(x=1)printf( 請輸入修改成績?nèi)说膶W(xué)號: );scanf(%d,&num); for(i=0;ik;i+) if(num=si.no)printf( 請輸入修改的成績: n); scanf(%f,&nu);si.cscore=nu;printf( 請輸入修改的時間: n); scanf(%ld,&h);si.a=h;f
13、p=fopen(out.dat,w);for(i=0;ik;i+)fprintf(fp,%d %s %.1f %ldn,si.no,,si.cscore,si.a); fclose(fp);printf( 修改成功 n);return;printf( 沒有找到該生的信息! n);return;if(x=2)printf( 請輸入修改成績?nèi)说男彰?);scanf(%s,st);for(i=0;ik;i+)if(strcmp(,st)=0)printf( 請輸入修改的成績: n);scanf(%f,&nu);si.cscore=nu;printf( 請輸入修改成績的時
14、間: n);scanf(%ld,&h);si.a=h;fp=fopen(out.dat,w);for(i=0;ik;i+)fprintf(fp,%d %s %.1f %ldn,si.no,,si.cscore,si.a);fclose(fp);printf( 修改成功 n);return;printf( 沒有找到該生的信息! n);return;(5) 代碼設(shè)計和執(zhí)行結(jié)果1. 頭文件Struct stuint no;/* 學(xué)號 */char name30; /* 姓名 */ float cscore; /*成績 */long a; /* 時間 */;struct stu s100
15、;以下是函數(shù)原型 */void input() /* 輸入記錄 */ void output()/* 輸出記錄 */ void modify()/* 修改記錄 */ 2. 源程序代碼與運行結(jié)果#include #include #include int i,j,k,y;/ 結(jié)構(gòu)體函FILE *fp; struct stu 數(shù)的定義 int no;char name30; float cscore;long a;struct stu s100;int fun()錄函數(shù)/ 目int n;system(cls);printf(nntttt 成績記錄薄 ); printf(nnttt);for(i=0
16、;i33;i+)printf(*);printf(n);printf(ttt* n);printf(ttt*printf(ttt*printf(ttt*printf(ttt*printf(ttt*printf(ttt*菜單1、創(chuàng)建學(xué)生的信息!t*n);2、輸出所有學(xué)生的信息! t*n);3、修改成績!t*n);4、查詢!t*n);5、顯示成績分段的學(xué)生信息! t*n);6、學(xué)生成績排名!t*n);printf(ttt* 7、退出成績記錄?。?t*n);printf(ttt);for(i=0;i33;i+)printf(*);printf(nn);printf(nttt 請輸入選項: );sca
17、nf(%d,&n);return n;void input() / 輸入學(xué)生的學(xué)號、姓名、成績信息system(cls);i=0;fp=fopen(out.dat,w);printf( 請以 0 作為輸入學(xué)生學(xué)號信息的結(jié)束! n);doprintf( 輸入學(xué)生的學(xué)號: );scanf(%d,&si.no);printf( 輸入學(xué)生的姓名: );scanf(%s,);printf( 輸入學(xué)生的 C 語言成績: ); scanf(%f,&si.cscore);printf( 輸入添加成績的時間: ); scanf(%ld,&si.a);if(si.no!=0)fprintf(fp,%
18、d%-4s%.1f%ldn,si.no,,s i.cscore,si.a);while(si.no!=0);fclose(fp);void output() / / 學(xué)生全部信息輸出 if(fp=fopen(out.dat,r)=NULL)printf(Cannot open the file!n);printf(ttt 全部的學(xué)生信息: n);k=0;while(fscanf(fp,%d%s%f%ld,&sk.no,,&sk.c score,&sk.a)!=EOF)printf(ttt%dt%st%.1ft%ldn,sk.no,,s k.cscore
19、,sk.a);k+; fclose(fp);void modify() / 修改學(xué)生信息 char st30;int x,num;float nu;long h;k=0;system(cls); if(fp=fopen(out.dat,r)=NULL) printf(Cannot open the file!n); return; while(fscanf(fp,%d%s%f%ld,&sk.no,,&sk.c score,&sk.a)!=EOF)k+;fclose(fp);printf( 輸入 1 表示用學(xué)號修改,輸入 2 表示用姓名修 改!請選擇: n);scanf(%d,&x
20、);if(x=1)printf( 請 輸 入 修 改 成 績 人 的 學(xué) 號 : );scanf(%d,&num);for(i=0;ik;i+)if(num=si.no)printf( 請輸入修改的成績: n); scanf(%f,&nu);si.cscore=nu;printf( 請輸入修改的時間: n); scanf(%ld,&h);si.a=h;fp=fopen(out.dat,w); for(i=0;ik;i+)fprintf(fp,%d%s%.1f%ldn,si.no,,si.cscore,si.a);fclose(fp);printf( 修改成功 n);return;
21、printf( 沒有找到該生的信息! n);return;if(x=2)printf( 請輸入修改成績?nèi)说男彰?);scanf(%s,st);for(i=0;ik;i+)if(strcmp(,st)=0)printf( 請輸入修改的成績: n);scanf(%f,&nu);si.cscore=nu;printf( 請輸入修改成績的時間: n); scanf(%ld,&h);si.a=h;fp=fopen(out.dat,w);for(i=0;ik;i+)fprintf(fp,%d %s %.1f %ldn,si.no,,si.cscore,si.a);fclose
22、(fp);printf( 修改成功 n);return;printf( 沒有找到該生的信息! n);return;void lookat() / 學(xué)生信息查詢char st30;int x,num;k=0;system(cls); if(fp=fopen(out.dat,r)=NULL) printf(Cannot open the file!n);return; while(fscanf(fp,%d%s%f%ld,&sk.no,,&sk.c score,&sk.a)!=EOF)k+;printf( 輸入 1 表示用學(xué)號查詢,輸入 2 表示用姓名查 詢!請選擇: n);scanf
23、(%d,&x);if(x=1)printf( 請輸入查詢的學(xué)號: );scanf(%d,&num);for(i=0;ik;i+)if(num=si.no)printf(%d%s%.1f%ldn,si.no,,si.cs core,si.a);return;printf( 對不起,找不到該生! n);return;if(x=2)printf( 請輸入查詢的姓名: );scanf(%s,st);for(i=0;ik;i+)if(strcmp(,st)=0)printf(%d%s%.1f%ldn,si.no,,si.cscore,si.a);return;p
24、rintf( 對不起,找不到該生! n);void subsection() / 學(xué)生成績分段system(cls);k=0;if(fp=fopen(out.dat,r)=NULL)printf(Cannot open the file!n); while(fscanf(fp,%d%s%f%ld,&sk.no,,&sk.c score,&sk.a)!=EOF)k+;printf(ttt 90 分以上學(xué)生的信息 !n); for(i=0;i=90)printf(ttt%d%s%.1f%ldn,si.no,,s i.cscore,si.a);printf(nn); pr
25、intf(ttt 80 到 89 分學(xué)生的信息 !n); for(i=0;ik;i+)if(si.cscore=80)printf(ttt%d%s%.1f%ldn,si.no,,s i.cscore,si.a);printf(nn); printf(ttt 60 到 79 分學(xué)生的信息 !n); for(i=0;i=60&si.cscore80)printf(ttt%d%s%.1f%ldn,si.no,,s i.cscore,si.a);printf(nn); printf(ttt 60 分以下學(xué)生的信息 !n); for(i=0;ik;i+)if(si.cscor
26、e學(xué)一一生墓 益話咸!成咸成 -建出呦詢備岀 一一創(chuàng)跟查顯學(xué)退二二 碼 * 4 * 12 345G7信生信生學(xué)! 的 薄 翼錄 績績績請輸入選項:(2)創(chuàng)建學(xué)生信息“ *C:DOCCriEBTS AND SETTIBCSIini桌面ccDebuEcc. eze東王口的息號學(xué)生1叔學(xué)姓甬華姓宙華姓cif華姓審績 竦的的的成的的的成的的的成的的的成 悴生生生加生生生加生生生加生生生加 以IA-人iA-tA人.AtAlAlA-lAA771宓鷺Wftn 1 rd 匚勺 2 J Ml5618(3)退出創(chuàng)建學(xué)生信息是否返回?輸入1表返回,輸入2表退出!C:DOCD1ENTS ABD SETTINGSEKUlSccDebucc. exe號名託的 學(xué)姓CP績 的的的成 二r二.二二 Hur 筈Z于添 IAIAIAI1A(4)輸出全部的學(xué)生信息“ C:DOCUIENTS AID SETTINGSKIH1桌面ccDebugcc. eie*HB全部旳學(xué)生信息;1 117?.020132wn耐65衛(wèi)2Q133chen59.020134song2013是否速回?輸入1表飯回,輸入2表退出1(5)
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.2向心力+課件-2024-2025學(xué)年高一下學(xué)期物理人教版(2019)必修第二冊
- 企業(yè)培訓(xùn)新員工課件
- Photoshop平面設(shè)計基礎(chǔ) 課件 任務(wù)7.1 制作教育類網(wǎng)頁Banner
- 英語閱讀活動方案
- 英語快速閱讀的方法和技巧
- 出租車租賃公司車輛安全檢查協(xié)議
- 陽臺露臺改建方案
- 產(chǎn)業(yè)園區(qū)廠房項目投資合作協(xié)議
- 交通事故后續(xù)治療費用賠償協(xié)議
- 餐飲業(yè)特色廚師團(tuán)隊雇傭協(xié)議書
- 胸痛單元建設(shè)課件介紹
- 超市消防安全管理制度制度
- 酒店服務(wù)流程與空間布局優(yōu)化
- (2025)醫(yī)療護(hù)理員理論考試試題含答案
- 2025年廣西中考語文試題卷(含答案)
- 建設(shè)工程法律培訓(xùn)
- 江蘇省南通市2024-2025學(xué)年高二下學(xué)期6月期末質(zhì)量監(jiān)測政治試題(含答案)
- (高清版)DB31∕T 1427-2023 首席質(zhì)量官評價規(guī)范
- 一級醫(yī)院醫(yī)保管理制度
- 2025年南京市中考數(shù)學(xué)真題試卷
- 2025年呼倫貝爾農(nóng)墾集團(tuán)有限公司招聘筆試參考題庫含答案解析
評論
0/150
提交評論