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

正文內(nèi)容

工資管理系統(tǒng)設計論文-展示頁

2025-07-01 16:56本頁面
  

【正文】 Z tp[] int n)Insert函數(shù)用于在數(shù)組tp中插入記錄,并返回數(shù)組中的當前記錄數(shù)。9)Del()函數(shù)原型:int Del(ZGGZ tp[],int n)Del()函數(shù)用于現(xiàn)在數(shù)組tp中找到滿足條件的記錄,然后刪除記錄。并顯示出來。參數(shù)findmess[]保存要查找的具體內(nèi)容,nameornum[]保存按什么字段在數(shù)組tp中查找。5)Stringinput()函數(shù)原型:void Stringinput(char*t,int lens,char*notice) 164Stringinput()函數(shù)用于輸入字符串,并進行字符串長度驗證(長度lens),t用于保存輸?shù)淖址?,因為是以指針形式傳遞的,所以t相當于該函數(shù)的返回值notice用于保存printf()中輸出的提示信息。3)Disp()函數(shù)原型:void Disp(ZGGZtp[],int n)Disp()函數(shù)用于顯示 tp 數(shù)組中存儲的n 條記錄,內(nèi)容為employee 結(jié)構(gòu)中定義的內(nèi)容。.3 函數(shù)功能描述1)printheader()函數(shù)原型:void printheader()printheader()函數(shù)用于在以表格形式顯示出記錄時,打印輸出表頭信息。 }ZGGZ。float sk。float kk。 float jbgz。typedef struct employee /*標記為employee*/{ char num[10]。tp[i],sizeof(ZGGZ),1,fp)函數(shù),將數(shù)組元素tp[i]中各字段的值,寫入文件指針fp所指的文件;當把記錄輸出至屏幕時,調(diào)用void Disp()函數(shù),將數(shù)組中存儲的記錄信息以表格的形式在屏幕上打印出來。 該模塊的實現(xiàn)比較簡單,它主要通過依次讀取數(shù)組中元素的數(shù)據(jù)域中的實發(fā)工資的值進行比較判斷的形式,完成工資在各個等級的人數(shù)統(tǒng)計。其缺點則是會反復掃描數(shù)據(jù),比較相鄰的兩個元素,速度不快且沒有效率。gz[n]gz[0]gz[1]gz[2]``````gz[n2]gz[n1] 數(shù)組中對記錄 因為是按實發(fā)工資的降序排序,所以每進行一輪比較都會以交換位置的方式將該輪的最小者移向數(shù)據(jù)的尾端。第二輪:從gz【0】比到gz【n2】,實發(fā)工資字段值最小的元素存放在gz【n2】中。用偽代碼描述如下: 插入B1↓A0A1A2A3A4插入B1前A0A1A2B1A3A4插入B1后 數(shù)據(jù)中插入記錄示意圖if (左邊的值右邊的值) then此兩個元素的位置互換; else /*左邊的值=右邊的值*/此兩個元素的位置不變:右邊的元素繼續(xù)和下一個元素比較;,假設共有 個ZGGZ結(jié)構(gòu)數(shù)組元素gz【0】至gz【n1】,其具體比較過程如下。 冒泡排序法的基本思想為:將相鄰的兩個數(shù)組遠足的實發(fā)工資字段的值進行比較,若左邊的值小于右邊的值,則將此兩個元素的值進行交換;若左邊的值大于右邊的值,則此兩個值的位置不變。具體過程為:先調(diào)用Locate()函數(shù)找到A2在數(shù)組中的下標,從A4開始,往后移動,至A2停止移動,然后再原A3的位置插入元素B1.4) 排序記錄 冒泡排序法屬于內(nèi)部排序中的一種,這是運用數(shù)據(jù)值比較后,一句判斷規(guī)則對數(shù)據(jù)位置進行交換以達到排序的目的。搜先,他要求用戶輸入某個員工的職工編號,新的記錄將插入在該記錄之后;然后,提示用戶數(shù)輸入一條新的記錄的信息,這些信息保存在心結(jié)構(gòu)體類型的數(shù)組元素的個字段中;最后,將該元素插入已經(jīng)確認的位置的職工編號之后。2) 刪除記錄 刪除記錄操作完成刪除指定職員編號或姓名的記錄,他也分兩步完成。1) 修改記錄修改記錄的操作需要對數(shù)組中目標元素的數(shù)域中的值進行修改,他分兩步完成。因為記錄是以數(shù)組的結(jié)構(gòu)形式儲存的,所以這些操作都在數(shù)組中完成。在查詢函數(shù)Qur()中,為了遵循模塊化編程原則,我們將數(shù)組中進行的記錄定位操作設計成了一個單獨函數(shù)int Locate(ZGGZ tp[],char findmess[],char nameornum[]),參數(shù)findmess[]保存要查找的具體內(nèi)容,nameornum[]保存要查找的字段(職位字符串類型的num或者name),若找到該記錄,則返回指向該記錄的數(shù)組元素的下標,否則;返回一個—1的值。若該文件中沒有數(shù)據(jù),系統(tǒng)會提示數(shù)組為空,沒有任何記錄可操作,此時,用戶應選擇1,調(diào)用Add()函數(shù),進行記錄的輸入,即完成在數(shù)組中添加元素的操作。當從數(shù)據(jù)文件中讀出記錄時,它調(diào)用fread(amp。若選擇1,則調(diào)用Add()函數(shù),執(zhí)行增加記錄操作;若選擇2,則調(diào)用Del()函數(shù),執(zhí)行刪除記錄操作;若選擇3,則調(diào)用Qur()函數(shù),執(zhí)行查詢記錄操作;若選擇4,則調(diào)用Modify()函數(shù),執(zhí)行修改記錄操作;若選擇5,則調(diào)用Insert()函數(shù),執(zhí)行插入記錄操作;若選擇6,則調(diào)用Tongji()函數(shù),執(zhí)行統(tǒng)計記錄操作;若選擇7,則調(diào)用Sort()函數(shù),執(zhí)行按降序排序記錄的操作;若選擇88,則調(diào)用Save()函數(shù),執(zhí)行將記錄記錄存入磁盤中的數(shù)據(jù)文件的操作;若選擇9,則調(diào)用Disp()函數(shù),執(zhí)行將記錄以表格形式打印輸出至屏幕的操作;若輸入0~9之外的值,則調(diào)用Wrong()函數(shù),給出按鍵錯誤的提示。若輸入為0(即變量select=0),則會繼續(xù)判斷是否在對記錄進行更新操作之后進行了存盤操作,若未存盤,則全局變量saveflag=1,系統(tǒng)會提示用戶是否需要進行數(shù)據(jù)存盤操作,用戶輸入Y或y,系統(tǒng)會進行存盤操作。當打開文件操作成功后,則從文件中一次讀出一條記錄,添加到新建的數(shù)組中,然后執(zhí)行顯示主菜單和進入主循環(huán)操作,進行按鍵判斷。1. 主控main()函數(shù)執(zhí)行流程工資管理系統(tǒng)執(zhí)行流程如后圖所示。在此工資管理系統(tǒng)中,實現(xiàn)對記錄的修改、刪除、插入、和排序操作。(3) 更新記錄模塊。在此工資管理系統(tǒng)中,用戶可以按照職工編號或姓名在數(shù)組中進行查找。(2) 查詢記錄模塊。記錄由職工的基本信息和工資信息字段構(gòu)成。輸入記錄模塊主要完成將數(shù)據(jù)存入數(shù)組中的工作。整個系統(tǒng)由如下幾大功能模塊組成。通過本程序的訓練,使我對C語言的文件操作有了一個更深刻的了解,掌握利用數(shù)組存儲結(jié)構(gòu)實現(xiàn)工資管理的原理,為進一步開發(fā)出高質(zhì)量的信息管理管理系統(tǒng)打下堅實的基礎(chǔ)。 工資管理系統(tǒng) 本程序旨在訓練基本的編程能力,了解管理信息系統(tǒng)的開發(fā)流程,熟悉C語言的文件和結(jié)構(gòu)數(shù)組的各種基本操作。本程序中涉及結(jié)構(gòu)體、數(shù)組、文件等方面的知識。 如后圖所示,與利用單鏈表實現(xiàn)的學生管理系統(tǒng)不同的是,此工資管理系統(tǒng)主要利用數(shù)組來實現(xiàn),其數(shù)組元素是結(jié)構(gòu)體類型。(1) 輸入記錄模塊。在此工資管理系統(tǒng)中,記錄可以從以二進制形式存儲的數(shù)據(jù)文件中讀入,也可以從鍵盤逐個輸入記錄。當從數(shù)據(jù)文件中讀入記錄時,它就是在以記錄為單位存儲的數(shù)據(jù)文件中,將記錄逐條復制到數(shù)組元素中。查詢記錄主要完成在數(shù)組中查詢滿足相關(guān)條件的記錄。若找到該記錄,則以表格形式打印出此記錄的信息;否則,返回一個1的值,并打印出未找到該記錄的提示信息。更新記錄模塊主要完成對記錄的維護。一般而言,系統(tǒng)進行了這些操作之后,需要將修改的的數(shù)據(jù)存入源數(shù)據(jù)文件。它先以可讀寫的方式打開數(shù)據(jù)文件,此文件默認為“c:\zggz”,如該文件不存在,則新建此文件。在判斷鍵值時,有效的輸入為0~9之間的任意數(shù)值,其他輸入都被視為錯誤按鍵。最后,系統(tǒng)執(zhí)行退出工資管理系統(tǒng)的操作。2 輸入記錄模塊輸入記錄模塊主要實現(xiàn)將數(shù)據(jù)存入數(shù)組中。gz[count],sizeof(ZGGZ),1,fg)文件讀取函數(shù),執(zhí)行一次從文件中讀取一條工資記錄信息存入某個數(shù)組元素中德操作,并且這個操作在main()中調(diào)用執(zhí)行,即在工資管理系統(tǒng)進入顯示菜單界面時,該操作已經(jīng)執(zhí)行了。查詢記錄模塊主要實現(xiàn)在數(shù)組中按職工編號或姓名查找滿足相關(guān)條件記錄。 更新記錄模塊主要實現(xiàn)對記錄的修改、刪除、插入和排序操作。下面分別介紹著4個功能模塊。第一步,輸入要修改的職員編號,輸入后調(diào)用定位函數(shù)Locate()在數(shù)組中逐個對職員編號字段的值進行比較,直到找到該職員的編號記錄;第二步,若找到該記錄,則修改除職工編號之外的各字段的值,并將存盤標記變量savegflag置1,表示已經(jīng)對記錄進行了修改,但還未執(zhí)行存盤操作。第一步,輸入要修改的職員編號,輸入后調(diào)用定位函數(shù)Locate()在數(shù)組中逐個對職員編號字段的值進行比較,直到找到該職員的編號記錄,并返回指向該記錄的數(shù)組元素下標;第二步,若找到該記錄,則從該記錄所在元素的后續(xù)元素起,依次向前移一個元素位置,有值的數(shù)組元素個數(shù)減1.3) 插入記錄 插入記錄操作完成在指定職工編號的隨后位置插入新的記錄。新的元素B1準備插入至已有5個元素的數(shù)組中,插入位置為元素A2之后。針對數(shù)組結(jié)構(gòu)的特點,這里采用這種排序法萊實現(xiàn)按實發(fā)工資字段的值從高到底對記錄進行排序。右邊的值繼續(xù)和下一個值做比較,重復此動作,直到比較到最后一個值。第一輪:從gz【0】比到gz【n1】,實發(fā)工資字段值最小的元素存放在gz【n1】中。```````第n1輪:從gz【0】比到gz【1】,實發(fā)工資字段值最小的元素存放在gz【1】中。冒泡排序法的優(yōu)點是,若數(shù)組元素已有部分排好序,則使用冒泡排序法可以快速地完成排序。它屬于穩(wěn)定排序法。當把記錄輸出至文件時,調(diào)用fwrite(amp。進入while(1)主循體輸入0~9中的一數(shù)值,選擇相應操作判斷鍵值,調(diào)用相應函數(shù),完成相應功能輸入是否為0?是否已對修改進行了存盤調(diào)用save()函數(shù),進行寫數(shù)據(jù)文件操作結(jié)束開始以可讀寫的方式打開一個新的數(shù)據(jù)結(jié)構(gòu)類型的數(shù)組中將此文件的內(nèi)容讀出,并存入一個新的結(jié)構(gòu)體類型的數(shù)組中調(diào)用menu()菜單函數(shù)是否是否 主控函數(shù)執(zhí)行流程圖 數(shù)據(jù)結(jié)構(gòu)設計本程序定義了結(jié)構(gòu)體emplee,用于存放職工的基本信息和工資信息。 char name[15]。float jj。float yfgz。float sfgz。 其他字段的含義如下。num[10]:保存職工編號。name[1
點擊復制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1