




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、#include#include#include#include#define N 100struct teacher int num; /ID號 char name20;/姓名(xngmng) int lxdh;/ 聯(lián)系電話 int jbgz; /基本工資(j bn n z) int shbt; /生活(shnghu)補(bǔ)貼 int jt; / /津貼 int dhf; /電話費(fèi) int shdf; / 水電費(fèi) int fz; /房租 int gjj; /公積金 int suo; /所得稅 int yfgz; / 應(yīng)發(fā)工資 int hjkk; /合計(jì)扣款 int total; /總工資ee10
2、0; void menu();void input();void save(int);void display();void del();void zengjia();void chaxun();void xiugai(); void start(); /*定義各函數(shù)*/void main()/主函數(shù)int n,t; char a; start();getch(); menu(); do printf(功能選擇(1-8):n); scanf(%d,&n); if(n=1&n 1 輸入教師信息 nn);printf( 2 顯示教師信息 nn);printf( 3 查找教師信息 nn);print
3、f( 4 刪除教師信息 nn);printf( 5 添加教師信息 nn);printf( 6 修改教師信息 nn);printf( 7 退出 nn);void input() /*錄入函數(shù)*/ int i,m; system(cls); printf(職工人數(shù)(1-100):n); scanf(%d,&m); for (i=0;im;i+) printf(請輸入職工號: ); scanf(%d,&eei.num); printf(請輸入姓名: ); scanf(%s,&); getchar(); printf(請輸入聯(lián)系電話: ); scanf(%d,&eei.lxdh); p
4、rintf(請輸入基本工資: ); scanf(%d,&eei.jbgz); printf(請輸入(shr)補(bǔ)貼: ); scanf(%d,&eei.shbt);printf(請輸入(shr)津貼: ); scanf(%d,&eei.jt); printf(請輸入(shr)電話費(fèi): ); scanf(%d,&eei.dhf); printf(請輸入水電費(fèi): ); scanf(%d,&eei.shdf); printf(請輸入所得稅: ); scanf(%d,&eei.suo); printf(請輸入房租: ); scanf(%d,&eei.fz);printf(請輸入公積金: ); scanf
5、(%d,&eei.gjj);eei.yfgz=(eei.jbgz)+(eei.shbt)+(eei.jt);eei.hjkk=(eei.dhf)+(eei.shdf)+(eei.gjj)+(eei.suo)+(eei.fz); eei.total=(eei.yfgz)-(eei.hjkk);/計(jì)算總工資 printf(n);/計(jì)算總工資 printf(n創(chuàng)建完畢!n); save(m);/保存職工人數(shù)mvoid save(int m) /*保存文件函數(shù)*/ int i; FILE*fp; /聲明fp是指針,用來指向FILE類型的對象 if (fp=fopen(teacher_list,wb)=
6、NULL) /打開職工列表文件為空 printf (打開失敗n); exit(0); for (i=0;im;i+) /*將內(nèi)存中職工的信息輸出到磁盤文件中去*/ fwrite(&eei,sizeof(struct teacher),1,fp);/寫入數(shù)據(jù)塊 &eei:是要輸出數(shù)據(jù)的地址 sizeof(struct teacher):獲取一個單體的長度 1:數(shù)據(jù)項(xiàng)的個數(shù) fp:目標(biāo)文件指針 fclose(fp);/ 緩沖區(qū)內(nèi)最后剩余的數(shù)據(jù)輸出到磁盤文件中,并釋放文件指針和有關(guān)的緩沖區(qū)int load() /*導(dǎo)入函數(shù) int型*/ FILE*fp; int i=0; if(fp=fopen(t
7、eacher_list,rb)=NULL) printf (cannot open filen); exit(0); else do fread(&eei,sizeof(struct teacher),1,fp); /讀取 i+; while(feof(fp)=0); /檢測(jin c)流上的文件結(jié)束符 fclose(fp); return(i-1);/返回(fnhu)人數(shù)void display() /*瀏覽(li ln)函數(shù)*/ int i,sum=0; int m=load(); system(cls); printf(職工號 姓名 基本工資 補(bǔ)貼 津貼 電話費(fèi) 水電費(fèi) 房租 公積金
8、所得稅 應(yīng)發(fā)工資 合計(jì)扣款 總工資 n); for(i=0;im;i+) /*m為輸入部分的職工人數(shù)*/ printf(n %d%5s %5d %5d %5d %5d %5d %5d %5d %5d %5d %8d %10d ,eei.num,,eei.jbgz,eei.shbt,eei.jt,eei.dhf,eei.shdf,eei.fz,eei.gjj,eei.suo,eei.yfgz,eei.hjkk,eei.total); sum+=eei.total;/計(jì)算員工總工資之和 printf(nn職工平均工資為:%d n,sum/m);void del() /*刪除函數(shù) *
9、/ int m=load(); int i,j,n,t,button; char name20; printf(n 原來的職工信息:n); display(); /顯示刪除前的員工信息 printf(n); printf(按姓名(xngmng)刪除:n); scanf(%s,name); for(button=1,i=0;button&im;i+)/主函數(shù)(hnsh)中確定button=1時各函數(shù)才可以被調(diào)用 if(strcmp(,name)=0)/按員工姓名查找(ch zho)到某員工 并調(diào)出其資料 printf(n此人原始記錄為:n);/顯示選定員工的信息 printf(職
10、工號 姓名 基本工資 補(bǔ)貼 津貼 電話費(fèi) 水電費(fèi) 房租 公積金 所得稅 應(yīng)發(fā)工資 合計(jì)扣款 總工資 n); printf(n %d%5s %5d %5d %5d %5d %5d %5d %5d %5d %5d %8d %10d ,eei.num,,eei.jbgz,eei.shbt,eei.jt,eei.dhf,eei.shdf,eei.fz,eei.gjj,eei.suo,eei.yfgz,eei.hjkk,eei.total); printf(n確定刪除 請按1,不刪除請按0n); scanf(%d,&n); if(n=1) for(j=i;jm-1;j+)/從第i項(xiàng)開始
11、將后一項(xiàng)的各成員的值賦給前一項(xiàng)各對應(yīng)的成員 完成對第i項(xiàng)的刪除 strcpy(,eej+1.name); eej.num=eej+1.num; eej.jbgz=eej+1.jbgz; eej.shbt=eej+1.shbt; eej.jt=eej+1.jt;eei.dhf=eei+1.dhf; eej.fz=eej+1.fz; eej.gjj=eej+1.gjj;eej.suo=eej+1.suo; eej.yfgz=eej+1.yfgz;eej.hjkk=eej+1.hjkk; eej.total=eej+1.total; button=0; if(!button)/but
12、ton=0表明刪除已完成 m=m-1;/總員工數(shù)減少一人 else printf(n查無此人!n); printf(n 刪除(shnch)后的所有職工信息:n); save(m); /調(diào)用保存(bocn)函數(shù) display(); /調(diào)用瀏覽(li ln)函數(shù) printf(n);printf(按任意鍵返回); getch(); menu(); void zengjia()/*添加函數(shù)*/ FILE*fp; int n; int count=0; int i; int m=load(); printf(n 原來的職工信息:n); display(); printf(n); fp=fopen(e
13、eploee_list,a); printf(請輸入想增加的職工數(shù):n);/確定要加入的職工數(shù)n scanf(%d,&n); for (i=m;i(m+n);i+)/添加n名員工的信息 printf(n 請輸入新增加職工的信息:n); printf(請輸入職工號: ); scanf(%d,&eei.num); printf(n); printf(請輸入職工號: ); scanf(%d,&eei.num); printf(請輸入姓名: ); scanf(%s,&); getchar(); printf(請輸入聯(lián)系電話: ); scanf(%d,&eei.lxdh); printf
14、(請輸入基本工資: ); scanf(%d,&eei.jbgz); printf(請輸入補(bǔ)貼: ); scanf(%d,&eei.shbt);printf(請輸入津貼: ); scanf(%d,&eei.jt); printf(請輸入(shr)電話費(fèi): ); scanf(%d,&eei.dhf); printf(請輸入(shr)水電費(fèi): ); scanf(%d,&eei.shdf); printf(請輸入(shr)所得稅: ); scanf(%d,&eei.suo); printf(請輸入房租: ); scanf(%d,&eei.fz); printf(請輸入公積金: ); scanf(%d,
15、&eei.gjj);eei.yfgz=(eei.jbgz)+(eei.shbt)+(eei.jt);eei.hjkk=(eei.dhf)+(eei.shdf)+(eei.gjj)+(eei.suo)+(eei.fz); eei.total=(eei.yfgz)-(eei.hjkk);/計(jì)算總工資 printf(n);/計(jì)算總工資 printf(n); count=count+1; printf(已增加的人數(shù):n); printf(%dn,count); printf(n添加成功n); m=m+count;/將新添加員工的人數(shù)加到總員工人數(shù)中 printf(n增加后的所有職工信息:n); pri
16、ntf(n); save(m); display();/顯示添加后的信息 fclose(fp);void chaxun() char name30; int i,t; int m=load();system(cls);/清屏 printf(請輸入姓名:n); scanf(%s,name); for(i=0;im;i+) if(strcmp(,name)=0) printf(職工號 姓名 基本工資 補(bǔ)貼 津貼 電話費(fèi) 水電費(fèi) 房租(fngz) 公積金 所得稅 應(yīng)發(fā)工資 合計(jì)扣款 總工資 n); printf(n %d%5s %5d %5d %5d %5d %5d %5d %5d
17、%5d %5d %8d %10d ,eei.num,,eei.jbgz,eei.shbt,eei.jt,eei.dhf,eei.shdf,eei.fz,eei.gjj,eei.suo,eei.yfgz,eei.hjkk,eei.total); if(i=m) printf(nn); printf(n); printf(返回查詢(chxn)菜單請按1,繼續(xù)查詢姓名請按2n); scanf(%d,&t); switch(t) case 1:menu();break; case 2:chaxun();break; void xiugai() /*修改(xigi)函數(shù)*/ int nu
18、m; /ID號 char name20;/姓名 int lxdh;/ 聯(lián)系電話 int jbgz; /基本工資 int shbt; /生活補(bǔ)貼 int jt; / /津貼 int dhf; /電話費(fèi) int shdf; / 水電費(fèi) int fz; /房租 int gjj; /公積金 int suo; /所得稅 int yfgz; / 應(yīng)發(fā)工資 int hjkk; /合計(jì)扣款 int total; /總工資 int b,c,i,n,t,button; int m=load(); system(cls); printf(n 原來的職工信息:n); display(); printf(n); pri
19、ntf(請輸入要修改的職工的姓名:n); scanf(%s,name); for(button=1,i=0;button&i11|c1) printf(n選擇錯誤,請重新選擇!n); button=0; if(button=1) printf(n查無此人n); do switch(c) /*因?yàn)楫?dāng)找到第i個職工時,for語句后i自加了1,所以下面的應(yīng)該把改后的信息賦值給第i-1個人*/ case 1:printf(職工號改為: ); scanf(%d,&num); eei-1.num=num; break; case 2:printf(姓名改為: ); scanf(%s,name); strc
20、py(,name); break; case 3:printf(基本工資(j bn n z)改為: ); getchar(); scanf(%d,&jbgz); eei-1.jbgz=jbgz; eei-1.yfgz=(eei-1.jbgz)+(eei-1.shbt)+(eei-1.jt); eei-1.hjkk=(eei-1.dhf)+(eei-1.shdf)+(eei-1.gjj)+(eei-1.suo)+(eei-1.fz); eei-1.total=(eei-1.yfgz)-(eei-1.hjkk); break; case 4:printf(補(bǔ)貼(bti)改為:
21、); scanf(%d,&shbt); eei-1.shbt=shbt; eei-1.yfgz=(eei-1.jbgz)+(eei-1.shbt)+(eei-1.jt); eei-1.hjkk=(eei-1.dhf)+(eei-1.shdf)+(eei-1.gjj)+(eei-1.suo)+(eei-1.fz); eei-1.total=(eei-1.yfgz)-(eei-1.hjkk); break; case 5:printf(津貼(jnti)改為: ); scanf(%d,&jt); eei-1.jt=jt; eei-1.yfgz=(eei-1.jbgz)+(eei-1.shbt)+(e
22、ei-1.jt); eei-1.hjkk=(eei-1.dhf)+(eei-1.shdf)+(eei-1.gjj)+(eei-1.suo)+(eei-1.fz); eei-1.total=(eei-1.yfgz)-(eei-1.hjkk); break;case 6:printf(電話費(fèi)改為: ); scanf(%d,&dhf); eei-1.dhf=dhf; eei-1.yfgz=(eei-1.jbgz)+(eei-1.shbt)+(eei-1.jt); eei-1.hjkk=(eei-1.dhf)+(eei-1.shdf)+(eei-1.gjj)+(eei-1.suo)+(eei-1.fz
23、); eei-1.total=(eei-1.yfgz)-(eei-1.hjkk);case 7:printf(水電費(fèi)改為: );eei-1.shdf=shdf;eei-1.yfgz=(eei-1.jbgz)+(eei-1.shbt)+(eei-1.jt); eei-1.hjkk=(eei-1.dhf)+(eei-1.shdf)+(eei-1.gjj)+(eei-1.suo)+(eei-1.fz); eei-1.total=(eei-1.yfgz)-(eei-1.hjkk); case 8:printf(房租改為: ); scanf(%d,&fz); eei-1.fz=fz; eei-1.yfgz=(eei-1.jbgz)+(eei-1.shbt)+(eei-1.jt); eei-1.hjkk=(eei-1.dhf)+(eei-1.shdf)+(eei-1.gjj)+(eei-1.suo)+(eei-1.fz); eei-1.total=(eei-1.yfgz)-(eei-1.hjkk); break; case 9:printf(公積金改為(i wi): ); scanf(%d,&gjj);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度住宅房屋全面維修安全保障協(xié)議
- 沖壓協(xié)議合同范本
- 2025年度文化娛樂產(chǎn)業(yè)銷售經(jīng)理入職合同
- 景區(qū)游客中心裝修合同范本
- 人員領(lǐng)獎居間合同范本
- 教育培訓(xùn)行業(yè)存款居間協(xié)議
- 2025年度臨時性鋼管架租賃及拆卸服務(wù)合同
- 2025年農(nóng)村房屋贈與合同及農(nóng)村電商物流配送服務(wù)合同
- 社交媒體廣告與內(nèi)容營銷的融合探索
- 2024年吉林省中考語文真題
- DBJ50-T-271-2017 城市軌道交通結(jié)構(gòu)檢測監(jiān)測技術(shù)標(biāo)準(zhǔn)
- (高清版)TDT 1090-2023 國土空間歷史文化遺產(chǎn)保護(hù)規(guī)劃編制指南
- 全新養(yǎng)豬代養(yǎng)協(xié)議范本
- 冀教版(冀人版)二年級下冊小學(xué)美術(shù)全冊教案
- DZ∕T 0207-2020 礦產(chǎn)地質(zhì)勘查規(guī)范 硅質(zhì)原料類(正式版)
- 數(shù)字貿(mào)易學(xué) 課件 第1-3章 導(dǎo)論、數(shù)字貿(mào)易的產(chǎn)生與發(fā)展;消費(fèi)互聯(lián)網(wǎng)、產(chǎn)業(yè)互聯(lián)網(wǎng)與工業(yè)互聯(lián)網(wǎng)
- 《飛向太空的航程》基礎(chǔ)字詞梳理
- 追覓入職測評題庫
- 寧德時代入職測評試題答案
- 干粉滅火器的使用方法課件
評論
0/150
提交評論