版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課程設(shè)計(jì)報(bào)告課程設(shè)計(jì)題目:學(xué)校工資信息管理系統(tǒng)學(xué)生姓名:駱寧來專業(yè):計(jì)算機(jī)應(yīng)用技術(shù)班 級(jí):.指導(dǎo)教師:李麗華2014 年 6 月 17 日可行性分析1引言1.1編寫目的可行性研究的目的是為了對(duì)問題進(jìn)行研究,以最小的代價(jià)在最短的時(shí)間內(nèi)確定問題是否可解經(jīng)過對(duì)此項(xiàng)目進(jìn)行詳細(xì)調(diào)查研究,初擬系統(tǒng)實(shí)現(xiàn)報(bào)告,對(duì)軟件開發(fā)中將要面 臨的問題及其解決方案進(jìn)行初步設(shè)計(jì)及合理安排。 明確開發(fā)風(fēng)險(xiǎn)及其所帶來的經(jīng) 濟(jì)效益。本報(bào)告經(jīng)審核后,交軟件經(jīng)理審查。1.2背景開發(fā)軟件名稱:學(xué)校內(nèi)部工資管理系統(tǒng)。項(xiàng)目與其他軟件,系統(tǒng)的關(guān)系:本項(xiàng)目采用客戶機(jī)/服務(wù)器原理,客戶端的程序是建立在 Windows NT系統(tǒng) 上以PB9.0開發(fā)
2、軟件的應(yīng)用程序,服務(wù)器端采用 Linux為操作系統(tǒng)的工作站, 是采用SQL 2000的為開發(fā)軟件的數(shù)據(jù)庫服務(wù)程序。1.3定義(1)員工考勤統(tǒng)計(jì)信息。包括的數(shù)據(jù)項(xiàng)有缺勤時(shí)間、缺勤天數(shù)、缺勤類別 等。這些信息可從考勤管理系統(tǒng)中獲取。(2)員工工種等信息。包括的數(shù)據(jù)項(xiàng)有工種等級(jí)、工種基本工資等。(3)員工津貼信息。包括的數(shù)據(jù)項(xiàng)有加班時(shí)間、加班天數(shù)、加班類別等。(4)員工醫(yī)療保險(xiǎn)信息。包括的數(shù)據(jù)項(xiàng)有醫(yī)療保險(xiǎn)時(shí)間、醫(yī)療費(fèi)用保險(xiǎn)、 社會(huì)保險(xiǎn)費(fèi)用等。(5)員工基本信息。包括的數(shù)據(jù)項(xiàng)有員工號(hào)、員工姓名、員工工種、員工 所屬部門等。(6)員工月工資信息。包括的數(shù)據(jù)項(xiàng)有生成工資的時(shí)間、基本工資、缺勤扣除、加班費(fèi)用
3、、醫(yī)療保險(xiǎn)費(fèi)、月應(yīng)發(fā)工資等。(7) 員工年終獎(jiǎng)金信息。包括的數(shù)據(jù)項(xiàng)有年份、員工的年終獎(jiǎng)金數(shù)額等。2可行性研究的前提2.1要求主要功能:工資管理涉及學(xué)校管理的多個(gè)方面, 如員工職務(wù)工種變化、員工 考勤情況、員工加班情況、員工醫(yī)療保險(xiǎn)等等。根據(jù)這些信息,在每個(gè)月的某個(gè) 固定時(shí)間,生成企業(yè)員工的月工資。對(duì)于月工資,能夠?qū)崿F(xiàn)按照員工、部門、月、 年、進(jìn)行統(tǒng)計(jì)分析,產(chǎn)生相應(yīng)報(bào)表。性能要求:在學(xué)校范圍內(nèi)統(tǒng)一各種原始單據(jù)的格式,統(tǒng)一賬目和報(bào)表的格式。刪除不必要的管理冗余,實(shí)現(xiàn)管理規(guī)范化、科學(xué)化。程序代碼標(biāo)準(zhǔn)化,軟件統(tǒng)一化,確保軟件的可維護(hù)性和實(shí)用性。能夠連接各個(gè)關(guān)聯(lián)的數(shù)據(jù)庫,獲取數(shù)據(jù)庫中的信息。保證各個(gè)數(shù)據(jù)
4、庫表格相 關(guān)的項(xiàng)目之間有相同的屬性。輸入要求:數(shù)據(jù)完整,詳實(shí)。輸出要求:簡(jiǎn)捷,快速,實(shí)時(shí)。安全與保密要求: 管理員享有對(duì)教職工工資信息的管理與修改。人事處只 享有對(duì)教職工個(gè)人信息信息庫的部分修改(寫入與讀出)。完成期限:預(yù)計(jì)2個(gè)月,即截止2013年1月。3.1系統(tǒng)的分析學(xué)校內(nèi)部的人事的管理,從大的方面分,主要集中在學(xué)校職員的個(gè)人情況, 工資細(xì)目,調(diào)入調(diào)出及用車等。所以該系統(tǒng)主要是實(shí)現(xiàn)對(duì)數(shù)據(jù)的錄入,插入,刪 除,網(wǎng)上查詢,統(tǒng)計(jì),更新,打印等功能。其次,為了信息的保密與安全,系統(tǒng) 還要提供一定的安全機(jī)制。根據(jù)以上系統(tǒng)的功能分析,該系統(tǒng)決定采用MDI風(fēng)格,它主要分為以下幾個(gè)模塊。文件模塊:此模塊實(shí)現(xiàn)
5、本系統(tǒng)對(duì)數(shù)據(jù)的打開,保存,打印預(yù)覽,打印及用戶管理等功能,并可由此推出系統(tǒng)信息管理模塊:此模塊實(shí)現(xiàn)系統(tǒng)的信息管理,包括對(duì)職工情況一覽表,職 工調(diào)入調(diào)出情況表,職工工資表及其它各表的信息數(shù)據(jù)的插入,刪除,修改,保 存等功能。查詢模塊:此模塊實(shí)現(xiàn)本系統(tǒng)的查詢功能,能將個(gè)人的基本情況,調(diào)入調(diào) 出情況,工資情況等檢索出來,并可實(shí)現(xiàn)多條件查詢和模糊查詢。統(tǒng)計(jì)模塊:此模塊用于對(duì)數(shù)據(jù)庫中的信息按照一定的規(guī)則進(jìn)行統(tǒng)計(jì)。系統(tǒng)服務(wù)模塊:此模塊用來系統(tǒng)管理人員設(shè)置密碼和對(duì)系統(tǒng)的功能和開發(fā) 信息進(jìn)行介紹等。以根據(jù)要求修改員工工資。如果系統(tǒng)沒有檢測(cè)到該員工的信息則返回上一 層,管理員重新輸入員工信息,直到查到該員工的信
6、息,并進(jìn)行修改位置。如果登錄者不是管理員,只是普通員工的帳號(hào),則進(jìn)入普通帳號(hào)界面,輸入 要查詢的員工號(hào),系統(tǒng)自動(dòng)判斷該員工號(hào)是否存在,如果存在則顯示該員工的工 資信息。如果該員工號(hào)不存在則返回上一層界面。3.2工作負(fù)荷(1) 員工每個(gè)工種基本工資的設(shè)定。(2) 企業(yè)工資報(bào)表的生成。支持各種形式的報(bào)表,如單個(gè)員工工資報(bào)表的生 成、部門員工工資報(bào)表的生成、按照月份統(tǒng)計(jì)工資報(bào)表的生成等。(3 )管理員可以查詢、更改任何員工的工資。(4) 員工可以憑工號(hào)查詢員工工資。(5) 工資管理系統(tǒng)的使用幫助。(6) 現(xiàn)有工資管理系統(tǒng)需要根據(jù)公司的經(jīng)營(yíng)狀況以及人員變動(dòng)對(duì)工作量進(jìn)行 分配。當(dāng)公司調(diào)入新職員時(shí),需要對(duì)
7、系統(tǒng)進(jìn)行職員更新即插入操作等以及隨時(shí)對(duì) 數(shù)據(jù)庫進(jìn)行不斷的更新。任務(wù)繁重,工作量大。3.3軟件設(shè)計(jì)環(huán)境C語言ion,.二需求分析1.1數(shù)據(jù)流圖學(xué)校內(nèi)部工資管理系統(tǒng)頂層 DFD圖職工基本信息 、職工出勤職工工資報(bào)表 學(xué)校內(nèi)部工單職工出勤資管理系統(tǒng)信息.職工工資信息標(biāo)題學(xué)校內(nèi)部工資管理系統(tǒng)1層DFD圖7標(biāo)題學(xué)校內(nèi)部工資管理系統(tǒng)2層DFD圖(1)出勤工資、獎(jiǎng)金扣款清單職工工資信息P2.1/P2.2息信資工準(zhǔn)標(biāo)工職職工工資信息生成職工基本信息表財(cái)務(wù)處職工信-息整理發(fā)送職工工資條各系部學(xué)校內(nèi)部工資管理系統(tǒng)2層DFD (2)P3.1一建立職工出缺 勤信息職工基本信息表職工出缺勤信息P3.2制作職工出缺勤信
8、息統(tǒng)計(jì)表職工出缺勤信息職工出缺勤信息表151.2數(shù)據(jù)字典數(shù)據(jù)字典是軟件分析過程中對(duì)數(shù)據(jù)的描述, 是數(shù)據(jù)流圖的必不可少的輔助資 料。數(shù)據(jù)字典的定義和數(shù)據(jù)流圖是同時(shí)進(jìn)行的, 每當(dāng)完成一張數(shù)據(jù)流圖時(shí),都需 要對(duì)該數(shù)據(jù)流圖中的成分進(jìn)行完整的定義, 數(shù)據(jù)字典是需求分析階段一個(gè)重要的 工具,通過在數(shù)據(jù)字典中建立一組嚴(yán)密一致的數(shù)據(jù)定義可以幫助軟件分析人員和 用戶之間交流,同時(shí)也有助于軟件人員之間的交流,容易達(dá)到對(duì)數(shù)據(jù)的統(tǒng)一認(rèn)識(shí)。(1) 外部實(shí)體的數(shù)據(jù)字典外部實(shí)體名稱:各部門簡(jiǎn)述:提交職工的基本信息和出勤情況輸入數(shù)據(jù)流:職工工資單輸出數(shù)據(jù)流:職工基本信息外部實(shí)體名稱:銀行簡(jiǎn)述:對(duì)職工二工資進(jìn)行轉(zhuǎn)賬的部門輸入數(shù)
9、據(jù)流:職工工資信息f.:n.tron外部實(shí)體名稱:人事處簡(jiǎn)述:對(duì)職工添加,刪除進(jìn)行管理的部門輸入數(shù)據(jù)流:職工出勤信息輸出數(shù)據(jù)流:職工出勤報(bào)表(2)數(shù)據(jù)元素的數(shù)據(jù)字典數(shù)據(jù)項(xiàng)名稱:?jiǎn)T工工號(hào)類型:char長(zhǎng)度:10說明:學(xué)校分發(fā)給每個(gè)職工的編號(hào) 備注:無數(shù)據(jù) 類型 長(zhǎng)度 說明 備注項(xiàng)名稱:姓名char8員工的個(gè)人姓名無數(shù)據(jù) 類型 長(zhǎng)度 說明 備注項(xiàng)名稱:性別char2員工的所擁有的性別無數(shù)據(jù) 類型 長(zhǎng)度 說明 備注項(xiàng)名稱:基本工資數(shù)字8員工的得到的工資 無數(shù)據(jù)項(xiàng)名稱:上課工資 類型:數(shù)字長(zhǎng)度:8說明:?jiǎn)T工根據(jù)上課的課時(shí)得到工資 備注:無數(shù)據(jù)項(xiàng)名稱:其他費(fèi)用類型:數(shù)字長(zhǎng)度:8說明:?jiǎn)T工在職期間的其他費(fèi)
10、用 備注:無(3) 數(shù)據(jù)流的數(shù)據(jù)字典 名稱:職工基本信息簡(jiǎn)要說明:職工的個(gè)人信息數(shù)據(jù)來源:各系部數(shù)據(jù)流向:職工基本信息管理子系統(tǒng) 數(shù)據(jù)流的組成:工號(hào)+姓名+性別名稱:職工工資單簡(jiǎn)要說明:職工的工資條數(shù)據(jù)來源:職工工資子系統(tǒng)數(shù)據(jù)流向:各系部數(shù)據(jù)流的組成:工號(hào)+姓名+工資單月份+基本工資+崗位津貼+加班工資 +生活補(bǔ)貼+業(yè)績(jī)獎(jiǎng)金+上課工資+養(yǎng)老保險(xiǎn)+醫(yī)療費(fèi)用+失業(yè)金+公積金+ 缺勤扣費(fèi)+房租+水電費(fèi)+代扣所得稅+應(yīng)發(fā)工資+扣款總額+實(shí)發(fā)工資f.:n.tron名稱:基本出勤信息簡(jiǎn)要說明:每個(gè)月20號(hào)把出勤信息上報(bào)人事處數(shù)據(jù)來源:人事處數(shù)據(jù)流向:職工出勤子系統(tǒng)數(shù)據(jù)流的組成:工號(hào)+姓名+出勤信息名稱:職
11、工工資信息簡(jiǎn)要說明:所有職工的工資信息集合數(shù)據(jù)來源:職工工資子系統(tǒng)數(shù)據(jù)流向:銀行數(shù)據(jù)流的組成:工號(hào)+姓名+實(shí)發(fā)工資(4)處理過程的數(shù)據(jù)字典名稱:職工工資信息生成說明:人事處將根據(jù)出勤情況和職工的基本信息生成的職工工資信息 輸入:人事處輸出:生成職工工資信息表處理:人事處根據(jù)出勤情況和所得獎(jiǎng)金以及扣款情況以及職工個(gè)人的 基本信息生成一個(gè)基本工資表 名稱:財(cái)務(wù)處處理職工信息整理發(fā)送說明:財(cái)務(wù)處根據(jù)職工工資基本信息整理后送往各系部和銀行輸入:職工工資基本信息表輸出:將職工工資信息生成工資表和工資條送往銀行和各系部處理:財(cái)務(wù)處通過工資表和職工基本信息表整理生成工資條和工資表 送往各系部和銀行(5) 數(shù)
12、據(jù)存儲(chǔ)的數(shù)據(jù)字典數(shù)據(jù)存儲(chǔ)名稱:職工工資信息表說明:按職工工號(hào)給職工發(fā)的基本工資數(shù)據(jù)存儲(chǔ)組成:工號(hào)+姓名+工資單月份+基本工資+崗位津貼+加班工資+ 生活補(bǔ)貼+業(yè)績(jī)獎(jiǎng)金+上課工資+養(yǎng)老保險(xiǎn)+醫(yī)療費(fèi)用+失業(yè)金+公積金+缺勤 扣費(fèi)+房租+ 水電費(fèi)+代扣所得稅+應(yīng)發(fā)工資+扣款總額+實(shí)發(fā)工資關(guān)鍵字:工號(hào)有關(guān)的數(shù)據(jù)流:無數(shù)據(jù)存儲(chǔ)名稱:職工基本信息表說明:職工的個(gè)人信息數(shù)據(jù)存儲(chǔ)組成:工號(hào)+姓名+性別+密碼關(guān)鍵字:工號(hào)有關(guān)的數(shù)據(jù)流:無2輸入輸出要求數(shù)據(jù)描述2.1用戶登錄信息表字段字段名數(shù)據(jù)類型寬度(字節(jié))1用戶ID字符152用戶密碼字符203用戶身份字符104所屬部門字符205職務(wù)字符206身份證號(hào)字符187
13、銀行帳號(hào)字符202.2工資計(jì)算標(biāo)準(zhǔn)表字段字段名數(shù)據(jù)類型寬度(字節(jié))1員工ID字符152部門ID字符203基本工資整型84獎(jiǎng)金比率浮點(diǎn)型85罰金比率浮點(diǎn)型86扣稅總額浮點(diǎn)型87工資總額浮點(diǎn)型88統(tǒng)計(jì)日期日期f.:n.tron2.3出勤匯總表字段字段名數(shù)據(jù)類型寬度1員工ID字符15字節(jié)2應(yīng)出勤時(shí)間整型4字節(jié)3實(shí)際出勤時(shí)間整型4字節(jié)4請(qǐng)假時(shí)間整型4字節(jié)5無故缺勤時(shí)間整型4字節(jié)24銀行發(fā)放工資表字段字段名數(shù)據(jù)類型寬度1銀行名字符30字節(jié)2工資表單號(hào)字符30字節(jié)3發(fā)放時(shí)間日期3需求規(guī)定3.1對(duì)功能的規(guī)定(1) 用戶的登錄及退出:用戶登錄后,可以查詢當(dāng)月及年度的工資信息并打 印工資條,用戶可以修改用戶密碼
14、,完成一切任務(wù)后用、用戶可以安全退出(2) 系統(tǒng)用戶管理:實(shí)現(xiàn)對(duì)用戶數(shù)據(jù)的修改,刪除等相關(guān)操作。(3) 用戶信息管理:實(shí)現(xiàn)對(duì)用戶信息的添加、修改及刪除等相關(guān)操作。(4) 工資標(biāo)準(zhǔn)設(shè)立:根據(jù)職工的職務(wù)、職稱等其他信息設(shè)定職工的工資的標(biāo)準(zhǔn)三概要設(shè)計(jì)1.1結(jié)構(gòu)學(xué)校內(nèi)部丄資管理糸統(tǒng)用戶登錄工資標(biāo)準(zhǔn)設(shè)立用戶退出用戶信息管理職務(wù)工資標(biāo)準(zhǔn)設(shè)立|職稱工資標(biāo)準(zhǔn)設(shè)立打印工資 條r J修改密 碼查詢丄 資用戶數(shù)據(jù)查找及其他工資標(biāo)準(zhǔn) 設(shè)立用戶數(shù)據(jù)刪除及 輸入用戶數(shù)據(jù)添加及 插入(由于繪圖軟件的問題,無法容納這么多表,故,用戶信息管理中的六個(gè)子模塊 合并成了三個(gè)進(jìn)行書寫)1.2功能需求與模塊的關(guān)系(1) 用戶需要登錄系
15、統(tǒng)才能進(jìn)行工資信息的查詢及打印,并修改用戶密碼(2) 系統(tǒng)管理員需要對(duì)職工信息進(jìn)行添加、修改、刪除等操作就需要用到用戶信息管理模塊。(3) 工資標(biāo)準(zhǔn)要根據(jù)職稱,職位等的不同進(jìn)行設(shè)定。就需要用到工資標(biāo)準(zhǔn)設(shè)立模塊f.:n.tron2.1外部接口運(yùn)行本軟件要求處理器在奔騰III以上、內(nèi)存在256MB以上的計(jì)算機(jī)。能夠支持、Windows 2000、Windows XP 及 windows 7 的運(yùn)行環(huán)境2.2內(nèi)部接口本系統(tǒng)內(nèi)部元素之間主要通過數(shù)據(jù)庫接口完成相應(yīng)功能。登錄模塊:完成對(duì)用戶身份的驗(yàn)證。初始化模塊:在身份驗(yàn)證后,系統(tǒng)調(diào)用初始化操作,執(zhí)行完畢后進(jìn)入消息循 環(huán)狀態(tài)。查找模塊:由相應(yīng)消息驅(qū)動(dòng),完
16、成對(duì)信息進(jìn)行查看功能。刪除模塊:具有此權(quán)限的用戶完成對(duì)信息刪除功能。打印模塊:實(shí)現(xiàn)用戶從系統(tǒng)打印功能。退出模塊:實(shí)現(xiàn)用戶從系統(tǒng)退出功四系統(tǒng)實(shí)現(xiàn)1.1系統(tǒng)登錄界面系統(tǒng)用戶在該界面輸入正確的工號(hào)、密碼和驗(yàn)證碼即可登錄該系統(tǒng)。登錄模 塊會(huì)自動(dòng)的判斷用戶輸入的工號(hào)的權(quán)限。如果輸入的工號(hào)是admi n,則系統(tǒng)默認(rèn)轉(zhuǎn)向管理員主界面;如果輸入的是其他的工號(hào),系統(tǒng)會(huì)檢查是否有該用戶的工資 信息,若有,則進(jìn)入該用戶的工資查詢界面,若沒有,則提示“沒有您的工資單” o1.2系統(tǒng)管理員管理主界面及工資匯總界面系統(tǒng)管理員(即人事處管理員)通過該頁面可以連接到其他的頁面(其他頁 面包括:用戶管理頁面、添加工資單頁面、查
17、詢教職工工資、修改及刪除教職工 工資等),該頁面分頁匯總顯示了所有教職工的工資詳細(xì)信息,管理員可以對(duì)各 教職工的工資信息進(jìn)行添加、修改和刪除。1.3教職工查詢工資主界面教職工用戶通過輸入正確的工號(hào)、密碼和驗(yàn)證碼即可登錄自己的工資查詢主 頁面,在此頁面中,教職工可以查詢自己近幾個(gè)月的工資詳細(xì)信息,也可以對(duì)自己的登錄密碼進(jìn)行修改。同時(shí),能打印出自己需要的工資單。1.4用戶管理界面該頁面由管理員來操作,通過系統(tǒng)管理員主頁面可以訪問該頁面。 主要是對(duì) 教職工的個(gè)人信息進(jìn)行匯總、添加、修改和刪除等操作。1.5添加工資單界面該頁面由管理員來操作,通過系統(tǒng)管理員主頁面可以訪問該頁面。 主要是對(duì) 教職工的工資
18、信息進(jìn)行添加,添加時(shí)可以選擇所添加工資信息的月份。1.6密碼修改界面該頁面主要實(shí)現(xiàn)的是用戶密碼的修改。不同的用戶登錄系統(tǒng)后,均能對(duì)自己 的登錄密碼進(jìn)行修改。1.7工資單打印界面該頁面主要實(shí)現(xiàn)的是工資單的打印。系統(tǒng)管理員登錄后能打印所有教職工的 工資單,教職工登錄后僅能打印本人的工資單。五課程設(shè)計(jì)總結(jié)六程序代碼因?yàn)槲覀冃〗M成員編程的水平實(shí)在是很一般,無法全面系統(tǒng)的實(shí)現(xiàn)該軟件的 所有功能。所以,我們就選取一部分內(nèi)容進(jìn)行編程, 我們主要對(duì)該軟件的用戶信 息管理模塊的六個(gè)子模塊進(jìn)行了編碼, 編碼總體上由王雪峰負(fù)責(zé)。其他小組成員 主要負(fù)協(xié)助工作。插入及添加模塊有王雪峰和任深圳共同完成。修改及刪除模塊 由
19、王雪峰完成,查找及輸入模塊有王雪峰和楊博仁,楊科共同完成。#i nclude <stdio.h>#i nclude <stdlib.h>#i nclude <malloc.h>#in clude <stri ng.h>#in clude <coni o.h>#define TITLE"'n月份工號(hào) 姓名應(yīng)發(fā)工資 各種折扣 實(shí)發(fā)工資n"#defi neDATA"%2d %4ld %-10s%6.1f%6.1f%6.1fn" ,p1->m on th,p1-> nu m,p1-&
20、gt;n ame,p1->should_pay,p1->rebate,p1->actual_pay typedef struct paylong num;short mon th;char n ame20;float gw,j n, zw,zl,jt,yj;float should_pay;float fz,gj,sd,others;float rebate;float actual_pay;struct pay *n ext;PAY;FILE *fp;PAY *卩仁 NULL,*p2=NULL,*head=NULL;void menu();PAY *in put();voi
21、d output。;void save(PAY *head);PAY *ope n();PAY *in sert(); void search();PAY *del();PAY *revise();/* 菜單 */void mai n(void)short sel;domenu();scan f("%d", &sel);switch(sel)case 1:head=in put();/用戶數(shù)據(jù)添加模塊break;case 2:head=i nsert();/用戶數(shù)據(jù)插入模塊break;case 3:head=revise();/用戶數(shù)據(jù)修改模塊break;case
22、4:head=del();用戶數(shù)據(jù)刪除模塊break;case 5:search();用戶數(shù)據(jù)查找模塊break;case 6:output();/用戶數(shù)據(jù)輸出模塊break;case 0:break;while(sel!=O);仃f.:n.tronvoid menu()prin tf("nnnnnnn");printf("tttt * 主菜單選項(xiàng) *nn”);printf("tttt1.創(chuàng)建職工工資信息n");printf("tttt2.添加職工工資信息n");printf("tttt3.修改職工工資信息n&qu
23、ot;);printf("tttt4.刪除職工工資信息n");printf("tttt5.查找職工工資信息n");printf("tttt6.信息列表分類 n”);printf("tttt7.保存信息 n");printf("tttt0.退出 n");prin tf("nnnnnnnn");/*用戶數(shù)據(jù)添加模塊*/PAY *in put()short n=1;p仁(PAY*)malloc(sizeof(PAY);if(p1=NULL)printf("內(nèi)存不足,無法創(chuàng)建鏈表!&
24、quot;);getch();printf("n請(qǐng)輸入第%d位職工的信息(以工號(hào)為 0結(jié)束):n",n);prin tf("工號(hào):");scan f("%d", &p1-> num);if(p1- >num=0)printf("按任意鍵返回!");getch();free(p1);return 0;getchar();prin tf("姓名:");gets(p1- >n ame);prin tf("工資月份:");scan f("%d&qu
25、ot;, &p1->mo nth);prin tf("基本工資,級(jí)別工資,職務(wù)津貼,工齡津貼,其他津貼,績(jī)效獎(jiǎng)勵(lì):n");scan f("%f,%f,%f,%f,%f,%f", &p1->gw, &p1->j n,&p1->zw,&p1->zl,&p1->jt,&p1->yj);prin tf("房租扣款,公積金,水電費(fèi),其它扣款: n");scan f("%f,%f,%f,%f",&p1->fz, &a
26、mp;p1->gj,&p1->sd,&p1->others);p1->should_pay=p1->gw+p1->j n+p1_>zw+p1_>zl+p1_>jt+p1_>yj; p1_>rebate=p1_>fz+p1_>gj+p1_>sd+p1_>others;p1->actual_pay=p1->should_pay-p1->rebate;while(p1!=NULL)if(n=1)head=p1;elsep2->n ext=p1;n+;p2=p1;p仁(PA
27、Y*)malloc(sizeof(PAY);if(p1=NULL)printf("內(nèi)存不足,無法創(chuàng)建鏈表!”);getch();printf(”請(qǐng)輸入第%d位職工的信息(以工號(hào)為 0結(jié)束):n",n);prin tf("工號(hào):”);scan f("%d",&p1-> num);getchar();if(p1- >num=0)p仁 NULL;break;prin tf("姓名:");gets(p1- >n ame);printf("工資月份:”);n");scan f("
28、%d",&p1->mo nth);prin tf("基本工資,級(jí)別工資,職務(wù)津貼,工齡津貼,其他津貼,績(jī)效獎(jiǎng)勵(lì):scan f("%f,%f,%f,%f,%f,%f",&p1->gw,&p1->j n,&p1->zw, &p1->zl, &p1->jt, &p1->yj);printf(”房租扣款,公積金,水電費(fèi),其它扣款:n ”);scan f("%f,%f,%f,%f",&p1->fz,&p1->gj,&am
29、p;p1->sd,&p1->others);p1->should_pay=p1->gw+p1->j n+p1_>zw+p1_>zl+p1_>jt+p1_>yj;p1_>rebate=p1_>fz+p1_>gj+p1_>sd+p1_>others;p1->actual_pay=p1->should_pay-p1->rebate;p2-> next=NULL;/edit by Yan -Xi ngyu Class Network-021printf("職工信息已輸入,請(qǐng)按任
30、意鍵返回,并存盤 ");getch();retur n head;23/*用戶數(shù)據(jù)輸出模塊*/void output。short sel,flag,m on th;float min, max;dodoprintf("nn請(qǐng)選擇您的列表方式:n");printf("tt1.全部清單 n");printf("tt2.按月輸出 n");printf("tt3.按工資段輸出 n");printf("ttO.返回 n");sca nf("%d", &sel);whi
31、le(sel!=1 &&sel!=2&&sel!=3&&sel!=0);head=ope n();if(head=NULL)return;elseswitch(sel)case 1:printf("nttt* 全部清單 *n");prin tf(TITLE);p仁head;doprin tf(DATA);p1=p1- >n ext;while(p1!=NULL);break;case 2:flag=0;printf("輸入要查的月份:");scan f("%d",&mon
32、th);printf("nttt* 第 %d 月工資清單 *n",month);prin tf(TITLE);p1=head;doif(p1->mo nth=mo nth)prin tf(DATA);p1=p1- >n ext;flag=1;elsep1=p1- >n ext;while(p1!=NULL);if(flag=0)printf("沒有該月清單n");break;case 3:flag=0;printf("輸入最低工資:");scan f("%f', &min);printf(&
33、quot;輸入最高工資:");scan f("%f", &max);printf("ntt*%5.1f 到 %5.1f 工資的名單 *n",min,max);prin tf(TITLE);p仁head;doif(p1->actual_pay> min&&p1->actual_pay<max)prin tf(DATA);p1=p1- >n ext;flag=1;elsep1=p1- >n ext;while(p1!=NULL);if(flag=0)printf("沒有該工資段的
34、職工n");break;case 0:break;while(sel!=0);/*打開文件*/PAY *ope n()short n=1,read;fp=fope n( "pay.txt","r");f.:n.tronif(fp=NULL)printf(”無法打開檔案文件!");getch();return NULL;if(p仁p2=(PAY*)malloc(sizeof(PAY)=NULL) printf("內(nèi)存不足!”);getch();return NULL;read=fread(p1,sizeof(PAY),1,fp
35、);if(!read)printf("文件讀取出錯(cuò)!1");getch();return NULL;if(p1-> next=NULL)head=p1;elsedoif(n=1) head=p1;elsep2->n ext=p1;n+;p2=p1;if(p 仁(PAY*)malloc(sizeof(PAY)=NULL)printf("內(nèi)存不足! ”); getch();return NULL;read=fread(p1,sizeof(PAY),1,fp);if(!read)printf("文件讀取出錯(cuò)!2");getch();ret
36、urn NULL;while(p1-> next!=NULL);p2->n ext=p1;retur n head;fclose(fp);/*用戶數(shù)據(jù)插入模塊*/PAY *in sert()PAY *p3=NULL;char sel;head=ope n();if(head=NULL)return NULL;elsedoprintf("請(qǐng)輸入要插入的職工信息:n"); p3=(PAY*)malloc(sizeof(PAY);if(p3=NULL)printf("內(nèi)存不足,無法創(chuàng)建鏈表!”);getch();prin tf("工號(hào):"
37、);sca nf("%d",&p3-> nu m);getchar();prin tf("姓名:");gets(p3->n ame);prin tf("工資月份:");:n");sca nf("%d",&p3->mo nth);prin tf("基本工資,級(jí)別工資,職務(wù)津貼,工齡津貼,其他津貼,績(jī)效獎(jiǎng)勵(lì)sca nf("%f,%f,%f,%f,%f,%f", &p3->gw,&p3->j n,&p3->
38、zw,&p3->zl,&p3->jt,&p3->yj); prin tf("房租扣款,公積金,水電費(fèi),其它扣款:n");sca nf("%f,%f,%f,%f",&p3->fz,&p3->gj,&p3->sd,&p3->others); p3->should_pay=p3->gw+p3->j n+p3_>zw+p3_>zl+p3_>jt+p3_>yj;p3_>rebate=p3_>fz+p3_>gj
39、+p3_>sd+p3->others; p3->actual_pay=p3->should_pay-p3->rebate;p仁head;while(p1!=NULL)p2=p1;p1=p1- >n ext;31'p2->n ext=p3;p3-> next=NULL;printf("成功插入,是否繼續(xù)?是( Y) 否(N) n");sel=getch();while(sel='Y'|sel='y');printf("n任意鍵返回,并存盤 n");getch();ret
40、ur n head;/*用戶數(shù)據(jù)查找模塊*/void search()short sel;long num;char n ame20,choose;head=ope n();if(head=NULL)return;elsedodoprintf("n選擇查找方式:n");printf("tt1.按工號(hào)查找 n");printf("tt2.按姓名查找 n");scan f("%d", &sel);getchar();while(sel!=1 &&sel!=2);switch(sel)case 1
41、:printf("輸入要查的工號(hào):");scan f("%ld", &nu m);break;case 2:printf("輸入要查的姓名:");gets (n ame);break;p仁head;while(p1->next!=NULL)&&(p1->num!=num)&&(strcmp(p1->name,name)!=0)/ 用成 p1!=NULL有問題?p1=p1- >n ext;if(p1- >num=nu m)|strcmp(p1- >n ame ,
42、n ame)=O) printf("您要查找的信息如下:n");prin tf(TITLE);prin tf(DATA);elseprintf("沒有該信息!n");printf("是否繼續(xù)?是(Y) 否(N) n"); choose=getch();while(choose='Y'|choose='y');printf("任意鍵返回");getch();/*用戶數(shù)據(jù)刪除模塊*/PAY *del()short sel;long num;char n ame20,choose;head
43、=ope n();if(head=NULL)return NULL;elsedodoprintf("n選擇刪除方式:n");printf("tt1.按工號(hào)刪除 n");printf("tt2.按姓名刪除 n");scan f("%d", &sel);getchar();while(sel!=1 &&sel!=2);switch(sel)case 1:printf("輸入要?jiǎng)h除的工號(hào):”);scan f("%ld", &nu m);break;case 2
44、:printf("輸入要?jiǎng)h除的姓名:”);gets (n ame);break;p仁head;if(p1- >num=nu m)|strcmp(p1- >n ame ,n ame)=0)head=p1- >n ext;printf("刪除信息成功!");elsewhile(p1-> next!=NULL)&&(p1-> nu m!=nu m)&&(strcmp(p1-> name, name)!=O) p2=p1;p1=p1- >n ext;if(p1- >num=num)| strc
45、mp(p1- >n ame, name)=O)p2->n ext=p1- >n ext;free(p1);printf("n刪除信息成功!n");elseprintf("n 沒有該信息!n");printf("是否繼續(xù)?是(Y) 否(N) n");choose=getch();while(choose='Y'|choose='y');printf("任意鍵返回 拼存盤");getch();retur n head;/*用戶數(shù)據(jù)修改模塊*/PAY *revise()s
46、hort sel;long num;char n ame20,choose;head=ope n();if(head=NULL)return NULL;elsedodoprintf("n查找要修改的對(duì)象:n”);printf("tt1.按工號(hào)查找 n");printf("tt2.按姓名查找 n");scan f("%d", &sel);getchar();while(sel!=1 &&sel!=2);switch(sel)case 1:printf(”輸入要查的工號(hào):");scan f("%ld", &nu m);break;case 2:printf("輸入要查的姓名:");gets (n am
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版指標(biāo)房屋銷售協(xié)議條款版
- 二手房交易中介協(xié)議合同范本(2024版)
- 2025年度銷售業(yè)務(wù)員兼職崗位員工激勵(lì)與績(jī)效改進(jìn)合同2篇
- 二零二五年度別墅景觀綠化養(yǎng)護(hù)合同3篇
- 二零二五版國際會(huì)展中心物業(yè)全面服務(wù)與管理協(xié)議3篇
- 專業(yè)廣告代理服務(wù)協(xié)議(2024版)版A版
- 2024項(xiàng)目合作中間人傭金協(xié)議書
- 二零二五年度雞苗運(yùn)輸時(shí)間優(yōu)化及效率提升合同3篇
- 二零二五版?zhèn)€人汽車銷售代理合同模板3篇
- 二零二五年度二手汽車租賃與環(huán)保節(jié)能服務(wù)合同3篇
- 高處作業(yè)安全培訓(xùn)課件-
- 職中英語期末考試質(zhì)量分析
- 中國的世界遺產(chǎn)智慧樹知到答案章節(jié)測(cè)試2023年遼寧科技大學(xué)
- 急性腹瀉與慢性腹瀉修改版
- 先天性肌性斜頸的康復(fù)
- 《國際市場(chǎng)營(yíng)銷》案例
- GB/T 37518-2019代理報(bào)關(guān)服務(wù)規(guī)范
- GB/T 156-2017標(biāo)準(zhǔn)電壓
- PPT溝通的藝術(shù)課件
- 內(nèi)科學(xué):巨幼細(xì)胞性貧血課件
- 暑假家校聯(lián)系情況記錄表
評(píng)論
0/150
提交評(píng)論