版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、./C語(yǔ)言課程設(shè)計(jì) 職工信息管理系統(tǒng)結(jié)構(gòu)體數(shù)組實(shí)現(xiàn)#include #include #include struct employee char num10;char name15;char sex5;char bm20;char zc20;int gz;int read_ employee em);void menu();void write_ employee em);void add(); void select(); /查看職工所有信息void zc_query(); /按職稱查詢void num_del(); /按工號(hào)刪除void tongji(); /統(tǒng)計(jì)void sort();
2、/排序void num_modify(); /按工號(hào)修改職工信息void save(); /保存信息void disp(); /顯示職工信息void fh(); /返回主菜單struct employee em300; /這個(gè)數(shù)組用來(lái)保存所有的職工信息 和文件里面的一致int Number=0; /記錄總的職工人數(shù) 也就是數(shù)組/文件里面的職工人數(shù)void menu()printf(t*n);printf(t* *n);printf(t* 職工信息管理系統(tǒng)_結(jié)構(gòu)體數(shù)組實(shí)現(xiàn) *n);printf(t* *n);printf(t* 1 增加職工信息 2 查看職工信息 *n);printf(t* 3
3、查找職工信息 4 刪除職工信息 *n);printf(t* 5 統(tǒng)計(jì) 6 職工工資排列 *n);printf(t* 7 修改職工信息 8 保存職工信息 *n);printf(t* 9 顯示職工信息 0 退出系統(tǒng) *n);printf(t* *n);printf(t*n);void main() int choose=0; FILE *fp=NULL; char yesorno; if(fp=fopen(employee1.txt,rb+)=NULL) printf(n=提示:文件不存在,是否要?jiǎng)?chuàng)建一個(gè)?(y/n)n); scanf(%c,&yesorno); if(yesorno=y|yeso
4、rno=Y) /這里僅為了建立文件 fp=fopen(employee1.txt,wb+); fclose(fp); /關(guān)閉fp所指的文件,釋放文件緩沖區(qū) else exit(0); else Number=read_); /要是文件已經(jīng)有數(shù)據(jù) 將數(shù)據(jù)初始化到數(shù)組中 system(cls); while(1) menu(); printf(tt=請(qǐng)選擇:); scanf(%d,&choose); system(cls); switch(choose) case 0: exit(0); /退出 break; case 1: add();fh();/增加職工信息 break; case 2:sel
5、ect();fh();/查看職工信息 break; case 3: zc_query();fh();/ 查找 break;case 4:num_del(); fh();/刪除 break;case 5:tongji();fh();/統(tǒng)計(jì) break; case 6: sort();fh();/排序 break; case 7: num_modify();fh();/修改后返回 break;case 8:save();fh();/保存 break;case 9:disp();fh();break;/顯示default:break; fflush(stdin); getchar(); system
6、(cls);void save()printf(t=程序在運(yùn)行時(shí)已自動(dòng)保存.n);void fh()printf(t=按Enter鍵返回主菜單n);void num_modify() /修改職工信息FILE *fp=NULL;char gh60;int i=0;int changeIndex=0; /changeIndex 改變標(biāo)記int index=0;printf(請(qǐng)輸入要修改的職工工號(hào):);scanf(%s,gh);for (i=0;iNumber;i+)if (strcmp(gh,emi.num)=0) /比較輸入工號(hào)和數(shù)組中已有工號(hào)changeIndex=i; /保存要修改的人的下標(biāo)
7、break;printf(t工號(hào)t姓名t性別t部門t職稱t工資n);printf(t%st%st%st%st%st%dnn,emchangeIndex.num,emchangeI,emchangeIndex.sex,emchangeIndex.bm,emchangeIndex.zc,emchangeIndex.gz);printf(請(qǐng)重新輸入該職工信息);printf(工號(hào):);scanf(%s,emchangeIndex.num);printf(姓名:);scanf(%s,emchangeI);printf(性別:);scanf(%s,emchangeIn
8、dex.sex);printf(部門:);scanf(%d,emchangeIndex.bm);printf(職稱:);scanf(%s,emchangeIndex.zc);printf(工資:);scanf(%d,&emchangeIndex.gz);/信息修改后重新更新文件里面的數(shù)據(jù) 以保持?jǐn)?shù)據(jù)一致性fp=fopen(employee1.txt,wb+);for (i=0;i修改成功n);void disp() /輸出所有職工信息 int i=0;for (i=0;iNumber;i+)printf(t%st%st%st%st%st%dnn,emi.num,,emi.sex
9、,emi.bm,emi.zc,emi.gz); void sort()/排序 struct employee t;int wantNUmber=0;int i=0;int j=0;int k=0; for(i=0;iNumber-1;i+)k=i;for(j=i+1;jemk.gz)k=j;if(k!=i)t=emi;emi=emk;emk=t; printf(你想輸出前幾名職工的信息:); scanf(%d,&wantNUmber);if (wantNUmberNumber)wantNUmber=Number; printf(t工號(hào)t姓名t性別t部門t職稱t工資n); for(i=0;iwa
10、ntNUmber;i+) printf(t%st%st%st%st%st%dnn,emi.num,,emi.sex,emi.bm,emi.zc,emi.gz); void tongji()/統(tǒng)計(jì) int i,m,k,max,min;double sum=0.0;for(i=0;iNumber;i+) sum=sum+emi.gz;printf(全體職工的總工資為:%fn,sum);printf(平均工資為:%fn,sum/Number); i=0;m=0;max=0;max=emm.gz;for(i=1;imax)m=i;max=emm.gz; printf(最高工資為:%dn
11、,max);printf(t%st%st%st%st%st%dnn,emm.num,,emm.sex,emm.bm,emm.zc,emm.gz); i=0;k=0;min=0;min=em0.gz;for(i=1;iNumber;i+)if (emi.gzmin)k=i;min=emk.gz;printf(最低工資:%dn,min);printf(t%st%st%st%st%st%dnn,emk.num,,emk.sex,emk.bm,emk.zc,emk.gz); void num_del()/按工號(hào)刪除 FILE *fp=NULL;char gh60;int
12、 i=0;int j=0;printf(請(qǐng)輸入要?jiǎng)h除的職工工號(hào):);scanf(%d,gh);for(i=0;iNumber;i+)if (strcmp(gh,emi.num)=0) /如果查找到就刪除for (j=i;jNumber-1;j+)emj=emj+1;Number-;/將剩余數(shù)據(jù)寫入文件 重新一寫的方式打開文件 把以前的數(shù)據(jù)擦除了fp=fopen(employee1.dat,wb);for (i=0;iNumber;i+)fwrite(&emi,sizeof(struct employee),1,fp);fclose(fp);printf(刪除成功;n);void zc_quer
13、y()/按職稱查找 char zc20;int i=0;printf(請(qǐng)輸入要查找職工職稱:);scanf(%s,zc);system(cls);printf(t工號(hào)t姓名t性別t部門t職稱t工資n);for (i=0;iNumber;i+)if (strcmp(zc,emi.zc)=0)printf(t%st%st%st%st%st%dnn,emi.num,,emi.sex,emi.bm,emi.zc,emi.gz);void select()/查看職工 int i=0;printf(以下是全部職工信息n);printf(t工號(hào)t姓名t性別t部門t職稱t工資n);for(i=
14、0;iNumber;i+)printf(t%st%st%st%st%st%dnn,emi.num,,emi.sex,emi.bm,emi.zc,emi.gz);void add()/增加職工 int numberTemp=0;int i=0;struct employee temp; /臨時(shí)保存信息printf(請(qǐng)輸入要增加職工信息的個(gè)數(shù):);scanf(%d,&numberTemp);for(i=0;inumberTemp;i+)printf(輸入第%d個(gè)職工信息n,i+1);printf(工號(hào):);scanf(%s,temp.num);printf(姓名:);scanf(%
15、s,);printf(性別:);scanf(%s,temp.sex);printf(部門:);scanf(%s,temp.bm);printf(職稱:);scanf(%s,temp.zc);printf(工資:);scanf(%d,&temp.gz);emNumber+=temp; /將剛添加的寫入到數(shù)組write_); /將剛添加的寫入到文件printf(添加成功n);void write_ employee *em)FILE *fp=NULL;fp=fopen(employee1.txt,rb+);fwrite(em,sizeof(struct employee),1,fp);fclose(fp);int read_ employee em)FILE *fp=NULL;int i=0;fp=fopen(employee1.txt,rb);while(fread(&emi,sizeof(struct employee),1,fp)i+;fclose(fp);return
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高中音樂(lè)的教學(xué)計(jì)劃高中音樂(lè)鑒賞教學(xué)計(jì)劃
- 售后201年工作計(jì)劃
- 學(xué)生會(huì)工作總結(jié)與計(jì)劃怎么寫
- 2025年初中化學(xué)教師下半年工作計(jì)劃范文
- 2025學(xué)校教研室工作計(jì)劃范文
- 2025年秋季二年級(jí)上冊(cè)班主任工作計(jì)劃報(bào)告
- 英語(yǔ)課標(biāo)教師教學(xué)計(jì)劃
- 2025年高一英語(yǔ)教學(xué)計(jì)劃例文
- 《地質(zhì)工程畢業(yè)設(shè)計(jì)》課件
- 《高血壓規(guī)范化管理》課件
- 收購(gòu)公司法律盡職調(diào)查合同(2篇)
- 第六單元多邊形的面積 (單元測(cè)試)-2024-2025學(xué)年五年級(jí)上冊(cè)數(shù)學(xué)人教版
- 《內(nèi)外科疾病康復(fù)學(xué)》課程教學(xué)大綱
- 天津市南開區(qū)2023-2024學(xué)年四年級(jí)上學(xué)期期末英語(yǔ)試題
- 初中語(yǔ)文部編版七年級(jí)上冊(cè)期末復(fù)習(xí)詞語(yǔ)成語(yǔ)運(yùn)用練習(xí)題(附參考答案)
- 專題四“挺膺擔(dān)當(dāng)”主題團(tuán)課
- 概率論與數(shù)理統(tǒng)計(jì)課后習(xí)題與答案
- 建渣處置-運(yùn)輸方案(共4頁(yè))
- 空心板計(jì)算書
- 文件交接(模板)
- 家長(zhǎng)會(huì)邀請(qǐng)函模板
評(píng)論
0/150
提交評(píng)論