資源描述:
《c語言_職工管理系統(tǒng)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、職工工資管理系統(tǒng)———C語言程序設(shè)計(jì)課程設(shè)計(jì)指導(dǎo)教師:某某設(shè)計(jì)者:xx(組長)xxxxxxxxxx專業(yè)班級:xx工程073班設(shè)計(jì)時(shí)間:2008年9月8一、需求分析隨著計(jì)算機(jī)的飛速發(fā)展,它的應(yīng)用已經(jīng)十分廣泛,它在人們的生產(chǎn)、生活、工作和學(xué)習(xí)中發(fā)揮著重要的作用。例如一個(gè)現(xiàn)代化的公司,擁有數(shù)千名的員工,那么如何管理這么龐大的職工信息檔案呢?這時(shí),開發(fā)一個(gè)功能完善的職工信息管理系統(tǒng)就必不可少了。從職工的信息的查詢到管理實(shí)現(xiàn)了自動(dòng)化的模式,從而提高了工作效率和減少工作中的出錯(cuò)率,對公司內(nèi)部的員工管理更加方便。系統(tǒng)是為公司
2、財(cái)會(huì)部門設(shè)計(jì)的。主要管理的數(shù)據(jù)包括:職工號姓名崗位工資獎(jiǎng)金扣除實(shí)發(fā)。該系統(tǒng)具有的功能是:根據(jù)職工號對職工的信息進(jìn)行錄入、查詢、刪除、修改、追加、統(tǒng)計(jì)、顯示等。對各功能模塊的界面采用菜單顯示方式。本系統(tǒng)具有通用性,即可廣泛適用于多單位,多人數(shù),多功能的使用,并且系統(tǒng)采用模塊化設(shè)計(jì),主體為一個(gè)主函數(shù),分別可以調(diào)用其他模塊,利用不同子模塊具有的不同功能,綜合完成系統(tǒng)功能,不但主體與子模塊間有相互聯(lián)系,各個(gè)子模塊間也有相互作用,從而實(shí)現(xiàn)了預(yù)期的功能。二、人員分工姓名主要負(fù)責(zé)內(nèi)容xx(組長)總體設(shè)計(jì);數(shù)據(jù)程序查詢主菜單程
3、序xxx主菜單程序、錄入數(shù)據(jù)程序的編碼與調(diào)試、xx、輸出、統(tǒng)計(jì)、xx刪除、追加數(shù)據(jù)程序的編碼與調(diào)試xxx修改數(shù)據(jù)程序的編碼與調(diào)試三、運(yùn)行環(huán)境硬件環(huán)境:CPU(pentium42.4Hz)、內(nèi)存(256MB)、硬盤(80G)軟件環(huán)境:Windows98、Tubro.c2.0四、系統(tǒng)模塊功能1、系統(tǒng)總體框圖職工工資管理系統(tǒng)輸入職工記錄查詢職工記錄修改職工記錄刪除職工記錄追加職工記錄輸出職工記錄統(tǒng)計(jì)工資情況退出系統(tǒng)2、模塊設(shè)計(jì)在我們設(shè)計(jì)的程序中:首先是定義了一個(gè)輸入輸出頭文件,接著是一個(gè)宏定義,下面是函數(shù)聲名部分
4、,用structemploeeCharno[5];charname[8];intpost-wage;intprize;intdeductintnetpay;}結(jié)構(gòu)體存儲(chǔ)和錄入該程序的所有數(shù)據(jù),并把信息寫到文件emp.dat中,保存在磁盤中方便以后使用。主函數(shù)部分包括設(shè)計(jì)的全部信息,有指導(dǎo)教師、設(shè)計(jì)者以及設(shè)計(jì)時(shí)間,之后是輸出主菜單和調(diào)用函數(shù),退出程序。此程序中包含的功能有:輸入模塊、查詢模塊、修改模塊、刪除模塊、統(tǒng)計(jì)模塊、輸出模塊、追加模塊,各個(gè)功能設(shè)計(jì)如下:輸入模塊:該模塊是實(shí)現(xiàn)對職工號姓名崗位工資獎(jiǎng)金扣除實(shí)發(fā)
5、的錄入并保存到文件“emp”中。模塊中運(yùn)用voidinput()調(diào)用函數(shù)展開對文件的使用。模塊首先定義一個(gè)指針文件,又以寫的方式打開此文件,在打開的文件中輸入要管理的職工人數(shù),用一個(gè)for循環(huán)按照職職工號姓名崗位工資獎(jiǎng)金扣除實(shí)發(fā)的格式循環(huán)獲取職工的記錄,接著又用了一個(gè)for循環(huán)將職工記錄寫入文件“emp”中,關(guān)閉文件。查詢模塊:實(shí)現(xiàn)按職工號查詢每個(gè)職工的信息,查詢顯示:職工號姓名崗位工資獎(jiǎng)金扣除實(shí)發(fā)。模塊開始是一個(gè)二級子菜單,一個(gè)是實(shí)現(xiàn)按職工號查詢,另一個(gè)是選擇退出返回主菜單,此處是利用switch選擇語句。選
6、擇按職工號查詢,首先是以只讀的方式打開文件“emp”,然后輸入要查詢的職工號,用一個(gè)for循環(huán)來控制查詢的人數(shù),之后在顯示器上顯示職工信息,程序如下:printf("職工號姓名崗位工資獎(jiǎng)金扣除實(shí)發(fā)");printf("%6d%9s%6d%6d%6d%6d",emp[i].no,emp[i].name,emp[i].post-wage,emp[i].prize,emp[i].deduct,emp[i].netpay);然后關(guān)閉文件。查詢職工信息已完成。修改模塊:該模塊實(shí)現(xiàn)按職工號對職工所有信息的修改。模塊
7、開始是一個(gè)二級子菜單,一個(gè)是按職工號修改,另一個(gè)是選擇退出返回主菜單,此處是利用switch選擇語句。選擇按職工號修改,首先是以讀寫的方式打開文件“emp”。輸入要修改的職工號,用一個(gè)for循環(huán)來控制輸入的數(shù)量,循環(huán)如下:for(i=0;fread(&emp[i],sizeof(structemploee),1,fp);i++)if(!strcmp(emp[i].no,num))break;則會(huì)出現(xiàn)該職工的信息如下:printf("記錄號職工號姓名性別年齡工資");printf("%6d%6s%9s%4s%
8、5d%6d",i+1,emp[i].no,emp[i].name,emp[i].sex,emp[i].age,emp[i].salar);然后對職工的信息進(jìn)行修改,就可獲得新的職工記錄。之后文件指針指向該修改的記錄開頭,此時(shí)用newemp覆蓋當(dāng)前記錄,修改完成時(shí)系統(tǒng)會(huì)顯示修改后的文件數(shù)據(jù):記錄號、職工號、姓名、性別、年齡、工資,然后關(guān)閉文件。修改職工信息已完成。刪除模塊:該模塊實(shí)現(xiàn)