




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Good is good, but better carries it.精益求精,善益求善。C語言程序設計-職工信息管理系統-C語言課程設計報告職工信息管理系統設計班級:0346502姓名:楊鳴學號:20081003456指導老師:谷老師職工信息管理系統題目要求職工信息包括職工號、姓名、性別、年齡、學歷、工資、住址、電話等(職工號不重復)。試設計一職工信息管理系統,使之能提供以下功能:系統以菜單的方式工作。職工信息錄入功能(職工信息用文件保存)。職工瀏覽功能。職工信息查詢功能,查詢方式可按學歷查詢或者工號查詢。職工信息的刪除、修改功能(可選項)。具體要求1、輸入功能:職工信息錄入(職工信息用文
2、件保存),可以一次完成若干條記錄的輸入。2、瀏覽功能:完成對全部職工信息的顯示。3、查找功能:=1*GB3完成按職工的職工號查詢職工的相關信息,并顯示。=2*GB3完成按職工的學歷查詢職工的相關信息,并顯示。4、刪除功能:通過輸入職工的姓名完成對該名職工的信息進行刪除。5、修改功能:通過輸入職工的姓名完成對該名職工的信息進行修改。6、退出職工信息管理系統。解決方案1、首先進行需求分析,搞清楚系統功能和任務;2、然后在總體設計中確定模塊結構、劃分功能模塊,將軟件功能需求分配給所劃分的最單元模塊。確定模塊間的聯系,確定數據結構、文件結構、數據庫模式,確定測試方法與策略;3、在詳細設計中,為每個模塊
3、確定采用的算法,選擇適當的流程圖來描述模塊的詳細過程。確定每一模塊采用的數據結構和模塊接口的細節,包括對系統外部的接口和用戶界面,對系統內部其他模塊的接口;4、根據分析編寫C語言代碼。四、寫課程設計總結課程設計報告要求總結報告包括需求分析、總體設計、詳細設計、編碼(詳細寫出編程步驟)、測試的步驟和內容等。總設計方案一系統的總體流程圖菜單開始根據菜單輸入n的值選擇程序保存結束是否繼續進行NYYY5修改職工信息2瀏覽職工信息3查詢職工信息4刪除職工信息6退出1錄入職工信息圖1.系統的總體流程圖二.為了方便使用結構此系統結構均為全局類型定義structemployee/定義一個職工信息的結構體/in
4、tnum;charname10;charsex;intage;charxueli30;intwage;charaddr30;chartel20;em100;三.各模塊的功能及實現步驟1.菜單模塊:顯示職工管理系統的主菜單,供用戶選擇所需的功能,通過自己定義的voidmenu()函數來實現。2.輸入模塊:輸入職工的工號、姓名以及其它的一些職工的相關信息,通過自己定義的voidinput()函數來實現。3.保存模塊:將內存中職工的信息輸出到磁盤文件中,可以通過自己定義的voidsave(int)函數來實現。4.瀏覽模塊:瀏覽所有職工的相關信息,通過自己定義的voiddisplay()函數來實現。5
5、.刪除模塊:刪除需要刪除的職工的所有信息,通過自己定義的voiddel()函數來實現。6.按職工號查詢模塊:可以按職工號來查詢職工的相關信息,通過自己定義的voidsearch_num()函數來實現。7.按職工的的學歷查詢模塊:可以按職工的學歷來查詢職工的相關信息,通過自己定義的voidsearch_xuelil函數來實現。8.修改模塊:可以修改需要修改的職工的相關信息,通過自己定義的voidmodify()函數來實現。9.退出系統模塊:退出職工信息管理系統,通過頭文件windows.h中的exit(0)函數來實現。步驟分析及上機運行1.運行程序,進入職工信息管理系統的主菜單:圖1:進入主菜單
6、界面2.輸入數字“1”錄入職工信息:圖2:錄入職工信息3.輸入“y”返回主菜單:4.輸入“2”瀏覽職工信息:圖3:瀏覽職工信息5.輸入“y”后繼續,輸入“3”進行查詢職工信息:圖4:按職工號及學歷查詢職工信息6.進入主菜單,輸入“4”進行刪除職工信息:圖5:刪除職工信息7.進入主菜單輸入“5”進行修改職工信息:圖7:修改職工信息8.進入8菜單輸入”6”退出職工信息管理系統。職工信息管理系統源程序代碼#include#include#include#defineN100structemployeeintnum;charname20;charsex;intage;charxueli30;intwa
7、ge;charaddr30;chartel20;em100;/*定義一個結構體*/voidmenu();voidinput();voidsave(int);voiddisplay();voiddel();voidsearch();voidsearch_num();voidsearch_xueli();voidsearch_tel();voidmodify();/*定義各函數*/voidmain()menu();intn,flag;chara;doprintf(請選擇你需要操作的步驟(1-6):n);scanf(%d,&n);if(n=1&n=6)flag=1;break;elseflag=0;
8、printf(您輸入有誤,請重新選擇!);while(flag=0);while(flag=1)switch(n)case1:printf(輸入職工信息n);printf(n);input();break;case2:printf(瀏覽職工信息n);printf(n);display();break;case3:printf(按職工號查詢職工信息n);printf(n);search();break;case4:printf(刪除職工信息n);printf(n);del();break;case5:printf(修改職工信息n);printf(n);modify();break;case6:e
9、xit(0);break;default:break;getchar();printf(n);printf(是否繼續進行(yorn):n);scanf(%c,&a);if(a=y)flag=1;system(cls);/*清屏*/menu();/*調用菜單函數*/printf(請再次選擇你需要操作的步驟(1-6):n);scanf(%d,&n);printf(n);elseexit(0);voidmenu()/*菜單函數*/printf(*歡迎進入職工信息管理系統*n);printf(1.錄入職工信息);printf(2.瀏覽職工信息n);printf(3.查詢職工信息);printf(4.刪
10、除職工信息n);printf(5.修改職工信息);printf(6.退出n);printf(*謝謝使用*n);printf(n);printf(n);voidinput()/*錄入函數*/inti,m;printf(請輸入需要創建信息的職工人數(1-100):n);scanf(%d,&m);for(i=0;im;i+)printf(請輸入職工號:);scanf(%d,&emi.num);printf(請輸入姓名:);scanf(%s,);getchar();printf(請輸入性別(f-女m-男):);scanf(%c,&emi.sex);printf(請輸入年齡:);scan
11、f(%d,&emi.age);printf(請輸入學歷:);scanf(%s,emi.xueli);printf(請輸入工資:);scanf(%d,&emi.wage);printf(請輸入住址:);scanf(%s,emi.addr);printf(請輸入電話:);scanf(%s,emi.tel);printf(n);printf(n創建完畢!n);save(m);voidsave(intm)/*保存文件函數*/inti;FILE*fp;if(fp=fopen(employee_list,wb)=NULL)printf(cannotopenfilen);exit(0);for(i=0;im
12、;i+)/*將內存中職工的信息輸出到磁盤文件中去*/if(fwrite(&emi,sizeof(structemployee),1,fp)!=1)printf(filewriteerrorn);fclose(fp);intload()/*導入函數*/FILE*fp;inti=0;if(fp=fopen(employee_list,rb)=NULL)printf(cannotopenfilen);exit(0);elsedofread(&emi,sizeof(structemployee),1,fp);i+;while(feof(fp)=0);fclose(fp);return(i-1);voi
13、ddisplay()/*瀏覽函數*/inti;intm=load();printf(職工號t姓名tt性別tt年齡n);for(i=0;im;i+)/*m為輸入部分的職工人數*/printf(n%dtt%st%ctt%dtn,emi.num,,emi.sex,emi.age);printf(n學歷tt工資tt住址tt電話n);for(i=0;im;i+)/*m為輸入部分的職工人數*/printf(n%st%dtt%st%sn,emi.xueli,emi.wage,emi.addr,emi.tel);voiddel()/*刪除函數*/intm=load();inti,j,n,t,f
14、lag;charname20;printf(n原來的職工信息:n);display();printf(n);printf(請輸入要刪除的職工的姓名:n);scanf(%s,name);for(flag=1,i=0;flag&im;i+)if(strcmp(,name)=0)printf(n已找到此人,原始記錄為:n);printf(職工號t姓名tt性別tt年齡n);printf(n%dtt%st%ctt%dtn,emi.num,,emi.sex,emi.age);printf(n學歷tt工資tt住址tt電話n);printf(n%st%dtt%st%sn,emi
15、.xueli,emi.wage,emi.addr,emi.tel);printf(n確實要刪除此人信息請按1,不刪除請按0n);scanf(%d,&n);if(n=1)for(j=i;j=1&t=3)flag=1;break;elseflag=0;printf(您輸入有誤,請重新選擇!);while(flag=0);while(flag=1)switch(t)case1:printf(按職工號查詢n);search_num();break;case2:printf(按學歷查詢n);search_xueli();break;case3:main();break;default:break;voi
16、dsearch_num()intnum;inti,t;intm=load();printf(請輸入要查找的職工號:n);scanf(%d,&num);for(i=0;im;i+)if(num=emi.num)printf(n已找到此人,其記錄為:n);printf(職工號t姓名tt性別tt年齡n);printf(n%dtt%st%ctt%dtn,emi.num,,emi.sex,emi.age);printf(n學歷tt工資tt住址tt電話n);printf(n%st%dtt%st%sn,emi.xueli,emi.wage,emi.addr,emi.tel);break;if
17、(i=m)printf(n對不起,查無此人n);printf(n);printf(返回查詢函數請按1,繼續查詢職工號請按2n);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;im;i+)if(strcmp(emi.xueli,xueli)=0)printf(n已找到,其記錄為:n);printf(職工號t姓名tt性別tt
18、年齡n);printf(n%dtt%st%ctt%dtn,emi.num,,emi.sex,emi.age);printf(n學歷tt工資tt住址tt電話n);printf(n%st%dtt%st%sn,emi.xueli,emi.wage,emi.addr,emi.tel);if(i=m)printf(n對不起,查無此人n);printf(n);printf(返回查詢函數請按1,繼續查詢學歷請按2n);scanf(%d,&t);switch(t)case1:search();break;case2:break;default:break;voidmodify()/*修改函數*
19、/intnum;charname20;charsex;intage;charxueli30;intwage;charaddr30;chartel20;intb,c,i,n,t,flag;intm=load();printf(n原來的職工信息:n);display();printf(n);printf(請輸入要修改的職工的姓名:n);scanf(%s,name);for(flag=1,i=0;flag&i8|c1)printf(n選擇錯誤,請重新選擇!n);flag=0;if(flag=1)printf(n對不起,查無此人!n);doswitch(c)/*因為當找到第i個職工時,for語句后i自加了1,所以下面的應該把改后的信息賦值給第i-1個人*/case1:printf(職工號改為:);scanf(%d,&num);emi-1.num=num;brea
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 5-2寄存器2-74194的應用
- 統編版語文五年級下冊第1課《古詩三首》精美課件
- 新疆師范大學《臨床技能與思維一》2023-2024學年第二學期期末試卷
- 沈陽航空航天大學北方科技學院《商務英語寫作(二)》2023-2024學年第一學期期末試卷
- 朔州陶瓷職業技術學院《阿拉伯語精讀》2023-2024學年第二學期期末試卷
- 山西林業職業技術學院《醫療與康復機器人》2023-2024學年第二學期期末試卷
- 山東省濟南市長清五中學2025屆初三下學期模擬試題(二)化學試題含解析
- 廈門大學《給排水管道系統》2023-2024學年第二學期期末試卷
- 利辛縣2024-2025學年五年級數學第二學期期末學業水平測試試題含答案
- 江西省萍鄉市蓮花縣2024-2025學年初三第五次中考模擬考試數學試題含解析
- DB62∕T 25-3111-2016 建筑基坑工程技術規程
- 大班音樂《水果百變秀》課件
- 婦幼保健院醫療保健服務轉介工作制度和流程
- 國家職業技能鑒定考評員考試題庫1100題【含答案】
- 監察機關執法工作規定學習測試
- 產品鑒定試驗大綱
- 2022職業病防治法宣傳周PPT
- 常州市武進區征地拆遷房屋裝修及附屬設施補償標準
- 民辦教師人員花名冊
- 國家開放大學《管理英語4》章節測試參考答案
- 公路工程決算編制辦法(交公路發2004-507號)附表
評論
0/150
提交評論