C語言課程設(shè)計(jì)實(shí)例_第1頁
C語言課程設(shè)計(jì)實(shí)例_第2頁
C語言課程設(shè)計(jì)實(shí)例_第3頁
C語言課程設(shè)計(jì)實(shí)例_第4頁
C語言課程設(shè)計(jì)實(shí)例_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、#include<stdio.h>/#include<windows.h>#include<time.h>#include<string.h>#defineN100structemployeeintnum;charname10;charsex;intage;charxueli30;intwage;charaddr30;longinttel;em100;/*定義一個(gè)結(jié)構(gòu)體*/voidmenu();voidinput();voidsave(int);voiddisplay();voiddel();voidadd();voidsearch();void

2、search_num();printf("建筑環(huán)境與設(shè)備工程專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();/*調(diào)用菜單函數(shù)*/這幾個(gè)調(diào)換一下順序就可以了,記住聲明變量的代碼要在前面doprintf("請(qǐng)選擇你需要操作的步驟(1-

4、7):n");scanf("%d",&n);if(n>=1&&n<=7)flag=1;break;)elseflag=0;printf("您輸入有誤,請(qǐng)重新選擇!");)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(按職工號(hào)查詢職工信息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ù)進(jìn)行(yorn):n");scanf("%c",&a);if(a='y')(flag=1;system("cls");/*清屏*/menu();/*調(diào)用菜單函數(shù)*/printf("請(qǐng)?jiān)俅芜x擇你需要操作的步驟(1-6):n");scanf("%d",&n);printf("n");)elseexit(0);)voidinput()/*錄入函數(shù)*/(inti,m;printf(&quo

7、t;請(qǐng)輸入需要?jiǎng)?chuàng)建信息的職工人數(shù)(1-100):n");scanf("%d",&m);for(i=0;i<m;i+)(printf("職工號(hào):");srand(int)time(0);emi.num=rand()%100+20000000;if(emi.num!=emi-1.num)printf("%8d",emi.num);printf("n");printf("請(qǐng)輸入姓名:");scanf("%s",);getchar();prin

8、tf("請(qǐng)輸入性別(f-女m-男):");scanf("%c",&emi.sex);getchar();printf("請(qǐng)輸入年齡:");scanf("%d",&emi.age);getchar();printf("請(qǐng)輸入學(xué)歷:");scanf("%s",emi.xueli);getchar();printf("請(qǐng)輸入工資:");scanf("%d",&emi.wage);getchar();printf(&qu

9、ot;請(qǐng)輸入住址:");scanf("%s",emi.addr);getchar();printf("請(qǐng)輸入電話:");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+)/*將內(nèi)存中職工的信息輸出到磁盤文件中去*/if(fwrite(&emi,sizeof(structemployee),1,fp)!=1)printf("filewriteerrorn");fclose(fp);intload()/*導(dǎo)入函數(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職工號(hào)t姓名t性別t年齡t學(xué)歷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();/*調(diào)用瀏覽函數(shù)*/printf("n");printf("請(qǐng)輸入要?jiǎng)h除的職工的姓名:n");scanf("%s",name);for(flag=1,i=0;flag&&i<m;i+)(if(strcmp(,name)=0)(pr

13、intf("n已找到此人,原始記錄為:n");printf("n職工號(hào)t姓名t性別t年齡t學(xué)歷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確實(shí)要?jiǎng)h除此人信息請(qǐng)按,不刪除請(qǐng)按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對(duì)不起,查無此人!n");printf("n瀏覽刪除后的所有職工信息:n");save(m);/*調(diào)

15、用保存函數(shù)*/display();/*調(diào)用瀏覽函數(shù)*/printf("n繼續(xù)刪除請(qǐng)按,不再刪除請(qǐng)按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();/*調(diào)用瀏覽函數(shù)*/printf("n");fp=fopen("emploee

16、_list","a");printf("請(qǐng)輸入想增加的職工數(shù):n");scanf("%d",&n);for(i=m;i<(m+n);i+)(printf("n請(qǐng)輸入新增加職工的信息:n");printf("請(qǐng)輸入職工號(hào):");srand(int)time(0);emi.num=rand()%100+20000000;if(emi.num!=emi-1.num)printf("%8d",emi.num);printf("n");pri

17、ntf("請(qǐng)輸入姓名:");scanf("%s",);getchar();printf("請(qǐng)輸入性別(f-女m-男):");scanf("%c",&emi.sex);printf("請(qǐng)輸入年齡:");scanf("%d",&emi.age);printf("請(qǐng)輸入學(xué)歷:");scanf("%s",emi.xueli);printf("請(qǐng)輸入工資:");scanf("%d&qu

18、ot;,&emi.wage);printf("請(qǐng)輸入住址:");scanf("%s",emi.addr);printf("請(qǐng)輸入電話:");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按職工號(hào)查詢請(qǐng)按;按學(xué)歷查詢請(qǐng)按;按電話號(hào)碼查詢請(qǐng)按,進(jìn)入主函數(shù)按n");scanf("%d",&t);if(t>=1&&t<=4)(flag=1;break;)else(flag=0;printf("您輸入有誤,請(qǐng)重新選擇!");)while(flag=0);while(flag=1)(swit

20、ch(t)(case1:printf("按職工號(hào)查詢n");search_num();break;case2:printf("按學(xué)歷查詢n");search_xueli();break;case3:printf("按電話號(hào)碼查詢n");search_tel();break;case4:main();break;default:break;)voidsearch_num()(intnum;inti,t;intm=load();printf("請(qǐng)輸入要查找的職工號(hào)(20000001-20000100):n");scan

21、f("%d",&num);for(i=0;i<m;i+)if(num=emi.num)(printf("n已找到此人,其記錄為:n");printf("n職工號(hào)t姓名t性別t年齡t學(xué)歷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對(duì)不起,查無此人n"

22、;);printf("n");printf("返回查詢函數(shù)請(qǐng)按,繼續(xù)查詢職工號(hào)請(qǐng)按n");scanf("%d",&t);switch(t)(case1:search();break;case2:break;default:break;voidsearch_xueli()(charxueli30;inti,t;intm=load();printf("請(qǐng)輸入要查找的學(xué)歷:n");scanf("%s",xueli);for(i=0;i<m;i+)if(strcmp(emi.xueli,x

23、ueli)=0)(printf("n已找到,其記錄為:n");printf("n職工號(hào)t姓名t性別t年齡t學(xué)歷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對(duì)不起,查無此人n");printf("n");printf("返回查詢函數(shù)請(qǐng)按,繼續(xù)查詢學(xué)歷請(qǐng)按n"

24、;);scanf("%d",&t);switch(t)(case1:search();break;case2:break;default:break;voidsearch_tel()(longinttel;inti,t;intm=load();printf("請(qǐng)輸入要查找的電話號(hào)碼:n");scanf("%ld”,&tel);for(i=0;i<m;i+)if(tel=emi.tel)(printf("n已找到此人,其記錄為:n");printf("n職工號(hào)t姓名t性別t年齡t學(xué)歷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對(duì)不起,查無此人n");printf("n");printf("返回查詢函數(shù)請(qǐng)按,繼續(xù)查詢電話號(hào)碼請(qǐng)按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();/*導(dǎo)入文件內(nèi)的信息*/printf("n原來的職工信息:n");display();/*調(diào)用瀏覽函數(shù)*/printf("n");printf("請(qǐng)輸入要修改的職工的姓名:n");scanf("%s",name);for(fl

27、ag=1,i=0;flag&&i<m;i+)(if(strcmp(,name)=0)(printf("n已找到此人,原始記錄為:n");printf("n職工號(hào)t姓名t性別t年齡t學(xué)歷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確實(shí)要修改此人信息請(qǐng)按;不修改請(qǐng)按n");

28、scanf("%d",&n);if(n=1)(printf("n需要進(jìn)行修改的選項(xiàng)n1.職工號(hào)2.姓名3.性別4.年齡5.學(xué)歷6.工資7.住址8.電話n");printf("請(qǐng)輸入你想修改的那一項(xiàng)序號(hào):n");scanf("%d",&c);if(c>8|c<1)printf("n選擇錯(cuò)誤,請(qǐng)重新選擇!n");flag=0;if(flag=1)printf("n對(duì)不起,查無此人!n");do(switch(c)/*因?yàn)楫?dāng)找到第i個(gè)職工時(shí),for語句后i自加了,所以下面的應(yīng)該把改后的信息賦值給第i-1個(gè)人*/(case1:printf("職工號(hào)改為:");scanf("%d",&num);

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論