C語言課程設(shè)計(jì)學(xué)生考勤系統(tǒng)_第1頁
C語言課程設(shè)計(jì)學(xué)生考勤系統(tǒng)_第2頁
C語言課程設(shè)計(jì)學(xué)生考勤系統(tǒng)_第3頁
C語言課程設(shè)計(jì)學(xué)生考勤系統(tǒng)_第4頁
C語言課程設(shè)計(jì)學(xué)生考勤系統(tǒng)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、C語言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告設(shè)計(jì)題目: 學(xué)生考勤系統(tǒng)設(shè)計(jì)專業(yè) 微電子科學(xué)與工程班級微電 131學(xué)生趙楊怡指導(dǎo)教師年學(xué)期設(shè)計(jì)任務(wù): C 語言課程設(shè)計(jì)任務(wù)書10題目:學(xué)生考勤系統(tǒng)設(shè)計(jì)功能:學(xué)生考勤系統(tǒng)應(yīng)包含各班學(xué)生的全部信息。 每個(gè)學(xué)生是一條記錄, 包括姓名、性別、學(xué)號、日期、節(jié)次、出勤情況等信息。本系統(tǒng)可以模擬考勤過程、記錄考勤結(jié)果, 并能在課程結(jié)束后按照設(shè)定的考勤評分標(biāo)準(zhǔn)自動給出每個(gè)學(xué)生的考勤分?jǐn)?shù)。要求: 1、用 C語言實(shí)現(xiàn)程序設(shè)計(jì);2、利用結(jié)構(gòu)體進(jìn)行相關(guān)信息處理;3、系統(tǒng)的各個(gè)功能模塊要求用函數(shù)的形式實(shí)現(xiàn);4、界面友好(良好的人機(jī)交互),程序加必要的注釋。平時(shí)成績:驗(yàn)收答辯成績:設(shè)計(jì)報(bào)告成績:

2、總評成績:指導(dǎo)教師:一、總體設(shè)計(jì)1程序的總體設(shè)計(jì)確定界面,使用戶可選擇操作項(xiàng)目(錄入,修改,查詢,評分)。錄入功能:使用結(jié)構(gòu)體,要求用戶輸入姓名、性別、學(xué)號、日期、節(jié)次、當(dāng)前出勤情況等信息,并寫入文件。修改功能:使用戶輸入學(xué)號, 姓名其中一項(xiàng)可以修改考勤其信息。對于修改功能的實(shí)現(xiàn),是先將所有文件內(nèi)容讀入到內(nèi)存中,然后修改考勤值,最后再重新覆蓋寫入文件。查詢模塊:使用字符串比較函數(shù), 利用循環(huán)找到對應(yīng)結(jié)構(gòu)體數(shù)組元素,然后輸出需要信息。對于查詢功能的實(shí)現(xiàn),同修改,是先將所有文件內(nèi)容讀入到內(nèi)存中,然后查找到其中某項(xiàng),最后輸出到屏幕。評分模塊:系統(tǒng)根據(jù)總的應(yīng)道考勤數(shù)按照百分制,求出每個(gè)學(xué)生的分?jǐn)?shù),并輸

3、出到屏幕。2. 數(shù)據(jù)結(jié)構(gòu)學(xué)生信息用結(jié)構(gòu)體記錄,包括姓名(字符數(shù)組)、性別(字符型)、日期(年月日三個(gè)字符數(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(評分?jǐn)?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個(gè)學(xué)生的學(xué)號 ,i+1);gets(stui.number);printf( 請輸入第 %d個(gè)學(xué)生的性別 ( 男 :m 女:f) ,i+1); stui.sex=getchar();printf(請輸入第 %d個(gè)學(xué)生的生日 ( 格式 : 年 月 日) ,i+1);scanf(%d%d%d,&stui.year,&stui.month,&stui.d

5、ay);printf(請輸入第 %d個(gè)學(xué)生的當(dāng)前考勤次數(shù),i+1);scanf(%d,&stui.kq);年%dprintf(月您輸入的信息為%d日n姓名 0%s 學(xué)號 %s重輸性別%c 1生日確%d 認(rèn),,stui.number,stui.sex,stui.year,stui.mont h,stui.day);輸輸入入jx j 值值選1=jx0=j選擇擇是是否否繼確續(xù)認(rèn)change() 函數(shù)scanf(%d,&j); 輸入 i+1jx=1Y開j=0始個(gè)學(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ù)計(jì)算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)前考勤分?jǐn)?shù)為%,score);printf(是否繼續(xù)計(jì)算其他學(xué)生考勤分?jǐn)?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)前考勤分?jǐn)?shù)為%,score);printf(是否繼續(xù)計(jì)算其他學(xué)生考勤分?jǐn)?shù)0否 1是 );scanf(%d,&x);if(x=1) evaluate();輸入 sway輸值出選考擇勤查分找方式輸入要查找輸入要將查文件內(nèi)計(jì)輸容算出全部該考讀分信入數(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é)生考勤總評分?jǐn)?shù)查詢n);printf(n);printf( n); ame);printf(請輸入第 %d個(gè)學(xué)生的學(xué)號 ,i+1);gets(stui.number);printf( 請輸入第 %d個(gè)學(xué)生的性別 ( 男:m 女:f) ,i+1); stui.sex=getchar();printf(請輸入第%d個(gè)學(xué)生的生日( 格式 : 年 月 日) ,i+1);scanf(

13、%d%d%d,&stui.year,&stui.month,&stui.day);printf(請輸入第%d個(gè)學(xué)生的當(dāng)前考勤次數(shù),i+1);scanf(%d,&stui.kq);年%dprintf(月您輸入的信息為%d日n姓名0%s學(xué)號重%s 輸性別%c 1生日確%d 認(rèn),,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)前考勤分?jǐn)?shù)為%,score);printf( 是否繼續(xù)計(jì)算其他學(xué)生考勤分?jǐn)?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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論