【正文】
修改崗位級(jí)別所對(duì)應(yīng)的崗位工資金額,從而實(shí)現(xiàn)了程序的靈活性,滿足公司崗位薪資調(diào)整的需求。輸入員工工資信息時(shí)不用輸入全部信息,例如,輸入員工的崗位級(jí)別,即可獲得員工在該崗位應(yīng)得的工資數(shù),員工的應(yīng)得工資、實(shí)發(fā)工資以及應(yīng)該繳納的社會(huì)保險(xiǎn)、公積金和稅金都是通過函數(shù)直接計(jì)算,無需手動(dòng)輸入。程序中所有的數(shù)據(jù)在每次變動(dòng)后都會(huì)通過輸出函數(shù)以二進(jìn)制形式輸出到文件內(nèi),而且每次調(diào)用數(shù)據(jù)時(shí)都是從文件中輸入,從而保證了系統(tǒng)數(shù)據(jù)的可靠性,不易丟失性。極大地保證了管理層和員工層不同的需求,以及個(gè)人信息的安全性。1) 多入口登陸。3) 用戶界面采取相同的樣式進(jìn)行設(shè)計(jì),主界面上會(huì)顯示當(dāng)前操作的是哪個(gè)年月的員工工資,菜單的選擇功能利用switch函數(shù)實(shí)現(xiàn)。2) 采用選擇式的功能菜單。4) void Choose_month_num()員工登陸時(shí)用來選擇年月份的函數(shù),功能同上,是兩個(gè)不同的登陸口5) float post(int a)崗位工資獲取函數(shù),崗位級(jí)別作為參數(shù)傳遞到該函數(shù),該函數(shù)返回對(duì)應(yīng)的崗位工資金額6) void Return()返回主菜單的函數(shù) 各類菜單函數(shù)1) void Defined()修改參數(shù)菜單2) void Help()幫助菜單,提供幫助信息、設(shè)計(jì)人員信息和版本信息3) void Menu()管理員的主菜單,內(nèi)含工資查詢,數(shù)據(jù)處理,系統(tǒng)維護(hù),編號(hào)登記,幫助,重選年月,切換用戶,退出等功能選項(xiàng)4) void Menu_num()員工的主菜單5) void Menu2()工資查詢菜單,內(nèi)含員工工資查找,工資排序,工資統(tǒng)計(jì)等功能選項(xiàng)6) void Menu3()員工工資數(shù)據(jù)處理菜單,內(nèi)含數(shù)據(jù)添加,修改,刪除,輸出等功能選項(xiàng)7) void Menu4()系統(tǒng)維護(hù)菜單,內(nèi)含數(shù)據(jù)備份,清空,恢復(fù),修改參數(shù)、口令等功能選項(xiàng)8) void menu_print_out(void)輸出數(shù)據(jù)時(shí)顯示在最上面的表頭9) void Menu_Register()修改在冊(cè)員工編號(hào)的分菜單10) void Inquire()員工工資查找分菜單11) void Sort()排序菜單,內(nèi)含從小到大、從大到小排序的功能選項(xiàng)12) int Sort_menu_down_up()排序分菜單——從小到大,內(nèi)含各類排序種類13) int Sort_menu_up_down()排序分菜單——從大到小,內(nèi)含各類排序種類B 登陸判斷函數(shù)1) void password()用戶登錄函數(shù),通過輸入的用戶名檢測(cè)該用戶是管理員或者員工還是未登記用戶,從而進(jìn)行不同的登錄方式 修改參數(shù)、密碼類函數(shù)1) int ChangePassword()密碼修改函數(shù),用于修改管理員密碼2) int ChangePassword_num()密碼修改函數(shù),用于修改員工密碼3) float ChangePostsalary()用于修改初始參數(shù)中的崗位工資參數(shù),將15個(gè)崗位級(jí)別分別對(duì)應(yīng)不同的崗位工資4) float Subsidy_in()從文件中讀取住房補(bǔ)貼參數(shù)5) float ChangeSubsidy()用于修改初始參數(shù)中的住房補(bǔ)貼參數(shù),得到一個(gè)固定的住房補(bǔ)貼金額,數(shù)據(jù)保存到文件 計(jì)算稅金的函數(shù)1) float Tax(float a)計(jì)算稅金的函數(shù),將工資做參數(shù)傳遞進(jìn)去,返回應(yīng)繳稅金金額C1) int Inquire_age()查詢員工信息函數(shù),以年齡查詢2) int Inquire_basepay()查詢員工信息函數(shù),以基本工資查詢3) int Inquire_bonus()查詢員工信息函數(shù),以獎(jiǎng)金查詢4) int Inquire_gotpaid()查詢員工信息函數(shù),以應(yīng)得工資查詢5) int Inquire_meritpay()查詢員工信息函數(shù),以績(jī)效工資查詢6) int Inquire_name()查詢員工信息函數(shù),以姓名查詢7) int Inquire_num()查詢員工信息函數(shù),以編號(hào)查詢8) int Inquire_postsalary()查詢員工信息函數(shù),以崗位工資查詢9) int Inquire_realpaid()查詢員工信息函數(shù),以實(shí)發(fā)工資查詢10) int Inquire_tax()查詢員工信息函數(shù),以稅金查詢11) void Inquire_undefined(void)查詢員工信息函數(shù),編號(hào)、姓名、性別組合查詢 排序類函數(shù)1) int Neaten()數(shù)據(jù)整理,將員工信息按編號(hào)從小到大排列2) int Neaten_num()數(shù)據(jù)整理,將登記的員工編號(hào)從小到大排列3) int Sort_down_up_num()編號(hào)排序,升序4) int Sort_down_up_age()年齡排序,升序5) int Sort_down_up_basepay()基本工資排序,升序6) int Sort_down_up_bonus()獎(jiǎng)金排序,升序7) int Sort_down_up_gotpaid()應(yīng)得工資排序,升序8) int Sort_down_up_meritpay()績(jī)效工資排序,升序9) int Sort_down_up_postsalary()崗位工資排序,升序10) int Sort_down_up_realpaid()實(shí)發(fā)工資排序,升序11) int Sort_down_up_tax()稅金排序,升序12) int Sort_up_down_age()年齡排序,降序13) int Sort_up_down_basepay()基本工資排序,降序14) int Sort_up_down_bonus()獎(jiǎng)金排序,降序15) int Sort_up_down_gotpaid()應(yīng)得工資排序,降序16) int Sort_up_down_meritpay()績(jī)效工資排序,降序17) int Sort_up_down_num()編號(hào)排序,降序18) int Sort_up_down_postsalary()崗位工資排序,降序19) int Sort_up_down_realpaid()實(shí)發(fā)工資排序,降序20) int Sort_up_down_tax()稅金排序,降序用戶登錄1開始年月選擇5432修改密碼員工界面結(jié)束幫助管理員界面1234567輸出工資信息1234工資排序工資查找工資統(tǒng)計(jì)12348工資添加工資整理工資修改56工資刪除生成文本1234數(shù)據(jù)備份數(shù)據(jù)恢復(fù)數(shù)據(jù)清空56修改參數(shù)修改口令1234編號(hào)添加編號(hào)整理編號(hào)刪除1) 兩個(gè)操作界面。A 鏈表的建立,數(shù)據(jù)輸入、輸出、顯示、添加、修改、刪除函數(shù)1) struct person *Creat(int n)建立員工工資信息的鏈表,先通過傳遞的形式參數(shù)n來判斷需要建立多少組數(shù)據(jù),再通過鍵盤輸入生成相應(yīng)數(shù)量的動(dòng)態(tài)鏈表數(shù)據(jù)2) struct staff *Creat_num(int n)建立員工登記編號(hào)的鏈表3) int Creat_number(void)向*Creat函數(shù)傳遞數(shù)值的函數(shù),即需要錄入幾組數(shù)據(jù)4) struct person *Input(void)讀取員工工資信息的函數(shù),從文件中讀取信息并以動(dòng)態(tài)鏈表方式保存到結(jié)構(gòu)體中5) struct staff *Input_num(void)讀取員工登記編號(hào)的函數(shù)6) void Output(struct person *head)輸出員工工資數(shù)據(jù)到文件7) void Output_num(struct staff *head)輸出員工編號(hào)到文件8) void Output_txt()生成員工信息的文本文件9) void Print(void)將鏈表中員工的工資信息輸出到屏幕上10) void Print_num(void)將鏈表中員工的登記編號(hào)輸出到屏幕上11) int Insert(struct person *head)員工數(shù)據(jù)添加函數(shù),使用方式:Insert(Creat(Creat_number())),先確定添加數(shù)據(jù)的組數(shù),然后通過動(dòng)態(tài)鏈表添加數(shù)據(jù)到結(jié)構(gòu)體,最后通過該函數(shù)將數(shù)據(jù)加到文件尾部,實(shí)現(xiàn)數(shù)據(jù)添加。//員工登記編號(hào) struct staff *latter。}。//稅金float realpaid。//應(yīng)發(fā)工資float insurance。//住房補(bǔ)貼float bon