




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
..1引言現(xiàn)今大學(xué)對學(xué)生成績管理以及學(xué)生水平評定過程中,不僅依靠學(xué)生分數(shù),而且把各個科目的掌握情況通過學(xué)分來反映,眾所周知,大學(xué)人數(shù)眾多,單靠人工在紙質(zhì)介質(zhì)上記錄,既浪費資源又不方便管理,并且錯誤率高,學(xué)分管理系統(tǒng)就是基于現(xiàn)今大學(xué)在學(xué)生成績管理過程中采用學(xué)分制,應(yīng)運而生的計算機數(shù)據(jù)管理系統(tǒng),對在校生進行學(xué)分數(shù)據(jù)錄入、修改、刪除、查找、排序以及對學(xué)分得分的初步統(tǒng)計,并存儲學(xué)生學(xué)分數(shù)據(jù)的計算機數(shù)據(jù)管理系統(tǒng)。利用學(xué)分管理系統(tǒng)可以有效的幫助管理者,來管理學(xué)生學(xué)分數(shù)據(jù),并能夠了解各個班級學(xué)生學(xué)分完成情況,從而節(jié)約了管理過程中的人力物力,并且存貯方便、準確。學(xué)生學(xué)分管理系統(tǒng)是運行于計算機系統(tǒng)下的應(yīng)用軟件,主要用于對學(xué)生的學(xué)號、姓名以及各項學(xué)科學(xué)分進行錄入、刪除、修改、查詢、排序、統(tǒng)計、存盤等操作,為學(xué)校的教師和學(xué)生提供了一個對學(xué)生學(xué)分進行管理和查看的平臺,給用戶提供了一個簡單友好的用戶接口,主要任務(wù)如下:1.1查看所有學(xué)生信息根據(jù)菜單提示,選擇該功能,能夠逐條顯示全部學(xué)生學(xué)分記錄1.2輸入學(xué)生記錄用戶根據(jù)菜單提示選擇輸入學(xué)生記錄選項,進行有關(guān)學(xué)生的學(xué)號、姓名、班級、基礎(chǔ)課學(xué)分、專業(yè)課學(xué)分、選修課學(xué)分、人文類課學(xué)分以及實驗課學(xué)分的錄入??梢淮涡暂斎攵鄺l學(xué)生的學(xué)分信息記錄。1.3刪除學(xué)生記錄根據(jù)提示,用戶輸入要進行刪除學(xué)生的學(xué)號,如果在不存在該學(xué)號,則顯示沒有找到該學(xué)生;如果在文件中有該學(xué)號的信息存在,則將該學(xué)號所對應(yīng)的姓名、學(xué)號、班級、各科學(xué)分等在對應(yīng)文件中加以刪除。1.4修改學(xué)生記錄根據(jù)提示,用戶輸入要進行修改學(xué)分記錄的學(xué)生的學(xué)號,如果在文件中不存在該學(xué)號,則顯示沒有找到該學(xué)生;如果在文件中有該學(xué)生的信息存在,則將提示用戶選擇要修改的某課程,當(dāng)用戶選擇某課程的代碼后,則將顯示你所要修改的課程。然后提示用戶選擇是否繼續(xù)進行修改操作。1.5查詢學(xué)生信息查詢學(xué)生信息,分為根據(jù)學(xué)號查詢和根據(jù)班級查詢兩個具體需求,菜單選項分別提示用戶輸入要查詢學(xué)生信息的學(xué)號或班級,如果在磁盤文件中有對應(yīng)的輸入信息,則提示用戶已找到,并逐項列出對應(yīng)查找到的學(xué)生學(xué)分狀況。1.6根據(jù)學(xué)號排序?qū)W生記錄該項功能根據(jù)學(xué)生的學(xué)號項進行排序,以便用戶對學(xué)生學(xué)分狀況有較為直觀方便的了解,并能夠讓學(xué)號有規(guī)律排列的學(xué)生項,在顯示時集中出現(xiàn),讓瀏覽者更加清楚明白。1.7統(tǒng)計學(xué)生學(xué)分完成情況該項是統(tǒng)計各班學(xué)生的學(xué)分完成情況,可以很方便了解該班學(xué)生的學(xué)習(xí)水平。2總體設(shè)計進行總體設(shè)計,以比較抽象的方式概括的確定系統(tǒng)如何完成預(yù)定的任務(wù),進而確定組成系統(tǒng)的每個子程序的結(jié)構(gòu),從而將一個大的程序按功能分割成一些模塊,是每個模塊具有功能單一、結(jié)構(gòu)清晰、接口簡單易于理解的小程序,并且確定各個函數(shù)之間的調(diào)用關(guān)系。本系統(tǒng)主要應(yīng)用結(jié)構(gòu)化的設(shè)計思想,實現(xiàn)學(xué)生學(xué)分的輸入、刪除、修改、查詢以及瀏覽等管理功能,各主要模塊的數(shù)據(jù)均存儲在文件中,因此包含對文件的讀、寫等基本操作。在軟件開發(fā)過程中應(yīng)用了高級語言程序設(shè)計中的基本控制結(jié)構(gòu),如選擇、循環(huán)、順序等結(jié)構(gòu)。系統(tǒng)的設(shè)計方法是結(jié)構(gòu)化設(shè)計方法,采用C語言進行開發(fā)。系統(tǒng)功能結(jié)構(gòu)圖,如圖1所示。退出系統(tǒng)退出系統(tǒng)查看所有學(xué)生信息輸入學(xué)生記錄刪除學(xué)生記錄修改學(xué)生記錄根據(jù)學(xué)號查詢學(xué)生記錄根據(jù)班級查詢學(xué)生記錄根據(jù)學(xué)號排序?qū)W生記錄統(tǒng)計學(xué)生學(xué)分完成情況學(xué)分管理程序圖1系統(tǒng)結(jié)構(gòu)圖圖1系統(tǒng)結(jié)構(gòu)圖3詳細設(shè)計本系統(tǒng)采用主函數(shù)調(diào)用子函數(shù)的設(shè)計方法,先整體在逐步細化的過程,具體方法如下:在主函數(shù)前,進行子函數(shù)聲明,如下:voidmenu<>;//菜單函數(shù)voidto_menu<>;//返回菜單函數(shù)voidview_data<>;//查看所有學(xué)生信息voidsave_data<>;//保存數(shù)據(jù)voidadd_data<>;//輸入學(xué)生數(shù)據(jù)voidread_data<>;//讀取數(shù)據(jù)voiddelete_data<>;//刪除數(shù)據(jù)voidedit_data<>;//修改數(shù)據(jù)voidquery_data_no<>;//查找〔按學(xué)號voidquery_data_clas<>;//查找〔按班級voidsort_data_no<>;//排序〔學(xué)號voidtongji<>;//統(tǒng)計某班學(xué)生學(xué)分完成情況3.1主函數(shù)設(shè)計編寫主函數(shù),主函數(shù)運行時,先調(diào)用voidread_data<>函數(shù),將數(shù)據(jù)從文件讀取到結(jié)構(gòu)體數(shù)組中,再調(diào)用菜單函數(shù)voidmenu<>,顯示菜單選擇項,設(shè)計一個while循環(huán),讓函數(shù)進入循環(huán),設(shè)計switch函數(shù),對菜單各項功能進行選擇,使各項功能能夠運行,最后退出循環(huán),調(diào)用to_menu<>函數(shù),返回主菜單。main<>{intfun;read_data<>;menu<>;while<1>{printf<"請輸入功能號[0-8]:",&fun>;scanf<"%d",&fun>;switch<fun>{case0:break;//退出case1:view_data<>;break;//查看所有學(xué)生信息case2:add_data<>;break;//輸入學(xué)生記錄case3:delete_data<>;break;//刪除學(xué)生記錄case4:edit_data<>;break;//修改學(xué)生記錄case5:query_data_no<>;break;//查詢〔學(xué)號case6:query_data_clas<>;break;//查詢〔班級case7:sort_data_no<>;break;//排序〔學(xué)號case8:tongji<>;break;//統(tǒng)計某班學(xué)生學(xué)分完成情況default:printf<"輸入錯誤!">;break;}if<fun==0>break;to_menu<>;}}3.2子函數(shù)設(shè)計菜單函數(shù)設(shè)計菜單函數(shù)首先運行庫函數(shù)system<"cls">進行清屏,然后運行各個printf語句,顯示主菜單,如圖2所示。圖2系統(tǒng)主菜單圖2系統(tǒng)主菜單返回主菜單函數(shù)設(shè)計設(shè)計字符c1,c2,用c1來接受第一次輸入的回車,然后再次輸入回車時,調(diào)用函數(shù)menu<>,返回主菜單,來實現(xiàn)各次操作完成后返回主菜單的任務(wù)。查看所有學(xué)生信息函數(shù)設(shè)計設(shè)計for循環(huán),定義i=0,學(xué)生總數(shù)為dd.count,利用for循環(huán),可以顯示所有學(xué)生已經(jīng)記錄的信息。如圖3所示:圖3查看所有學(xué)生信息圖3查看所有學(xué)生信息數(shù)據(jù)從結(jié)構(gòu)體數(shù)組保存到文件的函數(shù)設(shè)計創(chuàng)建文件data.txt,利用for循環(huán),把數(shù)據(jù)逐個寫入文件。輸入學(xué)生記錄函數(shù)設(shè)計根據(jù)printf語句提示,逐個輸入學(xué)號、姓名、班級,調(diào)用庫函數(shù)strcpy<>,把各個輸入項,拷貝到數(shù)組中,再對各項分數(shù)進行賦值,如果大于最大值,則顯示最大值,設(shè)計成循環(huán)模式,末尾提示是否繼續(xù)添加數(shù)據(jù),利用break終止循環(huán),最后存盤,退出程序,顯示主菜單。輸入學(xué)號為106的學(xué)生信息后如圖4所示。圖4輸入學(xué)生信息圖4輸入學(xué)生信息刪除學(xué)生記錄函數(shù)設(shè)計設(shè)計for循環(huán)以及庫函數(shù)strcmp<>,把輸入的學(xué)號,跟已有的學(xué)號進行對比,如果沒有相同的學(xué)號,則提示沒有找到該學(xué)生,如果找到相同的學(xué)號,則把該學(xué)號以后的數(shù)據(jù)向前移動一位,再把學(xué)生總數(shù)減一,實現(xiàn)刪除學(xué)生。刪除過程如下圖5和圖6所示。圖5輸入要刪除的學(xué)生圖5輸入要刪除的學(xué)生圖6刪除后顯示圖6刪除后顯示修改學(xué)生記錄函數(shù)設(shè)計根據(jù)printf語句提示,輸入要修改的學(xué)生的學(xué)號,設(shè)計for循環(huán)和庫函數(shù)strcmp,對輸入學(xué)號進行查找,如果沒有查找到,顯示沒有找到該學(xué)生,如果能夠查找到給學(xué)生,則進一步提示輸入學(xué)生的姓名、班級,然后選擇要修改的學(xué)生記錄項,最后提示,是否繼續(xù)錄入,退出后可返回主菜單。修改過程如下圖7和圖8所示。圖7編輯學(xué)生信息窗口圖7編輯學(xué)生信息窗口圖8修改學(xué)生信息完成圖8修改學(xué)生信息完成查詢學(xué)生記錄函數(shù)設(shè)計查詢學(xué)生記錄分為,根據(jù)學(xué)生學(xué)號查詢和根據(jù)班級查詢該班所有學(xué)生的成績,設(shè)計for循環(huán)和調(diào)用ctrcmp<>函數(shù),把要查詢的結(jié)果進行顯示,如果沒有找到與輸入匹配的字符,則顯示沒有找到該班級或沒有找到該學(xué)生。查詢顯示如下圖,根據(jù)學(xué)號查詢?nèi)鐖D9所示,根據(jù)班級查詢?nèi)鐖D10所示。圖9根據(jù)學(xué)號查詢學(xué)生信息圖9根據(jù)學(xué)號查詢學(xué)生信息圖10根據(jù)班級查詢學(xué)生信息圖10根據(jù)班級查詢學(xué)生信息排序函數(shù)設(shè)計設(shè)計while循環(huán),用for循環(huán)和庫函數(shù)strcmp將學(xué)號依次比較,然后用冒泡排序法將學(xué)號數(shù)據(jù)由小到大排列,并且各數(shù)據(jù)交換,完成排序。排序結(jié)果如下圖11所示。圖11根據(jù)學(xué)號排序結(jié)果圖11根據(jù)學(xué)號排序結(jié)果3.2.10統(tǒng)計函數(shù)設(shè)計輸入要統(tǒng)計的班級號,調(diào)用strcmp函數(shù),查找相同班級號的學(xué)生數(shù)據(jù),再設(shè)計for循環(huán)并調(diào)用strcmp函數(shù),把差找出的學(xué)生數(shù)據(jù),與要求完成的學(xué)分標準進行對比,統(tǒng)計出符合要求和不符合要求的學(xué)生個數(shù),最后顯示。統(tǒng)計結(jié)果如下圖12所示。圖12根據(jù)班級統(tǒng)計結(jié)果圖12根據(jù)班級統(tǒng)計結(jié)果4總結(jié)本系統(tǒng)可以完成學(xué)生學(xué)分的錄入、查詢、修改、刪除、排序以及班級總體水平的統(tǒng)計功能,但是對于系統(tǒng)的訪問權(quán)限設(shè)置,訪問途徑〔網(wǎng)絡(luò)訪問還是單機使用等功能,還沒有提出解決的方案,在這些問題上還有待于對系統(tǒng)的進一步開發(fā)完善。學(xué)分管理系統(tǒng)是介于學(xué)生管理者和學(xué)生之間的一個數(shù)據(jù)庫平臺,他讓數(shù)據(jù)管理者可以方便的錄入修改學(xué)生成績,在管理過程中可以節(jié)省時間,增加工作效率,假如學(xué)生可以通過網(wǎng)絡(luò)來進行查詢,就可以避免學(xué)分改動而引發(fā)的矛盾,同時也可以給學(xué)生帶來方便,因此在訪問途徑上可以設(shè)置為單機服務(wù)器管理,網(wǎng)絡(luò)訪問的數(shù)據(jù)庫模式,來為學(xué)生和學(xué)校之間提供一個信息查詢的平臺。本系統(tǒng)的開發(fā)過程,主要利用了for循環(huán)、switch循環(huán)、庫函數(shù)strcmp與strcpy等,在排序函數(shù)設(shè)計時,略顯繁瑣,有待于使用者在使用時,提出寶貴的意見和建議。通過對本程序的開發(fā),讓我了解到一個完整系統(tǒng)的開發(fā)過程,將一個大的工程問題可以細化到各個模塊,讓每個模塊可以獨立去完成各自的功能,最后用函數(shù)之間的調(diào)用來解決程序開發(fā)的全部問題,讓我在以后開發(fā)程序的道路上更加擁有信心。參考文獻[1]趙啟蘭.庫存管理[M].北京:高等教育出版社,2005[2]譚浩強,張基溫.C語言程序設(shè)計教程<第3版>[M].北京:高等教育出版社,2006[3]黃明、梁旭、萬洪莉.C語言課程設(shè)計[M].北京:電子工業(yè)出版社,2006[4]郭寧,鄭小玲.管理信息系統(tǒng)[M].北京:人民郵電出版社,2006[5]趙池龍,楊林,陳偉.實用軟件工程[M].北京:電子工業(yè)出版社,2006附錄#include<stdio.h>#include<io.h>#include<stdlib.h>#include<string.h>#defineMAX60structstudent{charno[10];//學(xué)號charname[50];//姓名charclas[5];//班級intscore[5];//學(xué)分};structdata{intcount;//當(dāng)前學(xué)生數(shù)組中學(xué)生的個數(shù)structstudentstu[MAX];//學(xué)生數(shù)組}dd;//子函數(shù)聲明voidmenu<>;//菜單函數(shù)voidto_menu<>;//返回菜單函數(shù)voidview_data<>;//查看所有學(xué)生信息voidsave_data<>;//保存數(shù)據(jù)voidadd_data<>;//輸入學(xué)生數(shù)據(jù)voidread_data<>;//讀取數(shù)據(jù)voiddelete_data<>;//刪除數(shù)據(jù)voidedit_data<>;//修改數(shù)據(jù)voidquery_data_no<>;//查找〔按學(xué)號voidquery_data_clas<>;//查找〔按班級voidsort_data_no<>;//排序〔學(xué)號voidtongji<>;//統(tǒng)計某班學(xué)生學(xué)分完成情況//主函數(shù)main<>{intfun;read_data<>;menu<>;while<1>{printf<"請輸入功能號[0-8]:",&fun>;scanf<"%d",&fun>;switch<fun>{case0:break;//退出case1:view_data<>;break;//查看所有學(xué)生信息case2:add_data<>;break;//輸入學(xué)生記錄case3:delete_data<>;break;//刪除學(xué)生記錄case4:edit_data<>;break;//修改學(xué)生記錄case5:query_data_no<>;break;//查詢〔學(xué)號case6:query_data_clas<>;break;//查詢〔班級case7:sort_data_no<>;break;//排序〔學(xué)號case8:tongji<>;break;//統(tǒng)計某班學(xué)生學(xué)分完成情況default:printf<"輸入錯誤!">;break;}if<fun==0>break;to_menu<>;}}voidmenu<>/*顯示主菜單*/{system<"cls">;//清屏printf<"\n">;printf<"\t\t★☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆★\n">;printf<"\t\t☆☆\n">;printf<"\t\t☆★☆學(xué)分管理系統(tǒng)☆★☆\n">;printf<"\t\t☆☆\n">;printf<"\t\t☆[0]退出[1]查看所有學(xué)生信息☆\n">;printf<"\t\t☆☆\n">;printf<"\t\t☆[2]輸入學(xué)生記錄[3]刪除學(xué)生記錄☆\n">;printf<"\t\t☆☆\n">;printf<"\t\t☆[4]修改學(xué)生記錄[5]查詢〔學(xué)號☆\n">;printf<"\t\t☆☆\n">;printf<"\t\t☆[6]查詢〔班級[7]排序〔學(xué)號☆\n">;printf<"\t\t☆☆\n">;printf<"\t\t☆[8]統(tǒng)計某班學(xué)生學(xué)分完成情況☆\n">;printf<"\t\t☆☆\n">;printf<"\t\t★☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆★\n\n">;}voidto_menu<>//等待用戶按回車后回到主菜單{charc1,c2;printf<"\n\n\n按回車鍵返回主菜單...">;scanf<"%c%c",&c1,&c2>;//第一個字符吸收上次的確認回車鍵menu<>;}voidview_data<>//查看所有學(xué)生信息{inti;printf<"學(xué)號\t姓名\t班級\t基礎(chǔ)課\t專業(yè)課選修課人文類課實驗課\n">;printf<"\n-------------------------------------------------------------------\n">;for<i=0;i<dd.count;i++>printf<"%s\t%s\t%s\t%d\t%d\t%d\t%d\t%d\n",dd.stu[i].no,dd.stu[i].name,dd.stu[i].clas,dd.stu[i].score[0],dd.stu[i].score[1],dd.stu[i].score[2],dd.stu[i].score[3],dd.stu[i].score[4]>;}voidsave_data<>//將數(shù)據(jù)從結(jié)構(gòu)體數(shù)組保存到文件中{FILE*fp;//文件指針inti,k;k=dd.count;fp=fopen<"dada.txt","w">;//文件存儲位置:當(dāng)前文件夾fwrite<&k,sizeof<int>,1,fp>;for<i=0;i<k;i++>fwrite<&dd.stu[i],sizeof<structstudent>,1,fp>;fclose<fp>;}voidadd_data<>//輸入學(xué)生記錄{structstudentst;intb;inta;intk;while<1>{printf<"\n請輸入學(xué)生信息:">;printf<"\n學(xué)號\t姓名\t班級">;printf<"\n---------------------------------------------------------------\n">;scanf<"%s%s%s",st.no,,st.clas>;k=dd.count;strcpy<dd.stu[k].no,st.no>;strcpy<dd.stu[k].name,>;strcpy<dd.stu[k].clas,st.clas>;printf<"\n請輸入基礎(chǔ)課學(xué)分<0-50>:">;scanf<"%d",&a>;if<a>50>dd.stu[k].score[0]=50;elsedd.stu[k].score[0]=a;printf<"\n請輸入專業(yè)課學(xué)分<0-50>:">;scanf<"%d",&a>;if<a>50>dd.stu[k].score[1]=50;elsedd.stu[k].score[1]=a;printf<"\n請輸入選修課學(xué)分<0-24>:">;scanf<"%d",&a>;if<a>24>dd.stu[k].score[2]=24;elsedd.stu[k].score[2]=a;printf<"\n請輸入人文課學(xué)分<0-8>:">;scanf<"%d",&a>;if<a>8>dd.stu[k].score[3]=8;elsedd.stu[k].score[3]=a;;printf<"\n請輸入實驗課學(xué)分<0-20>:">;scanf<"%d",&a>;if<a>20>dd.stu[k].score[4]=20;elsedd.stu[k].score[4]=a;dd.count++;printf<"\n\n繼續(xù)添加學(xué)生信息[1-yes0-no]:">;scanf<"%d",&b>;if<b==0>break;}save_data<>;}voidread_data<>//將數(shù)據(jù)從文件讀到結(jié)構(gòu)體數(shù)組中{FILE*fp;inti,k;structstudentst;k=0;if<access<"dada.txt",0>==-1>//如果文件不存在{fp=fopen<"dada.txt","w">;fwrite<&k,sizeof<int>,1,fp>;fclose<fp>;}fp=fopen<"dada.txt","r">;fread<&k,sizeof<int>,1,fp>;dd.count=k;for<i=0;i<k;i++>{fread<&st,sizeof<structstudent>,1,fp>;strcpy<dd.stu[i].no,st.no>;strcpy<dd.stu[i].name,>;strcpy<dd.stu[i].clas,st.clas>;dd.stu[i].score[4]=st.score[4];dd.stu[i].score[3]=st.score[3];dd.stu[i].score[2]=st.score[2];dd.stu[i].score[1]=st.score[1];dd.stu[i].score[0]=st.score[0];}fclose<fp>;}voiddelete_data<>//刪除學(xué)生記錄{inti,k,j;charno[10];printf<"\n請輸入要刪除學(xué)生的學(xué)號:">;scanf<"%s",no>;k=-1;for<i=0;i<dd.count;i++>{if<strcmp<dd.stu[i].no,no>==0>{k=i;break;}}if<k==-1>{printf<"\n\n沒有找到該學(xué)生<學(xué)號-%s>!",no>;}else{for<j=k;j<dd.count-1;j++> { dd.stu[j]=dd.stu[j+1]; }save_data<>;printf<"\n\n刪除學(xué)生<學(xué)號-%s>記錄成功!",no>; dd.count--;}}voidedit_data<>//修改學(xué)生記錄{structstudentst;inti,k,a,b,select;charno[10];printf<"\n請輸入要編輯學(xué)生的學(xué)號:">;scanf<"%s",no>;k=-1;for<i=0;i<dd.count;i++>{if<strcmp<dd.stu[i].no,no>==0>{k=i;break;}}if<k==-1>{printf<"\n\n沒有找到該學(xué)生<學(xué)號-%s>!",no>;}else{printf<"\n姓名\t班級\n">;printf<"\n----------------------------------\n">;scanf<"%s%s",,st.clas>;strcpy<dd.stu[k].name,>;strcpy<dd.stu[k].clas,st.clas>;printf<"1基礎(chǔ)課***2專業(yè)課***3選修課***4人文類課***5實驗課">;printf<"請選擇你要修改的課程">;scanf<"%d",&select>;switch<select>{case1:printf<"\n請輸入基礎(chǔ)課學(xué)分<0-50>:">;scanf<"%d",&a>;if<a>50>dd.stu[k].score[0]=50;elsedd.stu[k].score[0]=a;break;case2:printf<"\n請輸入專業(yè)課學(xué)分<0-50>:">;scanf<"%d",&a>;if<a>50>dd.stu[k].score[1]=50;elsedd.stu[k].score[1]=a;break;case3:printf<"\n請輸入選修課學(xué)分<0-24>:">;scanf<"%d",&a>;if<a>24>dd.stu[k].score[2]=24;elsedd.stu[k].score[2]=a;break;case4:printf<"\n請輸入人文課學(xué)分<0-8>:">;scanf<"%d",&a>;if<a>8>dd.stu[k].score[3]=8;elsedd.stu[k].score[3]=a;break;case5:printf<"\n請輸入實驗課學(xué)分<0-20>:">;scanf<"%d",&a>;if<a>20>dd.stu[k].score[4]=20;elsedd.stu[k].score[4]=a;break; }printf<"\n\n繼續(xù)修改學(xué)生信息[1-yes0-no]:">;scanf<"%d",&b>;if<b==1> edit_data<>;elsesave_data<>;printf<"\n\n編輯學(xué)生記錄<學(xué)號-%s>成功!",no>;}}voidquery_data_no<>//查詢〔學(xué)號{inti,k;charno[10];printf<"\n請輸入要查詢學(xué)生的學(xué)號:">;scanf<"%s",no>;k=-1;for<i=0;i<dd.count;i++>{if<strcmp<dd.stu[i].no,no>==0>{if<k==-1>{printf<"\n\n學(xué)號\t姓名\t班級\t基礎(chǔ)課\t專業(yè)課\t選修課\t人文類課\t實驗課">;printf<"\n-----------------------------------------------------------------\n">;}k=i;printf<"%s\t%s\t%s\t%d\t%d\t%d\t%d\t%d\n",dd.stu[i].no,dd.stu[i].name,dd.stu[i].clas,dd.stu[i].score[0],dd.stu[i].score[1],dd.stu[i].score[2],dd.stu[i].score[3],dd.stu[i].score[4]>;}}if<k==-1>{printf<"\n\n沒有找到該學(xué)生<學(xué)號-%s>!",no>;}}voidquery_data_clas<>//查詢〔班級{inti,k;charclas[10];printf<"\n請輸入要查詢學(xué)生的班級:">;scanf<"%s",clas>;k=-1;for<i=0;i<dd.count;i++>{if<strcmp<dd.stu[i].clas,clas>==0>{if<k==-1>{printf<"\n\n學(xué)號\t姓名\t班級\t基礎(chǔ)課\t專業(yè)課\t選修課\t人文類課\t實驗課">;printf<"\n-----------------------------------------------------------------\n">;}k=i;printf<"%s\t%s\t%s\t%d\t%d\t%d\t%d\t%d\n",dd.stu[i].no,dd.stu[i].name,dd.stu[i].clas,dd.stu[i].score[0],dd.stu[i].score[1],dd.stu[i].score[2],dd.stu[i].score[3],dd.stu[i].score[4]>;}}if<k==-1>{printf<"\n\n沒有找到該班級-%s!",clas>;}}voidsort_data_no<>//排序〔學(xué)號{inti,k;structstudenttmp;k=dd.count-1;while<k>0>{for<i=0;i<k;i++>{if<strcmp<dd.stu[i].no,dd.stu[i+1].no>>0>//最大的放末尾{strcpy<tmp.no,dd.stu[i].no>;strcpy<,dd.stu[i].name>; strcpy<tmp.clas,dd.stu[i].clas>;tmp.score[4]=dd.stu[i].score[4]; tmp.score[3]=dd.stu[i].score[3]; tmp.score[2]=dd.stu[i].score[2]; t
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 消防管家面試題目及答案
- 項目組隊面試題目及答案
- 外企小組面試題目及答案
- 硚口區(qū)中考數(shù)學(xué)試卷
- 哪里找高等數(shù)學(xué)試卷
- 遼寧鐵嶺數(shù)學(xué)試卷
- 思政課與工匠精神融合的策略及實施路徑
- 全國各種初二數(shù)學(xué)試卷
- 去年七省監(jiān)考數(shù)學(xué)試卷
- 儲能電池更換與延續(xù)服務(wù)方案
- 應(yīng)急調(diào)度員電話壓力疏導(dǎo)
- DB43-T 2448-2022 公路邊坡地質(zhì)災(zāi)害智能監(jiān)測技術(shù)規(guī)程
- 農(nóng)戶建筑垃圾管理制度
- 2025年煙花爆竹安全作業(yè)特種操作證考試試卷備考建議
- 《中華人民共和國民營經(jīng)濟促進法》培訓(xùn)解讀課件
- 學(xué)??爝f驛站管理制度
- 四川電網(wǎng)新建電源并網(wǎng)服務(wù)指南(2025年)
- 補產(chǎn)假工資協(xié)議書
- 學(xué)生自主學(xué)習(xí)能力培養(yǎng)的關(guān)鍵路徑研究
- 《醫(yī)療英語口語》課件
- 電力公司參觀心得體會
評論
0/150
提交評論