




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
/目錄職工工資管理系統(tǒng)\n">;printf<"***************************菜單***************************\n">;printf<"**1錄入工資記錄2刪除工資記錄**\n">;printf<"**3查詢工資記錄4修改工資記錄**\n">;printf<"**5統(tǒng)計(jì)工資信息0安全退出系統(tǒng)**\n">;printf<"**********************************************************\n">;}voidWrite_to_File<st_em_sal*L>/*將信息寫入文件*/{FILE*fp;st_em_sal*p;fp=fopen<"salary.sys","wb">;if<fp==NULL>{printf<"打開(kāi)文件失敗!\n">;getchar<>; getchar<>;exit<0>;}p=L->next;while<p>{fprintf<fp,"%s%s%s%s%s%s%ld%ld%ld%ld%ld%ld%ld\n",p->name,p->stu_num,p->card_id, p->department,p->position,p->bir_pla,p->bas_sal,p->fund,p->tax,p->bonus,p->pos_sal,p->der_sal,p->act_sal>;p=p->next;}fclose<fp>;}voidRead_from_File<st_em_sal*h>/*讀出文件信息*/{FILE*fp;st_em_sal*p,*q;inti;fp=fopen<"salary.sys","rb">;if<fp==NULL>{printf<"打開(kāi)文件失敗!\n">;exit<0>;}q=h;while<!feof<fp>>{p=<st_em_sal*>malloc<sizeof<st_em_sal>>;i=fscanf<fp,"%s%s%s%s%s%s%ld%ld%ld%ld%ld%ld%ld\n",p->name,p->stu_num,p->card_id, p->department,p->position,p->bir_pla,&p->bas_sal,&p->fund,&p->tax,&p->bonus,&p->pos_sal,&p->der_sal,&p->act_sal>; if<i==EOF> break;q->next=p;q=p;} q->next=NULL;fclose<fp>;}intprint_inf<>/*顯示文件信息*/{st_em_sal*head=NULL;st_em_sal*p;InitSt_em_sal<&head>;Read_from_File<head>;p=head->next;system<"clear">;if<!p>{printf<"文件中無(wú)內(nèi)容!">;printf<"\n按任意鍵鍵返回\n">;getchar<>; getchar<>;return0;}printf<"工號(hào)姓名部門職位籍貫基本工資應(yīng)發(fā)工資實(shí)發(fā)工資\n\n">;while<p>{printf<"%-6s%-8s%-17s%-12s%-12s%-9ld%-9ld%-9ld\n",p->stu_num,p->name,p->department, p->position,p->bir_pla,p->bas_sal,p->der_sal,p->act_sal>;p=p->next;}printf<"\n按任意鍵返回\n">;getchar<>; getchar<>;return1;}voidInitSt_em_sal<st_em_sal**h>/*創(chuàng)建頭結(jié)點(diǎn)*/{<*h>=<st_em_sal*>malloc<sizeof<st_em_sal>>;if<h==NULL>{printf<"創(chuàng)建文件失敗!\n">;getchar<>; getchar<>;exit<0>;} <*h>->next=NULL;}voidcreate_list<>/*創(chuàng)建鏈表函數(shù)*/{ FILE*fp;charch; st_em_sal*head;st_em_sal*p,*p1,*q; InitSt_em_sal<&head>; p1=head;intsize=sizeof<st_em_sal>;while<1>/*循環(huán)條件*/{ system<"clear">;printf<"*錄入職工工資信息*\n">; p=<st_em_sal*>malloc<size>;printf<"輸入職工工號(hào):">;scanf<"%s",p->stu_num>;printf<"輸入職工身份證號(hào):">;scanf<"%s",p->card_id>;printf<"輸入職工姓名:">;scanf<"%s",p->name>;printf<"輸入職工部門:">;scanf<"%s",p->department>;while<strcmp<p->department,"shebeichu">!=0&&strcmp<p->department,"renshichu">!=0&&strcmp<p->department,"xuegongchu">!=0&&strcmp<p->department,"ruanjianxueyuan">!=0>{/*部門合法性校驗(yàn)*/printf<"無(wú)此部門!請(qǐng)重新輸入!\n">;printf<"輸入職工部門:">;scanf<"%s",p->department>;}printf<"輸入職工職務(wù):">;scanf<"%s",p->position>;while<strcmp<p->position,"guyuan">!=0&&strcmp<p->position,"jingli">!=0&&strcmp<p->position,"jinglizhuli">!=0>/*職務(wù)合法性校驗(yàn)*/{printf<"無(wú)此職務(wù)!請(qǐng)重新輸入!\n">;printf<"輸入職工職務(wù):">;scanf<"%s",p->position>;}printf<"輸入職工籍貫:">;scanf<"%s",p->bir_pla>;printf<"輸入職工基本工資:">;scanf<"%ld",&<p->bas_sal>>;printf<"輸入職工基金:">;scanf<"%ld",&<p->fund>>;printf<"輸入職工稅金:">;scanf<"%ld",&<p->tax>>;while<p->tax>=p->bas_sal*0.05>{printf<"輸入有誤!請(qǐng)重新輸入!\n">;printf<"輸入職工稅金:">;scanf<"%ld",&<p->tax>>;}printf<"輸入職工獎(jiǎng)金:">;scanf<"%ld",&<p->bonus>>;printf<"輸入職工崗位工資:">;scanf<"%ld",&<p->pos_sal>>;p->der_sal=p->bas_sal+p->pos_sal+p->bonus;p->act_sal=p->der_sal-p->fund-p->tax;p->next=p1->next; p1->next=p; p1=p;printf<"按任意鍵繼續(xù)錄入,按N<n>結(jié)束錄入:">;getchar<>; ch=getchar<>; if<ch=='N'||ch=='n'> break;}fp=fopen<"salary.sys","ab">;if<fp==NULL>{printf<"打開(kāi)文件失敗!\n">;getchar<>; getchar<>;exit<0>;}q=head->next;while<q>{fprintf<fp,"%s%s%s%s%s%s%ld%ld%ld%ld%ld%ld%ld\n",q->name,q->stu_num,q->card_id, q->department,q->position,q->bir_pla,q->bas_sal,q->fund,q->tax,q->bonus,q->pos_sal,q->der_sal,q->act_sal>;q=q->next;}fclose<fp>;}voidsearch_by<st_em_sal*head> /*按條件查詢記錄*/{ charstu_xinxi[20]; st_em_sal*p; charch; p=head->next; do{ system<"clear">; printf<"\n請(qǐng)輸入需要查詢的職工工號(hào)或姓名:">;scanf<"%s",stu_xinxi>; while<p!=NULL> { if<strcmp<p->stu_num,stu_xinxi>==0||strcmp<p->name,stu_xinxi>==0> { printf<"工號(hào):%s\n",p->stu_num>; printf<"姓名:%s\n",p->name>; printf<"身份證號(hào):%s\n",p->card_id>; printf<"部門:%s\n",p->department>; printf<"職務(wù):%s\n",p->position>; printf<"籍貫:%s\n",p->bir_pla>; printf<"基本工資:%ld\n",p->bas_sal>; printf<"基金:%ld\n",p->fund>; printf<"稅金:%ld\n",p->tax>; printf<"獎(jiǎng)金:%ld\n",p->bonus>; printf<"崗位工資:%ld\n",p->pos_sal>; printf<"應(yīng)發(fā)工資:%ld\n",p->der_sal>; printf<"實(shí)發(fā)工資:%ld\n",p->act_sal>; break; } p=p->next; }if<p==NULL> printf<"\n沒(méi)有記錄!\n">;printf<"\n繼續(xù)查找?Y/N\n">;scanf<"%s",&ch>;}while<ch=='Y'||ch=='y'>;}voidsearch<>/*查詢函數(shù)*/{ intchoose;st_em_sal*head; InitSt_em_sal<&head>;Read_from_File<head>;system<"clear">;printf<"\n1.顯示所有職工信息.\n">;printf<"2.根據(jù)職工工號(hào)或姓名詳細(xì)查詢.\n">;printf<"3.退出.\n\n">;printf<"請(qǐng)選擇查找方式:">;scanf<"%d",&choose>;switch<choose>{ case1:print_inf<>; break; case2:search_by<head>; break; case3: break;}}voidmodify<>/*修改記錄函數(shù)*/{ inti;st_em_sal*p,*head;charch,h; charstu_num[20]; InitSt_em_sal<&head>; Read_from_File<head>; system<"clear">; printf<"\n\n請(qǐng)輸入修改的職工工號(hào):">; scanf<"%s",stu_num>; p=head->next; do { while<p!=NULL> { if<strcmp<p->stu_num,stu_num>==0> { while<1> { system<"clear">; printf<"您想修改哪一項(xiàng)信息:\n">; printf<"*1姓名\n">; printf<"*2身份證號(hào)\n">; printf<"*3工號(hào)\n">; printf<"*4部門\n">; printf<"*5職位\n">; printf<"*6籍貫\n">; printf<"*7基本工資\n">; printf<"*8基金\n">; printf<"*9稅金\n">; printf<"*10獎(jiǎng)金\n">; printf<"*11崗位工資\n">; scanf<"%d",&i>; switch<i> { case1:scanf<"%s",p->name>;break; case2:scanf<"%s",p->card_id>;break; case3:scanf<"%s",p->stu_num>;break; case4:scanf<"%s",p->department>; while<strcmp<p->department,"shebeichu">!=0&& strcmp<p->department,"renshichu">!=0&& strcmp<p->department,"xuegongchu">!=0&& strcmp<p->department,"ruanjianxueyuan">!=0> {/*部門合法性校驗(yàn)*/ printf<"無(wú)此部門!請(qǐng)重新輸入!\n">; printf<"修改后的信息是:">; scanf<"%s",p->department>; } break; case5:scanf<"%s",p->position>; while<strcmp<p->position,"guyuan">!=0&& strcmp<p->position,"jingli">!=0&& strcmp<p->position,"jinglizhuli">!=0> {/*職務(wù)合法性校驗(yàn)*/ printf<"無(wú)此職務(wù)!請(qǐng)重新輸入!\n">; printf<"修改后的信息是:">; scanf<"%s",p->position>; } break; case6:scanf<"%s",p->bir_pla>; break; case7:scanf<"%ld",&p->bas_sal>; p->der_sal=p->bas_sal+p->pos_sal+p->bonus; p->act_sal=p->der_sal-p->fund-p->tax; break; case8:scanf<"%ld",&p->fund>; p->act_sal=p->der_sal-p->fund-p->tax; break; case9:scanf<"%ld",&p->tax>; while<p->tax>=p->bas_sal*0.05> { printf<"輸入有誤!請(qǐng)重新輸入!\n">; printf<"輸入職工稅金:">; scanf<"%ld",&p->tax>; } p->act_sal=p->der_sal-p->fund-p->tax; break; case10:scanf<"%ld",&p->bonus>; p->der_sal=p->bas_sal+p->pos_sal+p->bonus; p->act_sal=p->der_sal-p->fund-p->tax; break; case11:scanf<"%ld",&p->pos_sal>; p->der_sal=p->bas_sal+p->pos_sal+p->bonus; p->act_sal=p->der_sal-p->fund-p->tax; break; } printf<"修改成功\n">; printf<"按任意鍵繼續(xù)修改信息或者按'n'返回!\n">; getchar<>;ch=getchar<>; if<ch=='N'||ch=='n'> break; } } p=p->next; }printf<"\n繼續(xù)修改?Y/N\n">; scanf<"%c",&h>; }while<h=='y'||h=='Y'>; Write_to_File<head>;}voiddelete<>/*刪除記錄函數(shù)*/{ st_em_sal*head; st_em_sal*p,*q; charch,h; charstu_num[20],name[20]; InitSt_em_sal<&head>; Read_from_File<head>; q=head; p=head->next; do{ system<"clear">; printf<"\n請(qǐng)輸入職工工號(hào):">; scanf<"%s",stu_num>; while<p> { if<strcmp<p->stu_num,stu_num>==0> { q->next=p->next; printf<"刪除成功!\n">; break; } q=p; p=p->next; } if<p==NULL> { printf<"沒(méi)有記錄!\n">; break; }else { free<p>; } printf<"是否繼續(xù):Y/N?">; scanf<"%c",&h>; }while<h=='Y'||h=='y'>; Write_to_File<head>;}voidcount_sal<>/*統(tǒng)計(jì)函數(shù)*/{longinthighest_gz,lowest_gz,pjgz;longintallgz=0;st_em_sal*head,*p,*op;intj,k;floatpfc=0,gzfc;intcount=0; chardepartment[20]; InitSt_em_sal<&head>; Read_from_File<head>; system<"clear">; p=head->next; if<p==NULL> { printf<"文件為空!\n">; exit<0>; } count=1; op=p->next; printf<"****************\n">; printf<"*1設(shè)備處*\n">; printf<"*2人事處*\n">; printf<"*3學(xué)工處*\n">; printf<"*4軟件學(xué)院*\n">; printf<"*5全公司*\n">; printf<"****************\n">; printf<"請(qǐng)輸入您的選擇:">;/*提示信息*/ scanf<"%d",&j>; switch<j> { case1:strcpy<department,"shebeichu">; count_choose<head,department>;break; case2:strcpy<department,"renshichu">; count_choose<head,department>;break; case3:strcpy<department,"xuegongchu">; count_choose<head,department>;break; case4:strcpy<department,"ruanjianxueyuan">; count_choose<head,department>;break; case5:system<"clear">; printf<"統(tǒng)計(jì)部門:全公司\n">; printf<"****************\n">; printf<"*1最低工資*\n">; printf<"*2最高工資*\n">; printf<"*3平均工資*\n">; printf<"*4工資方差*\n">; printf<"****************\n">; printf<"請(qǐng)輸入您的選擇:">;/*提示信息*/ scanf<"%d",&k>; switch<k> { case1:lowest_gz=p->act_sal; while<op!=NULL>/*遍歷查找*/ { if<op->act_sal<lowest_gz> lowest_gz=op->act_sal; p=op; op=p->next; } printf<"\n全公司的最低工資是%ld\n",lowest_gz>; break; case2:highest_gz=p->act_sal; while<op!=NULL>/*遍歷查找*/ { if<op->act_sal>highest_gz> highest_gz=op->act_sal; p=op; op=p->next; } printf<"\n全公司的最高工資是%ld\n",highest_gz>; break; case3:allgz=p->act_sal; while<op!=NULL>/*遍歷查找*/ { count++; allgz=allgz+op->act_sal; p=op; op=p->next; } pjgz=allgz/count; printf<"\n全公司的職工數(shù)為%d\n",count>; printf<"\n全公司的職工工資之和是%ld\n",allgz>; printf<"\n全公司的平均工資是%ld\n",pjgz>; break; case4:allgz=p->act_sal;; while<op!=NULL>/*遍歷查找*/ { count++; allgz=allgz+op->act_sal; p=op; op=p->next; } pjgz=allgz/count; pfc=<pjgz-p->act_sal>*<pjgz-p->act_sal>; while<op!=NULL> { pfc=pfc+<pjgz-op->act_sal>*<pjgz-op->act_sal>; p=op; op=p->next; } gzfc=pfc/count; printf<"\n全公司的職工數(shù)為%d\n",count>; printf<"\n全公司的平均工資是%ld\n",pjgz>; printf<"\n全公司的工資方差是%.2f\n",gzfc>; break; default:printf<"\n輸入有誤!\n">; break; } default:printf<"\n輸入有誤!\n">; break; }}voidcount_choose<st_em_sal*head,chardepartment[]>/*統(tǒng)計(jì)項(xiàng)目選擇函數(shù)*/{intk; system<"clear">;printf<"統(tǒng)計(jì)部門:%s",department>;printf<"****************\n">;printf<"*1最低工資*\n">;printf<"*2最高工資*\n">;printf<"*3平均工資*\n">;printf<"*4工資方差*\n">;printf<"****************\n">;printf<"您想統(tǒng)計(jì)哪一項(xiàng):">;scanf<"%d",&k>;switch<k>{case1:count_min_s<head,department>;break;case2:count_max_s<head,department>;break;case3:count_avr_s<head,department>;break;case4:count_var_s<head,department>;break;default:printf<"\n輸入有誤!\n">;break;}}voidcount_min_s<st_em_sal*head,chardepartment[]>/*計(jì)算部門最低工資函數(shù)*/{longintlowest_gz; intflag=0;st_em_sal*op1=NULL,*op2=NULL;op1=head->next;while<op
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖南省2025屆高三下學(xué)期“一起考”大聯(lián)考(模擬二)英語(yǔ)試卷(含答案)
- 食品安全員考試復(fù)習(xí)要點(diǎn)總結(jié)試題及答案
- 2024年農(nóng)業(yè)職業(yè)經(jīng)理人考試關(guān)鍵能力總結(jié)試題及答案
- 肺癌篩查知識(shí)培訓(xùn)課件
- 抗痙攣體位的擺放護(hù)理
- 輔導(dǎo)員招聘考試指導(dǎo)與試題
- 網(wǎng)絡(luò)安全知識(shí)基礎(chǔ)培訓(xùn)
- 綿羊毛護(hù)理知識(shí)培訓(xùn)
- 托班安全教育課程
- 小學(xué)防傳銷課件
- 人工智能+智能運(yùn)維平臺(tái)解決方案
- 工會(huì)維護(hù)勞動(dòng)領(lǐng)域政治安全10項(xiàng)長(zhǎng)效機(jī)制
- IATF16949-過(guò)程審核檢查表-(含審核記錄)-
- 10KV供配電系統(tǒng)設(shè)計(jì)答辯
- 中央八項(xiàng)規(guī)定實(shí)施細(xì)則解讀課件
- 陜西省二級(jí)以上醫(yī)院信息
- 實(shí)驗(yàn)室安全檢查記錄表
- 環(huán)境信息系統(tǒng)的GIS基礎(chǔ) 01講 GIS導(dǎo)論
- DCS集散型控制系統(tǒng)安裝調(diào)試施工方案
- 教學(xué)設(shè)計(jì) 分?jǐn)?shù)的基本性質(zhì) 全國(guó)一等獎(jiǎng)
- GB/T 38762.3-2020產(chǎn)品幾何技術(shù)規(guī)范(GPS)尺寸公差第3部分:角度尺寸
評(píng)論
0/150
提交評(píng)論