【正文】
生姓名和曠課次數(shù)p 1 = p 1 n e x t 。l o n g l o o k _ t i m e 1 , l o o k _ t i m e 2 。p r i n t f ( 請輸入要查看的時間范圍由小到大 ) 。p 1 = h e a d 。 l o o k _ t i m e 1 = p 1 t i m e amp。i + + ;a [ i ] . p e o p l e _ n u m + = p1 k u a n g k e _ n u m 。i n t i = 0 , n = 0 。打開文件x u e s h e n g z i l i a o . t x tp 1 ! = N U L L將數(shù)據(jù)寫入文件p 1 = p 1 n e x t 。學(xué)生考勤管理系統(tǒng) 11 測試(2)由于程序的源代碼是在記事本文本中復(fù)制到 VC 中的,有些 printf 后比較長的語句會被放到下一行,使程序出現(xiàn)多處類似的錯誤,經(jīng)過在 VC 中的修改,程序得以正常的運行6. 結(jié)論課程設(shè)計順利完成,題目所要求的功能也都一一實現(xiàn),可以對學(xué)生的缺課信息進行添加,修改,刪除以及查詢的顯示。使我體會到設(shè)置中每一步的重要性。參考文獻[1] 語言程序設(shè)計(第三版).清華大學(xué)出版社[2] ,2022[3] , [4] 姜靈芝, ,2022學(xué)生考勤管理系統(tǒng) 12附錄 1—用戶手冊主菜單圖 1 主菜單圖 2 建立學(xué)生缺課記錄學(xué)生考勤管理系統(tǒng) 13圖 3 修改學(xué)生缺課記錄圖 4 查詢學(xué)生缺課記錄學(xué)生考勤管理系統(tǒng) 14圖 5 查看單科曠課記錄圖 6 查看學(xué)生曠課記錄學(xué)生考勤管理系統(tǒng) 15圖 7 儲存學(xué)生曠課記錄圖 8 載入學(xué)生曠課記錄學(xué)生考勤管理系統(tǒng) 168. 退出程序圖 9 退出程序?qū)W生考勤管理系統(tǒng) 17附錄 2—源程序includeincludeincludedefine NULL 0define LEN sizeof(struct student)int student_num。}。int lesson_time。int qingjia_num。void chaxun(struct student *head){ int i。struct student *p。istudent_num。char xiugai_xueke_name[50]。struct student *p1,*p2。return(head)。amp。strcmp(xiugai_xueke_name,p1lesson_name)==0){ printf(=======================================\n)。printf( 4修改第幾節(jié)缺課 \n)。printf( 8修改曠課次數(shù) \n)。switch(k){case 1:printf(請輸入新的缺課時間)。case 2:printf(請輸入新的學(xué)生姓名)。scanf(%s,p1lesson_name)。p1lesson_time)。p1chidao_num)。p1zaotui_num)。p1qingjia_num)。p1kuangke_num)。struct student *head,*p1,*p2。head=p2=NULL。scanf(%ld%s%s%d%d%d%d%d,amp。p1zaotui_num,amp。p2=p1。i++){p1=(struct student*)malloc(LEN)。p1lesson_time,amp。p1kuangke_num)。} p2next=NULL。if(p==NULL)printf(沒有學(xué)生信息\n)。char lesson[50]。if(head==NULL){printf(沒有學(xué)生信息)。while(xunhuan_numstudent_num){while(p2!=NULL){if(p2kuangke_nump1kuangke_num){p3chidao_num=p2chidao_num。p3lesson_time=p2lesson_time。p2chidao_num=p1chidao_num。p2lesson_time=p1lesson_time。p1chidao_num=p3chidao_num。p1lesson_time=p3lesson_time。}p1=p2。xunhuan_num++。scanf(%ld%ld,amp。while(p1!=NULL){if(strcmp(lesson,p1lesson_name)==0amp。p1time=look_time2)printf(學(xué)生姓名%s 曠課次數(shù)%d\n,p1name,p1kuangke_num)。struct student *p1。return(head)。for(i=0。a[i].people_num=0。look_time2)。i++)學(xué)生考勤管理系統(tǒng) 25{while(p1!=NULL amp。 p1time=look_time2){if(strcmp(a[i].xueke_name,p1lesson_name)==0)a[i].people_num+=p1kuangke_num。jn1。a[i+1].people_num=a[i].people_num。strcpy(a[i].xueke_name,zhongjian_name)。return(head)。if((fp1=fopen(,rb+))==NULL){ printf(cannot open file\n)。 break。p1=p2=(struct student *)malloc(LEN)。i++){p1chidao_num=student_ziliao[i].chidao_num。strcpy(p1name,student_ziliao[i].name)。p2next=p1。return(head)。while(p1!=NULL){fwrite(p1,LEN,1,fp1)。}void main(){struct student *head。printf( 2_修改學(xué)生缺課記錄\n)。printf( 6_載入學(xué)生曠課記錄\n)。scanf(%d,amp。break。case 3:chaxun(head)。case 5:head=tongji_student(head)。break。 學(xué)生考勤管理系統(tǒng) 29完成日期:2022 年 7 月 15。break。case 6:head=zairu()。case 4:head=tongji_lesson(head)。學(xué)生考勤管理系統(tǒng) 28print(head)。switch(m){case 1:head=creat()。printf( 8_退出考勤管理程序\n)。printf( 4_查看單科曠課記錄\n)。do{printf(***************************************************\n)。 }fclose(fp1)。p1=head。p1=(struct student*)malloc(LEN)。p1time=student_ziliao[i].time。strcpy(p1lesson_name,student_ziliao[i].lesson_name)。for(i=0。}i++。 } while(!feof(fp1)){if(fread(amp。struct student student_ziliao[100]。in。strcpy(zhongjian_name,a[i+1].xueke_name)。in1j。 }p1=head。 look_time1=p1time amp。for(i=0。scanf(%ld%ld,amp。i++){printf(請輸入第%d 個學(xué)科名稱:,i+1)。scanf(%d,amp。long look_time1