




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、C語言程序設(shè)計課程設(shè)計報告設(shè)計題目: 學(xué)生考勤系統(tǒng)設(shè)計專業(yè) 微電子科學(xué)與工程班級微電 131學(xué)生趙楊怡指導(dǎo)教師年學(xué)期設(shè)計任務(wù): C 語言課程設(shè)計任務(wù)書10題目:學(xué)生考勤系統(tǒng)設(shè)計功能:學(xué)生考勤系統(tǒng)應(yīng)包含各班學(xué)生的全部信息。 每個學(xué)生是一條記錄, 包括姓名、性別、學(xué)號、日期、節(jié)次、出勤情況等信息。本系統(tǒng)可以模擬考勤過程、記錄考勤結(jié)果, 并能在課程結(jié)束后按照設(shè)定的考勤評分標準自動給出每個學(xué)生的考勤分數(shù)。要求: 1、用 C語言實現(xiàn)程序設(shè)計;2、利用結(jié)構(gòu)體進行相關(guān)信息處理;3、系統(tǒng)的各個功能模塊要求用函數(shù)的形式實現(xiàn);4、界面友好(良好的人機交互),程序加必要的注釋。平時成績:驗收答辯成績:設(shè)計報告成績:
2、總評成績:指導(dǎo)教師:一、總體設(shè)計1程序的總體設(shè)計確定界面,使用戶可選擇操作項目(錄入,修改,查詢,評分)。錄入功能:使用結(jié)構(gòu)體,要求用戶輸入姓名、性別、學(xué)號、日期、節(jié)次、當(dāng)前出勤情況等信息,并寫入文件。修改功能:使用戶輸入學(xué)號, 姓名其中一項可以修改考勤其信息。對于修改功能的實現(xiàn),是先將所有文件內(nèi)容讀入到內(nèi)存中,然后修改考勤值,最后再重新覆蓋寫入文件。查詢模塊:使用字符串比較函數(shù), 利用循環(huán)找到對應(yīng)結(jié)構(gòu)體數(shù)組元素,然后輸出需要信息。對于查詢功能的實現(xiàn),同修改,是先將所有文件內(nèi)容讀入到內(nèi)存中,然后查找到其中某項,最后輸出到屏幕。評分模塊:系統(tǒng)根據(jù)總的應(yīng)道考勤數(shù)按照百分制,求出每個學(xué)生的分數(shù),并輸
3、出到屏幕。2. 數(shù)據(jù)結(jié)構(gòu)學(xué)生信息用結(jié)構(gòu)體記錄,包括姓名(字符數(shù)組)、性別(字符型)、日期(年月日三個字符數(shù)組) 、節(jié)次(整型)、出情況(整型)。3. 函數(shù)原型聲明void main()生信息及考勤情況錄入n);printf(n);printf(輸出界面2.學(xué)生信息及考勤情況修改n);printf(n);printf(switch(ite3.學(xué)生信息及考勤情況查詢1n);printf(34n);2record(search(goal()4.學(xué)生考勤總printf(評分數(shù)查詢amend()n);n);printf(printf(結(jié)束 break n);開 始input ()函數(shù)void input
4、()int i,j=0,jx=1;printf( *學(xué) 生 基本 信 息 錄 入*n);if(fp=fopen(,w)=NULL)printf(文件打開失敗 n);exit(0);for(i=0;jx=1;i+)ame);printf(請輸入第 %d個學(xué)生的學(xué)號 ,i+1);gets(stui.number);printf( 請輸入第 %d個學(xué)生的性別 ( 男 :m 女:f) ,i+1); stui.sex=getchar();printf(請輸入第 %d個學(xué)生的生日 ( 格式 : 年 月 日) ,i+1);scanf(%d%d%d,&stui.year,&stui.month,&stui.d
5、ay);printf(請輸入第 %d個學(xué)生的當(dāng)前考勤次數(shù),i+1);scanf(%d,&stui.kq);年%dprintf(月您輸入的信息為%d日n姓名 0%s 學(xué)號 %s重輸性別%c 1生日確%d 認,,stui.number,stui.sex,stui.year,stui.mont h,stui.day);輸輸入入jx j 值值選1=jx0=j選擇擇是是否否繼確續(xù)認change() 函數(shù)scanf(%d,&j); 輸入 i+1jx=1Y開j=0始個學(xué)生信N寫打入開0=i文件void change()結(jié)束i+1=i int i=0,j=0,sway,t,x;char na
6、me10,number10;printf(*學(xué) 生考 勤修改*n);if(fp=fopen(,r)=NULL)ame,name);if(j=i)t=0;printf(未找到您所查詢的數(shù)據(jù) , 請重新輸入 n);if(ji)ame,stuj-1.number,stuj-1.sex,stuj-1.year,stuj-1.month,stuj-1.day,stuj-1.kq);q);printf(是否修改該生考勤信息umber,number);if(j=i)0 否1 是);printf(未找到您所查詢的數(shù)據(jù), 請重新輸入n);if(ji)ame,stuj-1.number,stuj-1.sex,st
7、uj-1.year,stuj-1.month,stuj-1.day,stuj-1.kq);printf(是否修改該生考勤信息0 否 1是 ); q);Y輸入 sway寫值入結(jié)選文束擇件查找方式Y(jié)輸入要查找輸入要將查文件內(nèi)輸容入全開X部始值讀選入擇結(jié)是構(gòu)N查找姓名輸入新的考勤Nsearch() 函數(shù)找的姓名打否開修X=1文改件考勤查找Sway=2學(xué)的號學(xué)號Sway=1值void search() int i=0,j=0,sway,t,x;char name10,number10;printf(*學(xué)生*n);if(fp=fopen(,r)=NULL)ame,name);信息查詢if(j=i)t=0
8、;printf(未找到您所查詢的數(shù)據(jù) , 請重新輸入 n);if(ji)ame,stuj-1.number,stuj-1.sex,stuj-1.year,stuj-1.month,stuj-1.day,stuj-1.kq);printf(是否繼續(xù)查詢其他學(xué)生信息0否 1是);scanf(%d,&x);if(x=1) search();/*按照姓名查找結(jié)束*umber,number);if(j=i)t=0;printf(未找到您所查詢的數(shù)據(jù) , 請重新輸入 n);if(ji)ame,stuj-1.number,stuj-1.sex,stuj-1.year,stuj-1.month, stuj-1
9、.day,stuj-1.kq);printf(是否繼續(xù)查詢其他學(xué)生信息0否 1是);scanf(%d,&x);if(x=1) search();/*按照學(xué) 號查找結(jié)束輸入 swayY值選擇查找方式輸入要查找輸入要將查文件內(nèi)輸容出全該部生讀信入息結(jié)構(gòu)查找姓名開始Nevaluate()找的姓名Sway=2*打開文件函數(shù)查找學(xué)的號學(xué)號Sway=1void evaluate() int i=0,j=0,sway,t,x; float score;char name10,number10;printf( *n);if(kqcs=0)printf(請輸入應(yīng)到考勤總數(shù));學(xué) 生 考 ame,name);勤分
10、數(shù)計算if(j=i)t=0;printf(未找到您所查詢的數(shù)據(jù) , 請重新輸入 n);if(ji)ame,stuj-1.number,stuj-1.sex,stuj-1.year,stuj-1.month,stuj-1.day,stuj-1.kq);score=(stuj-1.kq)/kqcs*100;printf(該生當(dāng)前考勤分數(shù)為%,score);printf(是否繼續(xù)計算其他學(xué)生考勤分數(shù)0否 1是 );scanf(%d,&x);if(x=1) evaluate();/*按照姓名查找結(jié)束*umber,number);if(j=i)t=0;printf(未找到您所查詢的數(shù)據(jù) , 請重新輸入
11、n);if(ji)ame,stuj-1.number,stuj-1.sex,stuj-1.year,stuj-1.month,stuj-1.day,stuj-1.kq);score=(stuj-1.kq)/kqcs*100;printf(該生當(dāng)前考勤分數(shù)為%,score);printf(是否繼續(xù)計算其他學(xué)生考勤分數(shù)0否 1是 );scanf(%d,&x);if(x=1) evaluate();輸入 sway輸值出選考擇勤查分找方式輸入要查找輸入要將查文件內(nèi)計輸容算出全部該考讀分信入數(shù)息結(jié)構(gòu)生勤開始查找姓名結(jié)束N數(shù)輸入應(yīng)到考勤找的姓名Y查找Sway=2的號學(xué)號學(xué)打開文件/*按照學(xué)號查找結(jié)束Swa
12、y=1*次數(shù) kqcs 值n);生信息及考勤情況錄入printf(n);printf(2.學(xué)生信息及考勤情況修改n);printf(n);printf(3.學(xué)生信息及考勤情況查詢n);printf(n);printf(4.學(xué)生考勤總評分數(shù)查詢n);printf(n);printf( n); ame);printf(請輸入第 %d個學(xué)生的學(xué)號 ,i+1);gets(stui.number);printf( 請輸入第 %d個學(xué)生的性別 ( 男:m 女:f) ,i+1); stui.sex=getchar();printf(請輸入第%d個學(xué)生的生日( 格式 : 年 月 日) ,i+1);scanf(
13、%d%d%d,&stui.year,&stui.month,&stui.day);printf(請輸入第%d個學(xué)生的當(dāng)前考勤次數(shù),i+1);scanf(%d,&stui.kq);年%dprintf(月您輸入的信息為%d日n姓名0%s學(xué)號重%s 輸性別%c 1生日確%d 認,,stui.number,stui.sex,stui.year,stui.month,stu i.day);scanf(%d,&j);ame,name);if(j=i)t=0;printf(未找到您所查詢的數(shù)據(jù), 請重新輸入n);if(ji)ame,stuj-1.number,stuj-1.sex,stuj
14、-1.year,stuj-1.month,stuj-1.day,stuj-1.kq);printf(是否修改該生考勤信息0 否1 是);q);umber,number);if(j=i)t=0;printf(未找到您所查詢的數(shù)據(jù), 請重新輸入n);if(ji)ame,stuj-1.number,stuj-1.sex,stuj-1.year,stuj-1.month,stuj-1.day,stuj-1.kq);printf(是否修改該生考勤信息0 否1 是);q);ame,name);if(j=i)t=0;printf(未找到您所查詢的數(shù)據(jù), 請重新輸入n);if(ji)ame,stuj-1.nu
15、mber,stuj-1.sex,stuj-1.year,stuj-1.month,stuj-1.day,stuj-1.kq);printf( 是否繼續(xù)查詢其他學(xué)生信息 0 否 1 是); scanf(%d,&x);if(x=1) search();/*按照姓名查找結(jié)束*umber,number);if(j=i)t=0;printf(未找到您所查詢的數(shù)據(jù) , 請重新輸入 n);if(ji)ame,stuj-1.number,stuj-1.sex,stuj-1.year,stuj-1.month,stuj-1.day,stuj-1.kq);printf( 是否繼續(xù)查詢其他學(xué)生信息 0 否 1 是)
16、; scanf(%d,&x);if(x=1) search();/*按照學(xué)號查找結(jié)束*ame,name);if(j=i)t=0;printf(未找到您所查詢的數(shù)據(jù) , 請重新輸入 n);if(ji)ame,stuj-1.number,stuj-1.sex,stuj-1.year,stuj-1.month,stuj-1.day,stuj-1.kq);score=(stuj-1.kq)/kqcs*100;printf(該生當(dāng)前考勤分數(shù)為%,score);printf( 是否繼續(xù)計算其他學(xué)生考勤分數(shù) 0 否 1 是); scanf(%d,&x);if(x=1) evaluate();/*按照姓名查找結(jié)束*umber,number);if(j=i)t=0;printf(未找到您所查詢的數(shù)據(jù) , 請重新輸入 n);if(ji)ame,stuj-1.number,stuj-1.
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 科技公司如何通過培訓(xùn)提升員工網(wǎng)絡(luò)防御能力
- 社區(qū)康復(fù)支持網(wǎng)絡(luò)在災(zāi)害救援中的應(yīng)用
- 2025江西南昌市江銅產(chǎn)融社會招聘1人筆試參考題庫附帶答案詳解
- 審車合同范本
- 格式和合同范本
- 2025至2030年中國聚合物瓷磚嵌縫劑數(shù)據(jù)監(jiān)測研究報告
- 轉(zhuǎn)讓合同范本模板
- 2025年度草牧場承包與草原生態(tài)旅游投資合作協(xié)議
- 2025年度物流樞紐建設(shè)項目投資合同
- 2025至2030年中國網(wǎng)布燒花面料數(shù)據(jù)監(jiān)測研究報告
- 神奇的光:如何形成彩虹
- 三、膽石癥課件
- 學(xué)生作業(yè)情況登記表模板(可打印)
- 兔子坡(閱讀課上課課件)
- 高中數(shù)學(xué)《立體幾何》教材分析及教學(xué)建議
- 八年級英語初中英語閱讀理解閱讀專項練習(xí)試卷附答案
- 固定資產(chǎn)清查盤點明細表
- 人教版八年級數(shù)學(xué)下冊課件【全冊】
- 物聯(lián)網(wǎng)管理平臺的設(shè)計與實現(xiàn)
- 1例妊娠糖尿病的個案護理
- 光伏發(fā)電職業(yè)病危害預(yù)評價方案方案
評論
0/150
提交評論