已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
c程序課程設(shè)計(jì) -工資管理系統(tǒng) 指導(dǎo)老師: 班級(jí):u 設(shè)計(jì)目的本程序旨在訓(xùn)練讀者的基本編程能力,了解管理信息系統(tǒng)的開發(fā)流程,熟悉c語言的文件和結(jié)構(gòu)數(shù)組的各種基本操作。本程序中涉及結(jié)構(gòu)體、數(shù)組、文件等方面的知識(shí)。通過本程序的訓(xùn)練,使讀者能對(duì)c語言的文件操作有一個(gè)更深刻的了解,掌握利用數(shù)組存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn)工資管理的原理,為進(jìn)一步開發(fā)出高質(zhì)量的信息管理系統(tǒng)打下堅(jiān)實(shí)的基礎(chǔ)。u 功能描述 輸入記錄模塊輸入記錄模塊主要完成將數(shù)據(jù)存入數(shù)組中的工作。在此工資管理系統(tǒng)中,記錄可以從以二進(jìn)制形式存儲(chǔ)的數(shù)據(jù)文件中讀入,也可以從鍵盤逐個(gè)輸入記錄。記錄由職工的基本信息和工資信息字段構(gòu)成。 查詢記錄模塊查詢記錄模塊主要完成在數(shù)組中查找滿足相關(guān)條件的記錄。在此工資管理系統(tǒng)中,用戶可以按照職工編號(hào)或者姓名在數(shù)組中進(jìn)行查找。若找到改記錄,則以表格形式打印出此記錄的信息;否則返回一個(gè)-1的值,并打印出未找到改記錄的提示信息。 更新記錄模塊更新記錄模塊主要完成對(duì)記錄的維護(hù)。在此工資管理系統(tǒng)中,實(shí)現(xiàn)對(duì)記錄的修改、刪除、插入、排序操作。一般而言,系統(tǒng)進(jìn)行了這些操作后,需要將修改的數(shù)據(jù)存入源數(shù)據(jù)文件。 統(tǒng)計(jì)記錄模塊統(tǒng)計(jì)記錄模塊主要完成對(duì)公司員工的工資在各等級(jí)的人數(shù)統(tǒng)計(jì)。 輸出記錄模塊輸出記錄模塊主要完成兩個(gè)任務(wù):第一,它實(shí)現(xiàn)對(duì)記錄的存盤操作,即將數(shù)組中各元素的存儲(chǔ)的記錄信息寫入數(shù)據(jù)文件中。第二,它實(shí)現(xiàn)將數(shù)組中存儲(chǔ)的記錄信息以表格的形式在屏幕上打印出來。輸入記錄模塊從文件讀入從鍵盤輸入按姓名查詢按編號(hào)查詢修改記錄刪除記錄插入記錄排序記錄統(tǒng)計(jì)工資各等級(jí)人數(shù)輸出至文件輸出至屏幕查詢記錄模塊更新記錄模塊統(tǒng)計(jì)記錄模塊工資管理系統(tǒng)輸出記錄模塊工資管理系統(tǒng)功能模塊圖u 功能模塊設(shè)計(jì)和實(shí)現(xiàn) 輸入記錄模塊(必做)從文件讀入功能模塊該模塊主要是將數(shù)據(jù)存放在數(shù)組中。該模塊從數(shù)據(jù)文件中讀取所有記錄,通過多次調(diào)用fread()文件函數(shù),每次操作都是從文件中讀取一條工資記錄信息存入數(shù)組中的操作,并在main()中實(shí)現(xiàn)。若文件中無任何記錄,則提示記錄為0;如果有記錄,則提示讀取成功并輸出記錄個(gè)數(shù)。從鍵盤輸入功能模塊該模塊主要實(shí)現(xiàn)記錄從鍵盤上輸入,add函數(shù)實(shí)現(xiàn)。首先把文件中存在的記錄全部顯示出來,而后從鍵盤接收多次輸入記錄,如果職工編號(hào)重復(fù)則提醒重新輸入,輸入的記錄暫保存到結(jié)構(gòu)體數(shù)組中,輸入0回到主菜單。 查詢記錄模塊(必做)查詢模塊主要實(shí)現(xiàn)在結(jié)構(gòu)體數(shù)組中按職工編號(hào)或姓名查找滿足條件的記錄的功能,通過qur()函數(shù)來實(shí)現(xiàn)。提供兩種方式查詢:1為按照編號(hào)來查詢,2按照姓名來查詢;如找到查詢內(nèi)容則輸出記錄值,找不到則提示無此項(xiàng)記錄。 更新記錄模塊更新記錄模塊主要是實(shí)現(xiàn)對(duì)記錄的修改、刪除、插入、排序操作。所有這些操作都在數(shù)組中完成。修改記錄修改記錄操作需要對(duì)數(shù)組中目標(biāo)元素的數(shù)據(jù)域中的值進(jìn)行修改,分三步完成:首先顯示所有的記錄,然后輸入要修改的職工編號(hào),調(diào)用locate()函數(shù)定位該職工的編號(hào)記錄,第三步,若找到該記錄,則修改職工編號(hào)之外的各字段的值。刪除記錄刪除記錄操作完成刪除制定的職工編號(hào)或者姓名的記錄。也分三步完成:首先顯示所有的記錄,而后輸入要修的職工編號(hào)或者姓名,輸入后調(diào)用locate()函數(shù)定位該職工的記錄,第三步,若找到該記錄,則從該記錄所在元素的后續(xù)元素七,依次向前移一個(gè)元素位置,元素個(gè)數(shù)減1。插入記錄插入記錄操作完成在指定職工編號(hào)的隨后位置插入新的記錄。首先,它要求用戶輸入某個(gè)員工的職工編號(hào),新的記錄將插入在該記錄之后;然后提示用戶輸入一條新的記錄信息。排序操作排序操作主要實(shí)現(xiàn)按照實(shí)發(fā)工資降序排序。分兩步,首先輸出所有的記錄,而后按照冒泡排序法的思想進(jìn)行排序,輸出排序的結(jié)果。統(tǒng)計(jì)記錄模塊該模塊的實(shí)現(xiàn)比較簡(jiǎn)單,首先輸出所有的記錄,而后根據(jù)實(shí)發(fā)工資進(jìn)行判斷,完成工資在各個(gè)等級(jí)的人數(shù)統(tǒng)計(jì)。 輸出記錄模塊(必做)輸出至文件模塊該模塊是把保存在數(shù)組中的記錄保存到文件中。當(dāng)把記錄輸入至文件時(shí),調(diào)用fwrite( )函數(shù),即將數(shù)組元素中各字段的值都寫入文件中。輸出至屏幕模塊(必做)該模塊是把保存在數(shù)組中的記錄顯示到屏幕上,調(diào)用disp( )函數(shù),把所有的記錄都顯示。u 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)定義結(jié)構(gòu)體emolyee,用于存放職工的基本信息和工資信息。typedef struct empoyee char num10; 保存職工編號(hào) char name15; 保存職工姓名 float jbgz; 保存職工基本工資 float jj 保存職工獎(jiǎng)金 float kk; 保存職工扣款 float yfgz; 保存職工應(yīng)發(fā)工資 float sk; 保存職工稅款 float sfgz; 保存職工實(shí)發(fā)工資zggz;u 函數(shù)功能描述1 void printheader( ) 函數(shù)用于在以表格形式顯示記時(shí),打印輸出表頭信息。2 void printdata( zggz pp) 函數(shù)用于以表格顯示的方式,打印輸出單個(gè)數(shù)組元素中的記錄信息。3 void disp( zggz tp,int n)函數(shù)用于顯示數(shù)組中存儲(chǔ)的n條記錄,內(nèi)容為emplyee中的內(nèi)容。4 void wrong( )函數(shù)用于顯示錯(cuò)誤提示語句。5 void menu( ) 函數(shù)用于顯示主菜單,共有0-9個(gè)選擇。6 void nofound( ) 函數(shù)用于顯示未找到提示語句。7 float numberinput( char *notice)函數(shù)用于輸入數(shù)值型數(shù)據(jù),notice用于保存printf( )中輸出的提示信息。該函數(shù)返回用戶輸入的浮點(diǎn)類型數(shù)據(jù)值。8 void stringinput(char*t,int lens,char * notice )函數(shù)用于輸入字符串,并進(jìn)行字符串長(zhǎng)度驗(yàn)證(長(zhǎng)度小于lens),t用于保存輸入的字符串,因?yàn)槭侵羔樞问絺鬟f的,所以t相當(dāng)于函數(shù)的返回值。notice用于保存printf( )中輸出的提示信息。9 int locate( zggz tp,int n,char findmess,int nameornum)函數(shù)用于定位數(shù)組中符合要求的元素,并返回該數(shù)組元素的下標(biāo)值。參數(shù)findmess保存要查找的內(nèi)容,nameornum保存按什么字段在數(shù)組tp中查找。10 int add(zggz tp,int n )函數(shù)用于在數(shù)組tp中增加工資記錄元素,并返回?cái)?shù)組中的當(dāng)前記錄數(shù)。開始調(diào)用disp函數(shù)顯示所用記錄輸入為0?調(diào)用stringinput函數(shù)輸入編號(hào)輸入的內(nèi)容保存到結(jié)構(gòu)體數(shù)組中進(jìn)入while(1)循環(huán)結(jié)束回到主菜單ny編號(hào)存在?重新輸入?nnyyadd函數(shù)流程圖11 void qur(zggz tp,int n)函數(shù)用于在數(shù)組tp中按職工編號(hào)或者姓名查找滿足條件的記錄,并顯示記錄。開始提示是按編號(hào)查詢還是名字查詢編號(hào)?結(jié)束nyny數(shù)組內(nèi)容有?調(diào)用locate函數(shù)定位記錄輸出找到記錄找到?返回主菜單yn調(diào)用locate函數(shù)定位記錄找到?輸出找到記錄ny調(diào)用stringinput函數(shù)輸入查詢編號(hào)調(diào)用stringinput函數(shù)輸入查詢編號(hào)qur函數(shù)流程圖12 int del( zggz tp,int n)函數(shù)用于先在數(shù)組tp中找到滿足條件的記錄,然后刪除該記錄。開始提示是按編號(hào)刪除還是名字刪除編號(hào)?結(jié)束nyny數(shù)組內(nèi)容有?調(diào)用locate函數(shù)定位記錄刪除記錄找到?返回主菜單yn調(diào)用locate函數(shù)定位記錄找到?刪除記錄調(diào)用stringinput函數(shù)輸入刪除編號(hào)調(diào)用stringinput函數(shù)輸入刪除姓名yndel函數(shù)流程圖13 void modify(zggz tp,int n)函數(shù)用于在數(shù)組tp中修改記錄元素。開始調(diào)用disp函數(shù)顯示所有的記錄找到?結(jié)束ny數(shù)組內(nèi)容有?返回主菜單yn調(diào)用stringinput函數(shù)輸入修改編號(hào)調(diào)用locate函數(shù)定位記錄逐步修改數(shù)據(jù)調(diào)用disp函數(shù)顯示所有的記錄modify 函數(shù)流程圖14 int insert(zggz tp,int n)函數(shù)用于在數(shù)組tp中插入記錄,并返回?cái)?shù)組中的當(dāng)前記錄數(shù)。開始調(diào)用disp函數(shù)顯示所用記錄查詢插入編號(hào)存在?調(diào)用stringinput函數(shù)輸入編號(hào)輸入的內(nèi)容保存到結(jié)構(gòu)體數(shù)組中進(jìn)入while(1)循環(huán)結(jié)束回到主菜單ny重新輸入?ny調(diào)用disp函數(shù)顯示所用記錄insert函數(shù)流程圖15 void tongji(zggz tp,int n)函數(shù)用于在數(shù)組tp中完成記錄的統(tǒng)計(jì)工作,統(tǒng)計(jì)該公司職工工資的整體分布情況。16 void sort( zggz tp,int n)函數(shù)用于在數(shù)組tp中完成利用冒泡排序法實(shí)現(xiàn)數(shù)組的按實(shí)發(fā)工資字段的降序排序。17 void save(zggz
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度電梯門套工程節(jié)能補(bǔ)貼申請(qǐng)合同3篇
- 蘇州江蘇蘇州高新區(qū)(虎丘區(qū))市場(chǎng)監(jiān)督管理局公益性崗位招聘筆試歷年典型考點(diǎn)(頻考版試卷)附帶答案詳解版
- 工業(yè)互聯(lián)網(wǎng)平臺(tái)在智能制造成長(zhǎng)中的角色和挑戰(zhàn)
- 二零二五年度股權(quán)轉(zhuǎn)讓合同with估值與交割條件3篇
- 2025年度光纖網(wǎng)絡(luò)工程監(jiān)理與質(zhì)量保證合同3篇
- 家居智能化在整裝設(shè)計(jì)中的應(yīng)用研究
- 反思周記2000字【5篇】
- 二零二五年度海上集裝箱買賣與保險(xiǎn)代理服務(wù)合同范本3篇
- 2024年股權(quán)轉(zhuǎn)讓商務(wù)協(xié)議版
- 2024年版:房屋買賣合同模板精粹3篇
- 項(xiàng)目管理競(jìng)聘報(bào)告
- 數(shù)字美的智慧工業(yè)白皮書-2023.09
- 污水處理廠設(shè)備安裝施工方案
- 百分?jǐn)?shù)的認(rèn)識(shí)說課稿(課堂)課件
- 老年人能力評(píng)估標(biāo)準(zhǔn)解讀講義課件
- 材料報(bào)價(jià)三家對(duì)比表
- 焊接工序首件檢驗(yàn)記錄表
- (通橋【2018】8370)《鐵路橋梁快速更換型伸縮縫安裝圖》
- 針灸的作用原理和治療原則
- 標(biāo)準(zhǔn)輔助航空攝影技術(shù)規(guī)范
- 項(xiàng)目經(jīng)理部組織機(jī)構(gòu)
評(píng)論
0/150
提交評(píng)論