




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、#include<stdio.h>/#include<windows.h>#include<time.h>#include<string.h>#defineN100structemployeeintnum;charname10;charsex;intage;charxueli30;intwage;charaddr30;longinttel;em100;/*定義一個結構體*/voidmenu();voidinput();voidsave(int);voiddisplay();voiddel();voidadd();voidsearch();void
2、search_num();printf("建筑環(huán)境與設備工程專nprintf(printf("n");"a方-2班曹博韜袁松潮許柯林an");printf(printf("n");"*職工信息管理*坨"printf("1.錄入職工信息");printf("2.瀏覽職工信息n");printf("3.查詢職工信息");printf("4.刪除職工信息n");printf("5.添加職工信息");printf(
3、"6.修改職工信息n");printf(printf("7.退出n");"*謝謝使用*n"printf(printf("n");"n");voidsearch_xueli();voidsearch_tel();voidmodify();/*定義各函數(shù)*/voidmenu()/*菜單函數(shù)*/);););voidmain()intn,flag;chara;menu();/*調用菜單函數(shù)*/這幾個調換一下順序就可以了,記住聲明變量的代碼要在前面doprintf("請選擇你需要操作的步驟(1-
4、7):n");scanf("%d",&n);if(n>=1&&n<=7)flag=1;break;)elseflag=0;printf("您輸入有誤,請重新選擇!");)while(flag=0);while(flag=1)(switch(n)case7:exit(0);break;case1:printf(case2:printf(case3:printf(case4:printf(case5:printf(case6:printf(輸入職工信息n");printf("n");
5、input();break;瀏覽職工信息n");printf(按職工號查詢職工信息n"刪除職工信息n");printf(添加職工信息n");printf(修改職工信息n");printf("n");display();break;);printf("n");search();"n");del();break;"n");add();break;"n");modify();break;break;default:break;)getchar();pr
6、intf("n");printf("是否繼續(xù)進行(yorn):n");scanf("%c",&a);if(a='y')(flag=1;system("cls");/*清屏*/menu();/*調用菜單函數(shù)*/printf("請再次選擇你需要操作的步驟(1-6):n");scanf("%d",&n);printf("n");)elseexit(0);)voidinput()/*錄入函數(shù)*/(inti,m;printf(&quo
7、t;請輸入需要創(chuàng)建信息的職工人數(shù)(1-100):n");scanf("%d",&m);for(i=0;i<m;i+)(printf("職工號:");srand(int)time(0);emi.num=rand()%100+20000000;if(emi.num!=emi-1.num)printf("%8d",emi.num);printf("n");printf("請輸入姓名:");scanf("%s",);getchar();prin
8、tf("請輸入性別(f-女m-男):");scanf("%c",&emi.sex);getchar();printf("請輸入年齡:");scanf("%d",&emi.age);getchar();printf("請輸入學歷:");scanf("%s",emi.xueli);getchar();printf("請輸入工資:");scanf("%d",&emi.wage);getchar();printf(&qu
9、ot;請輸入住址:");scanf("%s",emi.addr);getchar();printf("請輸入電話:");scanf("%d",&emi.tel);printf("n");printf("n創(chuàng)建完畢!n");save(m);voidsave(intm)/*保存文件函數(shù)*/inti;FILE*fp;if(fp=fopen("employee_list","wb")=NULL)/*創(chuàng)建文件并判斷是否能打開*/printf(&qu
10、ot;cannotopenfilen");exit(0);for(i=0;i<m;i+)/*將內存中職工的信息輸出到磁盤文件中去*/if(fwrite(&emi,sizeof(structemployee),1,fp)!=1)printf("filewriteerrorn");fclose(fp);intload()/*導入函數(shù)*/FILE*fp;inti=0;if(fp=fopen("employee_list","rb")=NULL)printf("cannotopenfilen");e
11、xit(0);elsedofread(&emi,sizeof(structemployee),1,fp);i+;while(feof(fp)=0);fclose(fp);return(i-1);)voiddisplay()/*瀏覽函數(shù)*/(inti;intm=load();printf("n職工號t姓名t性別t年齡t學歷t工資t住址t電話n");for(i=0;i<m;i+)/*m為輸入部分的職工人數(shù)*/printf("n%dt%st%ct%dt%st%dt%st%ldn",emi.num,,emi.sex,emi.age,
12、emi.xueli,emi.wage,emi.addr,emi.tel);)voiddel()/*刪除函數(shù)*/(intm=load();inti,j,n,t,flag;charname20;printf("n原來的職工信息:n");display();/*調用瀏覽函數(shù)*/printf("n");printf("請輸入要刪除的職工的姓名:n");scanf("%s",name);for(flag=1,i=0;flag&&i<m;i+)(if(strcmp(,name)=0)(pr
13、intf("n已找到此人,原始記錄為:n");printf("n職工號t姓名t性別t年齡t學歷t工資t住址t電話n");printf("n%dt%st%ct%dt%st%dt%st%ldn",emi.num,,emi.sex,emi.age,emi.xueli,emi.wage,emi.addr,emi.tel);printf("n確實要刪除此人信息請按,不刪除請按n");scanf("%d",&n);if(n=1)/*如果刪除,則其他的信息都往上移一行*/(for(j=
14、i;j<m-1;j+)(strcpy(,emj+1.name);emj.num=emj+1.num;emj.sex=emj+1.sex;emj.age=emj+1.age;strcpy(emj.xueli,emj+1.xueli);emj.wage=emj+1.wage;strcpy(emj.addr,emj+1.addr);emj.tel=emj+1.tel;)flag=0;)if(!flag)m=m-1;elseprintf("n對不起,查無此人!n");printf("n瀏覽刪除后的所有職工信息:n");save(m);/*調
15、用保存函數(shù)*/display();/*調用瀏覽函數(shù)*/printf("n繼續(xù)刪除請按,不再刪除請按n");scanf("%d",&t);switch(t)(case1:del();break;case0:break;default:break;voidadd()/*添加函數(shù)*/(FILE*fp;intn;intcount=0;inti;intm=load();printf("n原來的職工信息:n");display();/*調用瀏覽函數(shù)*/printf("n");fp=fopen("emploee
16、_list","a");printf("請輸入想增加的職工數(shù):n");scanf("%d",&n);for(i=m;i<(m+n);i+)(printf("n請輸入新增加職工的信息:n");printf("請輸入職工號:");srand(int)time(0);emi.num=rand()%100+20000000;if(emi.num!=emi-1.num)printf("%8d",emi.num);printf("n");pri
17、ntf("請輸入姓名:");scanf("%s",);getchar();printf("請輸入性別(f-女m-男):");scanf("%c",&emi.sex);printf("請輸入年齡:");scanf("%d",&emi.age);printf("請輸入學歷:");scanf("%s",emi.xueli);printf("請輸入工資:");scanf("%d&qu
18、ot;,&emi.wage);printf("請輸入住址:");scanf("%s",emi.addr);printf("請輸入電話:");scanf("%d",&emi.tel);printf("n");count=count+1;printf("已增加的人數(shù):n");printf("%dn",count);printf("n添加完畢!n");m=m+count;printf("n瀏覽增加后的所有職工信息:n
19、");printf("n");save(m);display();fclose(fp);)voidsearch()/*查詢函數(shù)*/(intt,flag;do(printf("n按職工號查詢請按;按學歷查詢請按;按電話號碼查詢請按,進入主函數(shù)按n");scanf("%d",&t);if(t>=1&&t<=4)(flag=1;break;)else(flag=0;printf("您輸入有誤,請重新選擇!");)while(flag=0);while(flag=1)(swit
20、ch(t)(case1:printf("按職工號查詢n");search_num();break;case2:printf("按學歷查詢n");search_xueli();break;case3:printf("按電話號碼查詢n");search_tel();break;case4:main();break;default:break;)voidsearch_num()(intnum;inti,t;intm=load();printf("請輸入要查找的職工號(20000001-20000100):n");scan
21、f("%d",&num);for(i=0;i<m;i+)if(num=emi.num)(printf("n已找到此人,其記錄為:n");printf("n職工號t姓名t性別t年齡t學歷t工資t住址t電話n");printf("n%dt%st%ct%dt%st%dt%st%ldn",emi.num,,emi.sex,emi.age,emi.xueli,emi.wage,emi.addr,emi.tel);break;)if(i=m)printf("n對不起,查無此人n"
22、;);printf("n");printf("返回查詢函數(shù)請按,繼續(xù)查詢職工號請按n");scanf("%d",&t);switch(t)(case1:search();break;case2:break;default:break;voidsearch_xueli()(charxueli30;inti,t;intm=load();printf("請輸入要查找的學歷:n");scanf("%s",xueli);for(i=0;i<m;i+)if(strcmp(emi.xueli,x
23、ueli)=0)(printf("n已找到,其記錄為:n");printf("n職工號t姓名t性別t年齡t學歷t工資t住址t電話n");printf("n%dt%st%ct%dt%st%dt%st%ldn",emi.num,,emi.sex,emi.age,emi.xueli,emi.wage,emi.addr,emi.tel);if(i=m)printf("n對不起,查無此人n");printf("n");printf("返回查詢函數(shù)請按,繼續(xù)查詢學歷請按n"
24、;);scanf("%d",&t);switch(t)(case1:search();break;case2:break;default:break;voidsearch_tel()(longinttel;inti,t;intm=load();printf("請輸入要查找的電話號碼:n");scanf("%ld”,&tel);for(i=0;i<m;i+)if(tel=emi.tel)(printf("n已找到此人,其記錄為:n");printf("n職工號t姓名t性別t年齡t學歷t工資t住址
25、t電話n");printf("n%dt%st%ct%dt%st%dt%st%ldn",emi.num,,emi.sex,emi.age,emi.xueli,emi.wage,emi.addr,emi.tel);break;if(i=m)printf("n對不起,查無此人n");printf("n");printf("返回查詢函數(shù)請按,繼續(xù)查詢電話號碼請按n");scanf("%d",&t);switch(t)(case1:search();break;case2
26、:break;default:break;voidmodify()/*修改函數(shù)*/(intnum;charname10;charsex;intage;charxueli30;intwage;charaddr30;longinttel;intb,c,i,n,t,flag;intm=load();/*導入文件內的信息*/printf("n原來的職工信息:n");display();/*調用瀏覽函數(shù)*/printf("n");printf("請輸入要修改的職工的姓名:n");scanf("%s",name);for(fl
27、ag=1,i=0;flag&&i<m;i+)(if(strcmp(,name)=0)(printf("n已找到此人,原始記錄為:n");printf("n職工號t姓名t性別t年齡t學歷t工資t住址t電話n");printf("n%dt%st%ct%dt%st%dt%st%ldn",emi.num,,emi.sex,emi.age,emi.xueli,emi.wage,emi.addr,emi.tel);printf("n確實要修改此人信息請按;不修改請按n");
28、scanf("%d",&n);if(n=1)(printf("n需要進行修改的選項n1.職工號2.姓名3.性別4.年齡5.學歷6.工資7.住址8.電話n");printf("請輸入你想修改的那一項序號:n");scanf("%d",&c);if(c>8|c<1)printf("n選擇錯誤,請重新選擇!n");flag=0;if(flag=1)printf("n對不起,查無此人!n");do(switch(c)/*因為當找到第i個職工時,for語句后i自加了,所以下面的應該把改后的信息賦值給第i-1個人*/(case1:printf("職工號改為:");scanf("%d",&num);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025小鴨苗買賣服務合同
- 智能手機在傳染病防控中的應用指南
- 骨科亮點護理實踐體系
- 青年醫(yī)學教師授課比賽實施要點
- 人教版小學一年級語文上冊第八單元測試題
- 造口疝氣規(guī)范化護理要點
- 二手房交易方式之委托交易
- 學校下學期質量管理工作總結模版
- 2024年09月26日更新【Attest】2024年美國媒體使用報告
- 服裝合作協(xié)議書
- 售后維修服務單
- 國家中長期科技發(fā)展規(guī)劃綱要2021-2035
- ZDY3200S型煤礦用全液壓坑道鉆機行業(yè)資料礦業(yè)工程
- 北師大版八年級數(shù)學下冊 (一元一次不等式)一元一次不等式和一元一次不等式組課件(第2課時)
- 南京市小學英語六年級小升初期末試卷(含答案)
- 國開電大本科《理工英語3》機考真題(第005套)
- 護理安全警示教育PPT
- 草圖大師基礎命令教程
- 清華大學工商管理專業(yè)課程設置
- GB/T 42409-2023物聯(lián)網(wǎng)電子價簽系統(tǒng)總體要求
- 葫蘆島市白狼山新一代天氣雷達塔樓及配套基礎設施建設項目環(huán)評報告
評論
0/150
提交評論