C++ C語言 程序設(shè)計 簡單的職工信息管理系統(tǒng)_第1頁
C++ C語言 程序設(shè)計 簡單的職工信息管理系統(tǒng)_第2頁
C++ C語言 程序設(shè)計 簡單的職工信息管理系統(tǒng)_第3頁
C++ C語言 程序設(shè)計 簡單的職工信息管理系統(tǒng)_第4頁
C++ C語言 程序設(shè)計 簡單的職工信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、傳媒工程系成 績C+程序設(shè)計語言結(jié)業(yè)報告課程名稱: C+程序設(shè)計語言 班級: B1101 學(xué)號: 姓名: 指導(dǎo)教師: 報告完成時間:_ 2013-10-28制定C+程序設(shè)計語言結(jié)業(yè)報告課程名稱C+程序設(shè)計語言班 級B1101實驗日期2013.12姓 名學(xué) 號實驗成績名 稱C+程序設(shè)計語言實驗?zāi)康募耙笳莆?Visual C+集成環(huán)境下調(diào)試標(biāo)準(zhǔn)C+程序的方法實驗環(huán)境Visual C+集成環(huán)境、Windows XP 操作系統(tǒng)實驗內(nèi)容1. 用C+語言開發(fā)“簡單的學(xué)生成績管理系統(tǒng)”。 算法描述及實驗步驟(用適當(dāng)?shù)男问奖磉_(dá)算法設(shè)計思想與算法實現(xiàn)步驟)主菜單添加職工信息修改職工信息職工刪除信息職工信息查詢

2、職工信息排序保存員工信息While()讀取數(shù)據(jù)Switch() 開始開 退出 其中:(1) 主菜單模塊完成用戶命令的接受,此模塊也是職工信息管理的入口,用戶所要進(jìn)行的各種操作均需在此模塊中進(jìn)行選擇,并進(jìn)而調(diào)用其他模塊實現(xiàn)相應(yīng)的功能。(2) 信息添加模塊完成職工信息的輸入功能,輸入信息包括職工號、姓名、性別,出生年月、學(xué)歷、職務(wù)、工資、住址、電話等。(3) 信息顯示模塊完成已錄入職工信息的顯示。(4) 信息查詢模塊完成職工信息的查詢,查詢時對應(yīng)有按編號查詢和按姓名查詢兩種方式。(5) 信息修改模塊完成職工信息的修改功能。(6) 信息刪除功能模塊完成職工信息的刪除功能。(7) 信息排序模塊完成對職

3、工信息的排序,排序內(nèi)容包括工號,工資等。(8) 信息保存模塊完成對職工信息的保存。4.數(shù)據(jù)結(jié)構(gòu)本系統(tǒng)中主要的數(shù)據(jù)結(jié)構(gòu)就是職工的信息,包含職工號、姓名、性別、出生年月、學(xué)歷、職務(wù)、工資、住址、電話等,在處理過程中各項可以作為一個職工的不同屬性來進(jìn)行處理。5.程序流程系統(tǒng)的執(zhí)行應(yīng)從功能菜單選擇開始,依據(jù)用戶的選擇來進(jìn)行后續(xù)的處理,直到用戶選擇退出系統(tǒng)為止,其間應(yīng)對用戶的選擇做出判斷及異常處理。系統(tǒng)的流程圖如圖所示:調(diào)試過程及實驗結(jié)果總結(jié)在本系統(tǒng)的開發(fā)過程中,由于組是初次開發(fā)軟件,在知識、經(jīng)驗方面都存在著不足。另外,在整個開發(fā)的過程中,時間也比較倉促。因此,該系統(tǒng)必然會存在一些缺陷和不足。因為職工信

4、息管理的整個流程不夠熟悉,在需求分析時未能做到完全滿足用戶的需求。盡管本管理系統(tǒng)存在著很多不足,但其功能全面、易于日后程序更新、數(shù)據(jù)庫管理容易、界面友好、操作方便、效率高、安全性好等優(yōu)點是本管理系統(tǒng)所必需的。通過開發(fā)這個系統(tǒng),我組掌握了的項目基本開發(fā)過程,用到的知識鞏固了我組對C語言的學(xué)習(xí),但在這次設(shè)計中的最大收獲并不是掌握這幾門開發(fā)工具的應(yīng)用,而是學(xué)會了設(shè)計系統(tǒng)的思維方法,以及與同學(xué)們之間相互幫助的精神。附錄(源程序等)#include<iostream>#include"string"#include<fstream>#include <s

5、tdlib.h>#include <stdio.h>#define N 100/N作為最大職工總數(shù)int f=0;/f作為開關(guān)using namespace std;string p;/p作為接收菜單選項的字符串void menu();/顯示菜單class workerpublic:worker() void show();/職工信息顯示worker()friend class WorkerList;private:string num,name,sex,edu,address,tel;int age,salary;class WorkerListprivate:worker

6、 wN;int NUM;/用來計算職工數(shù)目 int count;/用來暫時記錄當(dāng)前操作第幾個職工public:void add();/職工信息錄入void sort();/職工信息排序void search();/職工信息查找void dele();/職工信息刪除void modify();/職工信息修改 void save();/職工信息以文件形式保存void showworker();/顯示職工信息在屏幕上WorkerList()NUM=0;count=0;void menu()cout<<endl;cout<<"*"<<endl;c

7、out<<"* *"<<endl;cout<<"* 職工信息管理系統(tǒng)主菜單 *"<<endl;cout<<"* *"<<endl;cout<<"* 1.職工信息添加 *"<<endl;cout<<"* 2.職工信息修改 *"<<endl;cout<<"* 3.職工信息刪除 *"<<endl;cout<<"* 4.

8、職工信息排序 *"<<endl;cout<<"* 5.職工信息查找 *"<<endl;cout<<"* 6.職工信息顯示 *"<<endl;cout<<"* 7.職工信息保存 *"<<endl;cout<<"* 0.退出 *"<<endl;cout<<"* *"<<endl;cout<<"*"<<endl;cou

9、t<<endl;void domain()/主菜單函數(shù)實現(xiàn)WorkerList wl;while(1)system("cls");menu();cout<<"請選擇數(shù)字編號7"<<endl;int i1;cin>>i1;while(!(i1>=0&&i1<=7)cout<<"輸入有誤,請重新輸入:"<<endl;cin>>i1;switch(i1)case 1:wl.add();break;case 2:wl.modify(

10、);break;case 3:wl.dele();break;case 4:wl.sort();break;case 5:wl.search();break;case 7:wl.save();break;case 6:wl.showworker();break;case 0:cout<<"系統(tǒng)退出!"<<endl;exit(0);default:break;cout<<"是否返回主菜單? Y/N"<<endl;cin>>p;if(p="n"|p="N")c

11、out<<"系統(tǒng)退出!"<<endl;exit(0);/getchar();void WorkerList:add()/職工信息添加函數(shù)實現(xiàn)cout<<"請輸入職工信息:"<<endl; cout<<"工號t姓名t性別t學(xué)歷t年齡t工資t地址t電話"<<endl;string num;cin>>num;for(int i=0;i<NUM;i+)while(num=wi.num)cout<<"此職工編號已存在,請重新輸入:&q

12、uot;<<endl;cin>>num;wNUM.num=num;cin>>wNUM.name>>wNUM.sex>>wNUM.edu>>wNUM.age>>wNUM.salary>>wNUM.address>>wNUM.tel;+NUM;count=NUM;void worker:show()/顯示職工信息函數(shù)實現(xiàn)cout<<"工號t姓名t性別t學(xué)歷t年齡t工資t地址t電話"<<endl;cout<<num<<'

13、;t'<<name<<'t'<<sex<<'t'<<edu<<'t'<<age<<'t'<<salary<<'t'<<address<<'t'<<tel<<endl;cout<<endl;void WorkerList:modify()/職工信息修改函數(shù)實現(xiàn)if(NUM<=0)cout<<&quo

14、t;沒有職工信息存入,系統(tǒng)將返回主菜單"<<endl;menu();elsecout<<"職工信息如下:"<<endl;cout<<"工號t姓名t性別t學(xué)歷t年齡t工資t地址t電話"<<endl;for(int i=0;i<count;i+)cout<<wi.num<<'t'<<<<'t'<<wi.sex<<'t'<<<

15、;<'t'<<wi.age<<'t'<<wi.salary<<'t'<<wi.address<<'t'<<wi.tel<<endl;cout<<"請輸入需要修改信息職工的工號:"<<endl;string num1;cin>>num1;int j=0,k;int flag=1;while(flag)for(;j<count;j+)if(num1=wj.num)flag=

16、0;k=j;break;if(flag)cout<<"不存在此員工,請重新輸入:"<<endl;j=0;cin>>num1;cout<<"你選擇的職工的信息為:"<<endl;cout<<"工號t姓名t性別t學(xué)歷t年齡t工資t地址t電話"<<endl;cout<<wk.num<<'t'<<<<'t'<<wk.sex<<'t

17、9;<<<<'t'<<wk.age<<'t'<<wk.salary<<'t'<<wk.address<<'t'<<wk.tel<<endl;cout<<endl;cout<<"*"<<endl;cout<<"* 1.修改工號 *"<<endl;cout<<"* 2.修改姓名 *&q

18、uot;<<endl;cout<<"* 3.修改性別 *"<<endl;cout<<"* 4.修改學(xué)歷 *"<<endl;cout<<"* 5.修改年齡 *"<<endl;cout<<"* 6.修改工資 *"<<endl;cout<<"* 7.修改地址 *"<<endl;cout<<"* 8.修改電話 *"<<endl;c

19、out<<"* 0.返回主菜單 *"<<endl;cout<<"*"<<endl;cout<<endl;cout<<"請選擇數(shù)字編號8"<<endl;int i3;cin>>i3;while(i3<0|i3>8)cout<<"輸入有誤,請重新輸入:"<<endl;cin>>i3;switch(i3)case 1:cout<<"請輸入新的職工工號:&qu

20、ot;cin>>wk.num;cout<<"修改信息已保存,現(xiàn)返回主菜單:"<<endl;menu();break;case 2:cout<<"請輸入新的職工姓名:"cin>>;cout<<"修改信息已保存,現(xiàn)返回主菜單:"<<endl;menu();break;case 3:cout<<"請輸入新的職工性別:"cin>>wk.sex;cout<<"修改信息已保存,現(xiàn)返回主

21、菜單:"<<endl;menu();break;case 4:cout<<"請輸入新的職工學(xué)歷:"cin>>;cout<<"修改信息已保存,現(xiàn)返回主菜單:"<<endl;menu();break;case 5:cout<<"請輸入新的職工年齡:"cin>>wk.age;cout<<"修改信息已保存,現(xiàn)返回主菜單:"<<endl;menu();break;case 6:cout<&l

22、t;"請輸入新的職工工資:" cin>>wk.salary;cout<<"修改信息已保存,現(xiàn)返回主菜單:"<<endl;menu();break;case 7:cout<<"請輸入新的職工地址:" cin>>wk.address;cout<<"修改信息已保存,現(xiàn)返回主菜單:"<<endl;menu();break;case 8:cout<<"請輸入新的職工電話:"cin>>wk.tel;c

23、out<<"修改信息已保存,現(xiàn)返回主菜單:"<<endl;menu();break;case 0:menu();default:break;void WorkerList:showworker()/職工信息顯示函數(shù)實現(xiàn)if(NUM<=0)cout<<"沒有職工信息存入,系統(tǒng)將返回主菜單"<<endl;menu();elsecout<<"已保存的職工信息如下:"<<endl;cout<<"工號t姓名t性別t學(xué)歷t年齡t工資t地址t電話&q

24、uot;<<endl;for(int i=0;i<count;i+)cout<<wi.num<<'t'<<<<'t'<<wi.sex<<'t'<<<<'t'<<wi.age<<'t'<<wi.salary<<'t'<<wi.address<<'t'<<wi.tel

25、<<endl;/*cout<<"是否返回主菜單? Y/N"<<endl;cin>>p;while(1)if(p="y"|p="Y")menu();else if(p="n"|p="N")cout<<"系統(tǒng)退出!"<<endl;exit(0);else cout<<"輸入有誤,請重新輸入:"cin>>p;*/void WorkerList:search()if(N

26、UM<=0)cout<<"沒有職工信息存入,系統(tǒng)將返回主菜單"<<endl;menu();elsecout<<"請選擇查找方式:"<<endl;cout<<"*"<<endl;cout<<"* 1.按工號查找 *"<<endl;cout<<"* 2.按姓名查找 *"<<endl;cout<<"* 3.按工資查找 *"<<endl

27、;cout<<"* 4.按學(xué)歷查找 *"<<endl;cout<<"* 0.返回主菜單 *"<<endl;cout<<"*"<<endl;cout<<endl;cout<<"請選擇數(shù)字編號4"<<endl;int i4;cin>>i4;while(i4<0|i4>4)cout<<"輸入有誤,請重新輸入:"<<endl;cin>>i

28、4;if(i4=1)string num2;cout<<"請輸入要查詢的職工的工號:"<<endl;cin>>num2;int j=0,k;int flag=1;while(flag)for(;j<count;j+)if(num2=wj.num)flag=0;k=j;cout<<"查詢的職工信息如下:"<<endl;cout<<"工號t姓名t性別t學(xué)歷t年齡t工資t地址t電話"<<endl;cout<<wk.num<<&#

29、39;t'<<<<'t'<<wk.sex<<'t'<<<<'t'<<wk.age<<'t'<<wk.salary<<'t'<<wk.address<<'t'<<wk.tel<<endl;break;if(flag)flag=0;cout<<"不存在此職工!n返回主菜單"

30、<<endl;break;else if(i4=2)string name2;cout<<"請輸入要查詢的職工的姓名:"<<endl;cin>>name2;int j2=0,k2;int flag2=1;while(flag2)for(;j2<count;j2+)if(name2=)flag2=0;k2=j2;cout<<"查詢的職工信息如下:"<<endl;cout<<"工號t姓名t性別t學(xué)歷t年齡t工資t地址t電話"<&

31、lt;endl;cout<<wk2.num<<'t'<<<<'t'<<wk2.sex<<'t'<<<<'t'<<wk2.age<<'t'<<wk2.salary<<'t'<<wk2.address<<'t'<<wk2.tel<<endl;break;if(flag2

32、)flag2=0;cout<<"不存在此職工!n返回主菜單"<<endl;break;else if(i4=3)int salary2;cout<<"請輸入要查詢的職工的工資:"<<endl;cin>>salary2;int j3=0,k3;int flag3=1;while(flag3)for(;j3<count;j3+)if(salary2=wj3.salary)flag3=0;k3=j3;cout<<"查詢的職工信息如下:"<<endl;c

33、out<<"工號t姓名t性別t學(xué)歷t年齡t工資t地址t電話"<<endl;cout<<wk3.num<<'t'<<<<'t'<<wk3.sex<<'t'<<<<'t'<<wk3.age<<'t'<<wk3.salary<<'t'<<wk3.address<<&#

34、39;t'<<wk3.tel<<endl;break;if(flag3)flag3=0;cout<<"不存在此職工!n返回主菜單"<<endl;break;else if(i4=4)string edu2;cout<<"請輸入要查詢的職工的學(xué)歷:"<<endl;cin>>edu2;int j4=0,k4;int flag4=1;while(flag4)for(;j4<count;j4+)if(edu2=)flag4=0;k4=j4;cout&l

35、t;<"查詢的職工信息如下:"<<endl;cout<<"工號t姓名t性別t學(xué)歷t年齡t工資t地址t電話"<<endl;cout<<wk4.num<<'t'<<<<'t'<<wk4.sex<<'t'<<<<'t'<<wk4.age<<'t'<<wk4.salary<&l

36、t;'t'<<wk4.address<<'t'<<wk4.tel<<endl;break;if(flag4)flag4=0;cout<<"不存在此職工!n返回主菜單"<<endl;break;else if(i4=0)menu();void WorkerList:sort()/職工信息排序功能實現(xiàn)if(NUM<=0)cout<<"沒有職工信息存入,系統(tǒng)將返回主菜單"<<endl;menu();elsecout<<

37、;"請選擇排序方式:"<<endl;cout<<"*"<<endl;cout<<"* 1.按工號排序(升序) *"<<endl;cout<<"* 2.按工號排序(降序) *"<<endl;cout<<"* 3.按姓名排序(升序) *"<<endl;cout<<"* 4.按姓名排序(降序) *"<<endl;cout<<"*

38、5.按工資排序(升序) *"<<endl;cout<<"* 6.按工資排序(降序) *"<<endl;cout<<"* 0.返回主菜單 *"<<endl;cout<<"*"<<endl;cout<<endl;cout<<"請選擇數(shù)字編號6"<<endl;int i5;cin>>i5;while(i5<0|i5>6)cout<<"輸入有誤,請重

39、新輸入:"<<endl;cin>>i5;if(i5=1)for(int i=0;i<count-1;i+)for(int j=0;j<count-1-i;j+)if(wj.num>wj+1.num)string temp;temp=wj.num;wj.num=wj+1.num;wj+1.num=temp;cout<<"按工號升序后的信息如下:"<<endl;cout<<"工號t姓名t性別t學(xué)歷t年齡t工資t地址t電話"<<endl;for(int i=0;

40、i<count;i+)cout<<wi.num<<'t'<<<<'t'<<wi.sex<<'t'<<<<'t'<<wi.age<<'t'<<wi.salary<<'t'<<wi.address<<'t'<<wi.tel<<endl;else if(i5=2)for

41、(int i=0;i<count-1;i+)for(int j=0;j<count-1-i;j+)if(wj.num<wj+1.num)string temp;temp=wj.num;wj.num=wj+1.num;wj+1.num=temp;cout<<"按工號降序后的信息如下:"<<endl;cout<<"工號t姓名t性別t學(xué)歷t年齡t工資t地址t電話"<<endl;for(int i=0;i<count;i+)cout<<wi.num<<'t&#

42、39;<<<<'t'<<wi.sex<<'t'<<<<'t'<<wi.age<<'t'<<wi.salary<<'t'<<wi.address<<'t'<<wi.tel<<endl;else if(i5=3)for(int i=0;i<count-1;i+)for(int j=0;j<count-

43、1-i;j+)if(>wj+1.name)string temp;temp=;=wj+1.name;wj+1.name=temp;cout<<"按姓名升序后的信息如下:"<<endl;cout<<"工號t姓名t性別t學(xué)歷t年齡t工資t地址t電話"<<endl;for(int i=0;i<count;i+)cout<<wi.num<<'t'<<<<'t'<&

44、lt;wi.sex<<'t'<<<<'t'<<wi.age<<'t'<<wi.salary<<'t'<<wi.address<<'t'<<wi.tel<<endl;else if(i5=4)for(int i=0;i<count-1;i+)for(int j=0;j<count-i-1;j+)if(<wj+1.name)string temp

45、;temp=;=wj+1.name;wj+1.name=temp;cout<<"按姓名降序后的信息如下:"<<endl;cout<<"工號t姓名t性別t學(xué)歷t年齡t工資t地址t電話"<<endl;for(int i=0;i<count;i+)cout<<wi.num<<'t'<<<<'t'<<wi.sex<<'t'<<

46、<<'t'<<wi.age<<'t'<<wi.salary<<'t'<<wi.address<<'t'<<wi.tel<<endl;else if(i5=5)for(int i=0;i<count-1;i+)for(int j=0;j<count-i-1;j+)if(wj.salary>wj+1.salary)int temp;temp=wj.salary;wj.salary=wj+1.salary;wj+

47、1.salary=temp;cout<<"按工資升序后的信息如下:"<<endl;cout<<"工號t姓名t性別t學(xué)歷t年齡t工資t地址t電話"<<endl;for(int i=0;i<count;i+)cout<<wi.num<<'t'<<<<'t'<<wi.sex<<'t'<<<<'t'<<wi.age

48、<<'t'<<wi.salary<<'t'<<wi.address<<'t'<<wi.tel<<endl;else if(i5=6)for(int i=0;i<count-1;i+)for(int j=0;j<count-i-1;j+)if(wj.salary<wj+1.salary)int temp;temp=wj.salary;wj.salary=wj+1.salary;wj+1.salary=temp;cout<<"按

49、工資降序后的信息如下:"<<endl;cout<<"工號t姓名t性別t學(xué)歷t年齡t工資t地址t電話"<<endl;for(int i=0;i<count;i+)cout<<wi.num<<'t'<<<<'t'<<wi.sex<<'t'<<<<'t'<<wi.age<<'t'<<wi.sal

50、ary<<'t'<<wi.address<<'t'<<wi.tel<<endl;else if(i5=0)menu();void WorkerList:dele()/職工信息刪除功能實現(xiàn)if(NUM<=0)cout<<"沒有職工信息存入,系統(tǒng)將返回主菜單"<<endl;menu();elsecout<<"職工信息如下:"<<endl;cout<<"工號t姓名t性別t學(xué)歷t年齡t工資t地址t

51、電話"<<endl;for(int i=0;i<count;i+)cout<<wi.num<<'t'<<<<'t'<<wi.sex<<'t'<<<<'t'<<wi.age<<'t'<<wi.salary<<'t'<<wi.address<<'t'<<wi.tel<<endl;cout<<"請輸入

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論