freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

學生成績管理系統(tǒng)---課程設(shè)計-資料下載頁

2025-07-24 18:51本頁面
  

【正文】 { snext=rrnext。 rrnext=s。 } p=pnext。 /*原鏈表中的指針下移一個節(jié)點*/ } lnext=llnext。 /*ll中存儲是的已排序的鏈表的頭指針*/ p=lnext。 /*已排好序的頭指針賦給p,準備填寫名次*/ while(p!=NULL) /*當p不為空時,進行下列操作*/ { i++。 /*結(jié)點序號*/ p=i。 /*將名次賦值*/ p=pnext。 /*指針后移*/ } Disp(l)。 saveflag=1。 printf(\n =====sort plete!\n)。}/*數(shù)據(jù)存盤,若用戶沒有專門進行此操作且對數(shù)據(jù)有修改,在退出系統(tǒng)時, 會提示用戶存盤*/void Save(Link l){ FILE* fp。 Node *p。 int count=0。 fp=fopen(c:\\student,wb)。/*以只寫方式打開二進制文件*/ if(fp==NULL) /*打開文件失敗*/ { printf(\n=====open file error!\n)。 getchar()。 return 。 } p=lnext。 while(p) { if(fwrite(p,sizeof(Node),1,fp)==1)/*每次寫一條記錄或一個節(jié)點信息至文件*/ { p=pnext。 count++。 } else break。 } if(count0) { getchar()。 printf(\n\n\n\n\n=====save file plete,total saved39。s record number is:%d\n,count)。 getchar()。 saveflag=0。 } else { system(cls)。 printf(the current link is empty,no student record is saved!\n)。 getchar()。 } fclose(fp)。 /*關(guān)閉此文件*/}void main(){ Link l。 /*定義鏈表*/ FILE *fp。 /*文件指針*/ int select。 /*保存選擇結(jié)果變量*/ char ch。 /*保存(y,Y,n,N)*/ int count=0。 /*保存文件中的記錄條數(shù)(或結(jié)點個數(shù))*/ Node *p,*r。 /*定義記錄指針變量*/ l=(Node*)malloc(sizeof(Node))。 if(!l) { printf(\n allocate memory failure )。 /*如沒有申請到,打印提示信息*/ return 。 /*返回主界面*/ } lnext=NULL。 r=l。 fp=fopen(C:\\student,ab+)。 /*以追加方式打開一個二進制文件,可讀可寫,若此文件不存在,會創(chuàng)建此文件*/ if(fp==NULL) { printf(\n=====can not open file!\n)。 exit(0)。 } while(!feof(fp)) { p=(Node*)malloc(sizeof(Node))。 if(!p) { printf( memory malloc failure!\n)。 /*沒有申請成功*/ exit(0)。 /*退出*/ } if(fread(p,sizeof(Node),1,fp)==1) /*一次從文件中讀取一條學生成績記錄*/ { pnext=NULL。 rnext=p。 r=p。 /*r指針向后移一個位置*/ count++。 } } fclose(fp)。 /*關(guān)閉文件*/ printf(\n=====open file sucess,the total records number is : %d.\n,count)。 menu()。 while(1) { system(cls)。 menu()。 p=r。 printf(\n Please Enter your choice(0~9):)。 /*顯示提示信息*/ scanf(%d,amp。select)。 if(select==0) { if(saveflag==1) /*若對鏈表的數(shù)據(jù)有修改且未進行存盤操作,則此標志為1*/ { getchar()。 printf(\n=====Whether save the modified record to file?(y/n):)。 scanf(%c,amp。ch)。 if(ch==39。y39。||ch==39。Y39。) Save(l)。 } printf(=====thank you for useness!)。 getchar()。 break。 } switch(select) { case 1:Add(l)。break。 /*增加學生記錄*/ case 2:Del(l)。break。 /*刪除學生記錄*/ case 3:Qur(l)。break。 /*查詢學生記錄*/ case 4:Modify(l)。break。 /*修改學生記錄*/ case 5:Insert(l)。break。 /*插入學生記錄*/ case 6:Tongji(l)。break。 /*統(tǒng)計學生記錄*/ case 7:Sort(l)。break。 /*排序?qū)W生記錄*/ case 8:Save(l)。break。 /*保存學生記錄*/ case 9:system(cls)。Disp(l)。break。 /*顯示學生記錄*/ default: Wrong()。getchar()。break。 /*按鍵有誤,必須為數(shù)值09*/ } }}1) 主界面當用戶剛進入成績管理系統(tǒng)時,其主界面如圖所示。此時,系統(tǒng)已經(jīng)將“c:student”文件打開,若文件不為空,則將數(shù)據(jù)從文件中逐條記錄讀出,并寫入單鏈表中。用戶可選擇0~9之間的數(shù)值,調(diào)用相應功能進行操作。當輸入為零時,退出此管理系統(tǒng)。 2) 輸入記錄當用戶輸入1并按enter鍵后,即可進入數(shù)據(jù)輸入界面。其輸入記錄過程如圖所示,這里輸入了三條學生記錄,當用戶輸入0的學號時,它會結(jié)束輸入過程,返回到主菜單界面。3) 顯示記錄當用戶執(zhí)行了輸入記錄或以經(jīng)從數(shù)據(jù)文件中讀取了學生記錄后,即可輸入9并按enter鍵,查看當前單鏈表中學生記錄的情況,如圖,此時表中有三條記錄。4) 刪除記錄當用戶輸入2并按enter鍵后,即可進入刪除界面。其刪除記錄過程如圖所示,這里按雪后刪除了一條學號為02的記錄。5) 查找記錄當用戶輸入3并按enter鍵后,即可進入記錄查找界面,其查找記錄過程如圖所示,可按學號獲姓名進行查找。6) 修改記錄當用戶輸入4并按enter鍵后,即可進入記錄修改界面。其修改過程如圖所示,將學號04的記錄的C語言成績修改成了90分。7) 插入記錄當用戶輸入5并按enter鍵后,即可進入記錄插入界面。插入過程如圖所示,這里在學號為01的記錄后面插入了一條學號為02的記錄。8) 統(tǒng)計記錄當用戶輸入6并按enter鍵后即可進入記錄統(tǒng)計界面。其統(tǒng)計結(jié)果如圖所示,統(tǒng)計出了最高分及不及格人數(shù)。9) 排序記錄當用戶輸入7并按enter鍵后,即可進入記錄排序界面。其排序結(jié)果如圖所示,有排序前和排序后的學生記錄輸出結(jié)果。10) 保存記錄當用戶輸入8并按enter鍵后,即可進入記錄保存界面。這里有3條記錄已經(jīng)存儲至磁盤數(shù)據(jù)文件中。參考文獻:[1] C語言課程設(shè)計案例精編,姜靈芝編著,清華大學出版社[2] C語言課程設(shè)計,王新編著,清華大學出版社[3] C語言課程設(shè)計,黃明編著,電子工業(yè)出版社課程設(shè)計體會 結(jié)束了這個盡管不夠完美的課程設(shè)計報告,我著實有很多感想和體會。首先,當我把源代碼修改正確使之能夠正常運行時,當意料之中的運行結(jié)果出現(xiàn)在眼前的屏幕上時,我感到很有成就感。然而,同時存在著很多讓我精疲力竭的問題。當我在源代碼中加入語文成績時,由于系統(tǒng)過于復雜,總會使運行結(jié)果出現(xiàn)亂碼。這時只有回到源代碼一句一句的修改,一遍一遍的調(diào)試,直到結(jié)果正確。其實,只要將源代碼的每一段都理解透徹,添加新功能時認真謹慎、考慮周全,很多問題都可以避免了。再如,在運行界面中按照代碼順序輸入計算機成績和英語成績,但是打印出的結(jié)果中計算機成績和英語成績總是反的,這時就該想到可能是源代碼中輸出這兩科成績的順序反了,繼而追溯到輸出記錄模塊,直至追索出計算機成績和英語成績的輸出順序,一探究竟。最后,讓我有些遺憾的是沒能在規(guī)定時間內(nèi)完成任務(wù)中的新功能。因為能力有限而且要增加這些功能就需要大量時間去調(diào)試和修改,但期末將近,很多科目都面臨著考試,所以無法將全部時間投入到該課程設(shè)計中?,F(xiàn)在將部分新增功能的思路及代碼描述如下: 在Tongji( )函數(shù)中,將將整形變量countc,countm,counte和county換成指針,用以記錄不及格學生的地址,打印時,按記錄的地址找出不及格學生的名單。2. 在Tongji( )函數(shù)中新增加單科平均分和總分最低分在原Tongji( )函數(shù)中修改代碼,完善一些功能。其部分代碼如下void statistics(Link l)/*在Tongji( )函數(shù)中新增加單科平均分和總分最低分*/{ floatsum,sum1=0,sum2=0,sum3=0,sum4=0,ave,ave1==0,ave3=0,ave4=0,max=0,min=0。 Node *p。 int y=0,i=0。 p=l。 if(l==NULL){ printf(“沒有任何學生資料!”); return(l)。}else{ while(p!=NULL) { sum=pcgrade+pmgrade+pegrade+pyuw。ave=sum/4。sum1=sum1+pcgrade。sum2=sum2+pmgrade。sum3=sum3+pegrade。sum4=sum4+pyuwen。y=y+1。if(maxsum) max=sum。else if(minsum) min=sum。}ave1=sum1/y。 /*計算每科平均分*/ave2=sum2/y。ave3=sum3/y。ave4=sum4/y。printf(“計算機平均分:%.1f”,ave1)。printf(“數(shù)學平均分:%.1f”,ave2)。printf(“英語平均分:%.1f”,ave3)。printf(“語文平均分:%.1f”,ave4)。printf(“總分最高分:%.1f”,max)。printf(“總分最低分:%.1f”,min)。}return(l)。}36
點擊復制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1