版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、/ /C 語言課程設(shè)計職工信息管理系統(tǒng)結(jié)構(gòu)體數(shù)組實現(xiàn)#include <stdio.h>#include <stdlib.h>#include <string.h>struct employeechar num10;char name15;char sex5;char bm20;char zc20;int gz;int read_file(struct employee em);void menu();void write_file(struct employee em);void add();void select();/查看職工所有信息void zc_q
2、uery();/按職稱查詢void num_del();/按工號刪除void tongji();/統(tǒng)計void sort();/排序void num_modify();/按工號修改職工信息void save();/保存信息void disp(); /顯示職工信息void fh();/返回主菜單structemployee em300; /這個數(shù)組用來保存所有的職工信息和文件里面的一致int Number=0; /記錄總的職工人數(shù)也就是數(shù)組/ 文件里面的職工人數(shù)void menu()printf("t*n");printf("t*n");printf(&q
3、uot;t*職工信息管理系統(tǒng)_結(jié)構(gòu)體數(shù)組實現(xiàn)*n");printf("t*n");printf("t*1增加職工信息2查看職工信息*n");printf("t*3查找職工信息4刪除職工信息*n");printf("t*5統(tǒng)計6職工工資排列*n");printf("t*7修改職工信息8保存職工信息*n");printf("t*9顯示職工信息0退出系統(tǒng)*n");printf("t*n");printf("t*n");void ma
4、in()int choose=0;FILE *fp=NULL;char yesorno;if(fp=fopen("employee1.txt","rb+")=NULL)printf("n=>提示:文件不存在,是否要創(chuàng)建一個?(y/n)n");scanf("%c",&yesorno);if(yesorno='y'|yesorno='Y')/ 這里僅為了建立文件fp=fopen("employee1.txt","wb+");fclos
5、e(fp); /關(guān)閉 fp 所指的文件,釋放文件緩沖區(qū)elseexit(0);elseNumber=read_file(em); /要是文件已經(jīng)有數(shù)據(jù)將數(shù)據(jù)初始化到數(shù)組中system("cls");while(1)menu();printf("tt=>請選擇: ");scanf("%d",&choose);system("cls");switch(choose)case 0:exit(0); /break;case 1:add();退出fh();/增加職工信息break;case 2:select()
6、;fh();/查看職工信息break;case 3:zc_query();fh();/查找break;case 4:num_del();fh();/刪除break;case 5:tongji();fh();/統(tǒng)計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("cls");void
7、save()printf("t=程序在運(yùn)行時已自動保存.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("請輸入要修改的職工工號:");scanf("%s",gh);for (i=0;i<Number;i+)if (strcmp(gh,emi.nu
8、m)=0) /比較輸入工號和數(shù)組中已有工號changeIndex=i; /保存要修改的人的下標(biāo)break;printf("t工號 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("請重新輸入該職工信息");printf("工號: "
9、);scanf("%s",emchangeIndex.num);printf("姓名: ");scanf("%s",emchangeI);printf("性別: ");scanf("%s",emchangeIndex.sex);printf("部門: ");scanf("%d",emchangeIndex.bm);printf("職稱: ");scanf("%s",emchangeIndex.zc)
10、;printf("工資: ");scanf("%d",&emchangeIndex.gz);/ 信息修改后重新更新文件里面的數(shù)據(jù)以保持?jǐn)?shù)據(jù)一致性fp=fopen("employee1.txt","wb+");for (i=0;i<Number;i+)fwrite(&emi,sizeof(struct employee),1,fp);/ 把 ptr所指向 n*size個字節(jié)輸入到fp 所指向的文件中fclose(fp);printf("t=>修改成功 n");void
11、disp() /輸出所有職工信息int i=0;for (i=0;i<Number;i+)printf("t%st%st%st%st%st%dnn",emi.num,,emi.sex,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;i<Number-1;i+)k=i;for(j=i+1;j<Number;j+)if(emj.gz>emk.gz)k=j;if(k!=i)t=emi;
12、emi=emk;emk=t;printf("你想輸出前幾名職工的信息:");scanf("%d",&wantNUmber);if (wantNUmber>Number)wantNUmber=Number;printf("t工號 t姓名 t性別 t部門 t職稱 t工資 n");for(i=0;i<wantNUmber;i+)printf("t%st%st%st%st%st%dnn",emi.num,,emi.sex,emi.bm,emi.zc,emi.gz);void tongji
13、()/統(tǒng)計int i,m,k,max,min;double sum=0.0;for(i=0;i<Number;i+)sum=sum+emi.gz;printf("全體職工的總工資為:%fn",sum);printf("平均工資為: %fn",sum/Number);i=0;m=0;max=0;max=emm.gz;for(i=1;i<Number;i+)if (emi.gz>max)m=i;max=emm.gz;printf("最高工資為: %dn",max);printf("t%st%st%st%st%s
14、t%dnn",emm.num,,emm.sex,emm.bm,emm.zc,emm.gz);i=0;k=0;min=0;min=em0.gz;for(i=1;i<Number;i+)if (emi.gz<min)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()/按工號刪除FILE *fp=NULL;char
15、gh60;int i=0;int j=0;printf("請輸入要刪除的職工工號:");scanf("%d",gh);for(i=0;i<Number;i+)if (strcmp(gh,emi.num)=0) /如果查找到就刪除for (j=i;j<Number-1;j+)emj=emj+1;Number-;/ 將剩余數(shù)據(jù)寫入文件重新一寫的方式打開文件把以前的數(shù)據(jù)擦除了fp=fopen("employee1.dat","wb");for (i=0;i<Number;i+)fwrite(&e
16、mi,sizeof(struct employee),1,fp);fclose(fp);printf("刪除成功 ;n");void zc_query()/按職稱查找char zc20;int i=0;printf("請輸入要查找職工職稱:");scanf("%s",zc);system("cls");printf("t工號 t姓名 t性別 t部門 t職稱 t工資 n");for (i=0;i<Number;i+)if (strcmp(zc,emi.zc)=0)printf("t
17、%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工號 t姓名 t性別 t部門 t職稱 t工資 n");for(i=0;i<Number;i+)printf("t%st%st%st%st%st%dnn",emi.num,,emi.sex,emi.bm,emi.zc,emi.gz);void add()/增加職
18、工int numberTemp=0;int i=0;struct employee temp; /臨時保存信息printf("請輸入要增加職工信息的個數(shù):");scanf("%d",&numberTemp);for(i=0;i<numberTemp;i+)printf("輸入第 %d個職工信息 n",i+1);printf("工號: ");scanf("%s",temp.num);printf("姓名: ");scanf("%s",);printf("性別: ");scanf("%s&q
溫馨提示
- 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至2030年中國油脂防哈變酸變劑數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國幻影面地板數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國儀表電器數(shù)據(jù)監(jiān)測研究報告
- 2025年中國汽車結(jié)構(gòu)鋼市場調(diào)查研究報告
- 2025年度車輛運(yùn)輸合同環(huán)保責(zé)任履行協(xié)議4篇
- 2025年度在線教育平臺運(yùn)營服務(wù)合同范本
- 二零二五年度模具生產(chǎn)設(shè)備租賃合同3篇
- 2025年度個人消費(fèi)分期借款合同參考樣本2篇
- 2025年度公共文化設(shè)施承建與藝術(shù)裝修合同4篇
- 2025年度國際學(xué)生招生代理服務(wù)合同規(guī)范4篇
- 2024版塑料購銷合同范本買賣
- 2024-2025學(xué)年人教新版高二(上)英語寒假作業(yè)(五)
- JJF 2184-2025電子計價秤型式評價大綱(試行)
- GB/T 44890-2024行政許可工作規(guī)范
- 2024年安徽省中考數(shù)學(xué)試卷含答案
- 2025屆山東省德州市物理高三第一學(xué)期期末調(diào)研模擬試題含解析
- 2024年滬教版一年級上學(xué)期語文期末復(fù)習(xí)習(xí)題
- 兩人退股協(xié)議書范文合伙人簽字
- 2024版【人教精通版】小學(xué)英語六年級下冊全冊教案
- 汽車噴漆勞務(wù)外包合同范本
- 微項目 探討如何利用工業(yè)廢氣中的二氧化碳合成甲醇-2025年高考化學(xué)選擇性必修第一冊(魯科版)
評論
0/150
提交評論