用c實現的職工信息管理系統(tǒng)_第1頁
用c實現的職工信息管理系統(tǒng)_第2頁
用c實現的職工信息管理系統(tǒng)_第3頁
用c實現的職工信息管理系統(tǒng)_第4頁
用c實現的職工信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、#include#includestring#include#include #include #define N 1OO/N 作為最大職工總數int f=O;/f 作為開關using namespace std;string p;/ 接受菜單選項void menu();/ 菜單制作class worker/ 職工基本信息類public:worker()void visit();/ 職工信息顯示worker()friend class WorkerList;/private:友元函數 wotkerliststringnum,name,sex,edu,address,tel;/工號 姓名 性別

2、學歷 地址 電int age,salary;/ 年齡 月薪;class WorkerList/ 職工系統(tǒng)功能實現類private: worker wN;/ 第 N 個職工 intNUM;/ 用來計算職工數目 int count;/public:void add();/void sort();/ void search();/void dele();/ void change();/ voidsave();/用來暫時記錄當前操作第幾個職工職工信息錄入職工信息排序職工信息查找職工信息刪除職工信息修改職工信息以文件形式保存 顯示職工信息在屏幕上void visitworker();/ WorkerL

3、ist() NUM=0;count=O;/默認構造函數初始化 NUM 和 count;void menu()/ 系統(tǒng)主菜單coutendl;coutendl;cout*endl;cout*endl;cout*職工信息管理系統(tǒng)主菜單*encout*endl;cout*1.職工信息添加*endl;cout*2.職工信息修改*endl;cout*3.職工信息刪除*endl;cout*4.職工信息排序*endl;cout*5.職工信息查找*endl;cout*6.職工信息顯示*endl;cout*7.職工信息保存*endl;cout*0.退出*endl;cout*endl;cout*endl;cout

4、endl;各個功能函數定義void WorkerList:add()/ 職工信息添加函數實現cout 請輸入職工信息 :endl;coutvv工號t 姓名t 性別t 學歷t 年齡t 工資t 地址t 電話num;for(int i=0;iNUM;i ) while(num=wi.num)cout 此職工編號已存在,請重新輸入: num;wNUM.num=num;cinwNUM.namewNUM.sexwNUM.eduwNUM.agewNUM.salarywNUM.addresswNUM.tel;NUM;count=NUM;/void WorkerList:change()/ 職工信息修改函數定義

5、if(NUM=0)/ 判斷是否有職工信息需要錄入cout 沒有職工信息存入,系統(tǒng)將返回主菜單 endl; menu();/ 無信息錄入,endl;for(int i=0;icount;i )twi.agetwi.salarytwi.addresstwi.telen dl;/ 輸出各職工基本信息cout 請輸入需要修改信息職工的工號: num1;/ 需要修改信息的員工工號int j=0,k;int flag=1;while(flag)/ 設置開關for(;jcount;j )if(num1=wj.num)flag=0;k=j; br

6、eak;找到對應工號的員工,將 flag 置 0if(flag)cout 不存在此員工,請重新輸入: num1;經過循環(huán)結構微找到對應員工號碼,重新輸入 num1cout 你選擇的職工的信息為: endl;coutvv工號t 姓名t 性別t 學歷t 年齡t 工資t 地址t 電話endl;twk.agetwk.salarytwk.addresstwk.telendl;coutendl;/ 需要修改的信息內容菜單cout*cout*1.修改工號*endl;cout*2.修改姓名*endl;cout*3.修改性別*endl;再次進入主菜

7、單elsecout 職工信息如下:coutvv工號t 姓名tendl;性別t 學歷t 年齡t 工資t 地址t 電話/cout*4.修改學歷*endl;cout*5.修改年齡*endl;cout*6.修改工資*endl;cout*7.修改地址*endl;cout*8.修改電話*endl;cout*0.返回主菜單*endlcout*endl;coutendl;cout 請選擇數字編號 18c;while(c8)cout 輸入有誤,請重新輸入: c;switch(c)case 1:coutwk.num;cout 修改信息已保存,現返回主菜單: endl; menu();break;case 2:co

8、;cout 修改信息已保存,現返回主菜單: endl; menu();break;case 3:coutwk.sex;cout 修改信息已保存,現返回主菜單:menu();break;case 4:;cout 修改信息已保存,現返回主菜單:menu();break;case 5:coutwk.age;cout 修改信息已保存,現返回主菜單:menu();break;case 6:coutwk.salary;cout 修改信息已保存,現返回主菜單:menu();break;case 7:coutwk.address;cout 修改信息已保存,現返回主菜單:m

9、enu();break;case 8:coutwk.tel;cout 修改信息已保存,現返回主菜單:menu();break;case 0:menu();default:break;endl;endl;endl;endl;endl;endl;void WorkerList:save()/ 職工信息保存函數定義if(NUM=0)cout 沒有職工信息存入,系統(tǒng)將返回主菜單 endl; menu();elseofstream out;ifstream in; out.open(E:worker.txt,ios:out);cout 數據保存成功! endl;cout 已保存員工信息如下: endl;

10、coutvv工號t 姓名t 性別t 學歷t 年齡t 工資t 地址t 電話endl;/ 輸出保存后的員工信息表for(int i=0;icount;i )twi.agetwi.salarytwi.addresstwi.telen dl;cout 系統(tǒng)返回主菜單: endl; menu();out.close();void WorkerList:visitworker()/if(NUM=0)cout 沒有職工信息存入,系統(tǒng)將返回主菜單 endl; menu();elsecout 已保存的職工信息如下: endl;coutvv工號t 姓

11、名t 性別t 學歷t 年齡t 工資t 地址t 電話endl; for(inti=0;ip; while(1)if(p=y|p=Y)menu();else if(p=n|p=N)cout 退出系統(tǒng) endl; exit(0);elsecoutp;void WorkerList:search()/if(NUM=0)cout 沒有職工信息存入,系統(tǒng)將返回主菜單 endl; menu();elsecout 輸入有誤,請重新輸入: endl;員工信息查找函數定義cout 請選擇查找方式: endl;/ 查找方式選擇菜單endl; *endl; *endl; *endl; *endl;endl;cout*

12、 cout* cout* cout* cout*cout* coutendl;cout 請選擇數字編號 03i4; while(i43).按工號查找按姓名查找按工資查找返回主菜單cini4;if(i4=1)/ 按按工號查找代碼部分string num2;cout 請輸入要查詢的職工的工號: num2;int j=0,k;int flag=1;while(flag)for(;jcount;j )if(num2=wj.num)flag=0;k=j;cout 查詢的職工信息如下:endl;coutvv工號t 姓名t 性別t 學twk.sextwk.e

13、dutwk.agetwk.salarytwk.addresstwk.telendl;break;if(flag)flag=0;cout 不存在此職工 !n 返回主菜單 endl;break;else if(i4=2)/ 按姓名查找方式代碼部分string name2;cout 請輸入要查詢的職工的姓名: name2;歷t 年齡t工資t 地址t電話e ndl;int j2=0,k2; int flag2=1; while(flag2)for(;j2count;j2 )if(name2=)flag2=0;/ 設置開關k2=j2;cout 查詢的職工信息如下:coutvv工號t 姓名

14、t 性別t 學歷t 年齡t 工資t 地址t 電話endl;twk2.agetwk2.salarytwk2.addresstwk2 .telendl;break;if(flag2)flag2=0;cout 不存在此職工 !n 返回主菜單 endl;break;else if(i4=3)/int salary2;cout 請輸入要查詢的職工的工資: salary2;int j3=0,k3;int flag3=1;while(flag3)for(;j3count;j3 )endl;按工資查找代碼部分if(salary2=wj3.

15、salary)flag3=0;k3=j3;cout 查詢的職工信息如下:coutvv工號t 姓名t 性別t 學歷t 年齡t 工資t 地址t 電話endl;twk3.agetwk3.salarytwk3.addresstwk3 .telendl;break;if(flag3)flag3=0;cout 職工不存在 !n 返回主菜單 endl;break;else if(i4=0)menu();void WorkerList:sort()/if(NUM=0)cout 沒有職工信息存入,系統(tǒng)將返回主菜單 endl; menu();

16、elsecout 請選擇排序方式: endl;cout*endl;cout*1.按工號排序(升序)*endl;cout*2.按工號排序(降序)*endl;cout*3.按工資排序(升序)*endl;cout*4.按工資排序(降序)*endl;cout*0.返回主菜單*endl;cout*endl;coutendl;cout 請選擇數字編號 14i5;endl;職工信息排序功能函數實現while(i54)cout 輸入有誤,請重新輸入: i5;if(i5=1)for(int i=0;icount-1;i )/for(int j=0;jwj 1.num)string temp; temp=wj.n

17、um; wj.num=wj1.num; wj 1.num=temp;cout 按工號升序后的信息如下: endl;coutvv工號t 姓名t 性別t 學歷t 年齡t 工資t 地址t 電話endl;for( i=0;icount;i )twi.agetwi.salarytwi.addresstwi.telendl;else if(i5=2)for(int i=0;icount-1;i )for(int j=0;jcount-1-i;j )if(wj.numwj 1.num)string temp; temp=wj.num; wj.n

18、um=wj1.num; wj 1.num=temp;cout 按工號降序后的信息如下: endl;coutvv工號t 姓名t 性別t 學歷t 年齡t 工資t 地址t 電話endl;for( i=0;iwj 1.salary)int temp; temp=wj.salary; wj.salary=wj1.salary; wj 1.salary=temp;冒泡函數體實現排序cout 按工資升序后的信息如下: endl;coutvv工號t 姓名t 性別t 學歷t 年齡t 工資t 地址t 電話endl;for( i=0;icount;i )vvtvvwi

19、.vvtvvwi.agevvtvvwi.salaryvvtvvwi.addressvvtvvwi.telvvendl;else if(i5=4)for(int i=0;ivcount-1;i ) for(int j=0;jvcount-i-1;j )if(wj.salaryvwj 1.salary)int temp; temp=wj.salary; wj.salary=wj1.salary; wj 1.salary=temp;cout 按工資降序后的信息如下: endl;coutvv工號t 姓名t 性別t 學歷t 年齡t 工資t 地址t 電話for( i=0;ico

20、unt;i )tvvwi.agevvtvvwi.salaryvvtvvwi.addressvvtvvwi.telvven dl;else if(i5=0) menu();void WorkerList:dele()/if(NUMv=0)cout 沒有職工信息存入,系統(tǒng)將返回主菜單 endl; menu();elsecout 職工信息如下: endl;coutvv工號t 姓名t 性別t 學歷t 年齡t 工資t 地址t 電話endl;for(int i=0;inum3;int j=0,k;int flag6=1;while(flag6)for(;jcount;j )if(num3=wj.num)flag6=0;k=j;endl;職工信息刪除功能函數實現break;if(flag6)cout 不存在此員工,請重新輸入: num3;cout 你選擇的職工的信息為: endl;coutvv工號t 姓名t 性別t 學歷t 年齡t

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論