南郵通達簡單的工資管理系統(tǒng)_第1頁
南郵通達簡單的工資管理系統(tǒng)_第2頁
南郵通達簡單的工資管理系統(tǒng)_第3頁
南郵通達簡單的工資管理系統(tǒng)_第4頁
南郵通達簡單的工資管理系統(tǒng)_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

程序設(shè)計報告(2023/2023學年第1學期)題目:模擬工資管理系統(tǒng)專業(yè):計算機科學與技術(shù)學生姓名:班級學號:指導教師:指導單位:南京郵電大學通達學院日期:2023年12月9日評分細則評分項優(yōu)秀良好中檔差遵守機房規(guī)章制度上機時的表現(xiàn)學習態(tài)度程序準備情況程序設(shè)計能力團隊合作精神課題功能實現(xiàn)情況算法設(shè)計合理性用戶界面設(shè)計報告書寫認真限度內(nèi)容詳實限度文字表達純熟限度回答問題準確度簡短評語教師署名:年月日評分等級備注評分等級有五種:優(yōu)秀、良好、中檔、及格、不及格模擬工資管理系統(tǒng)一課題內(nèi)容和規(guī)定工資管理系統(tǒng)是一個單位最基本的一項財務(wù)管理,該系統(tǒng)規(guī)定實現(xiàn)查找,修改,刪除,記錄,排序等。所以帳務(wù)數(shù)據(jù)都要運用文獻系統(tǒng)保存,以備系統(tǒng)下次運營時使用。通過此課題,純熟掌握文獻,數(shù)組,指針的各項操作,以及一些基本算法思想的應用?;疽?guī)定:管理員:以密碼系統(tǒng)登錄錄入員工信息具體工資,計算相應的稅金(計算規(guī)則參見最新公布的政策)查詢并顯示所有員工具體信息顯示記錄信息:員工數(shù)目,工資總數(shù)和稅金總數(shù)按照指定條件查詢增減具體員工記錄稅金政策基本是不同收入等級的工資使用不同的比例收取稅金。類似于下表:工資稅金0~15000%(超過部分)1500~250010%(超過部分)2500~350015%(超過部分)3500~500020%(超過部分)5000~1000030%(超過部分)10000~40%(超過部分)員工:以工號為登錄ID,密碼自己設(shè)定;可以查詢本人的相關(guān)信息;系統(tǒng)提供指定期間間隔的查詢功能。二需求分析工資管理系統(tǒng)的功能框架圖如圖1所示。添加添加查找修改刪除顯示排序顯示退出工資管理系統(tǒng)保存圖一(功能框架圖)根據(jù)工資管理系統(tǒng)的規(guī)定,設(shè)計合適的數(shù)據(jù)結(jié)構(gòu)。選擇文獻存儲格式(文本或是二進制)和文獻名。采用自頂向下的設(shè)計方法,設(shè)計系統(tǒng)的總體模塊組成和數(shù)據(jù)結(jié)構(gòu)。對于每項操作,設(shè)計一個函數(shù)(方法、子模塊)進行實現(xiàn),要明擬定義函數(shù)類型。根據(jù)設(shè)計結(jié)果分布開發(fā)實現(xiàn)各模塊,最后進行總體集成。三、概要設(shè)計1重要結(jié)構(gòu)體classworker{public: worker() { } voidshow();//職工信息顯示 ~worker() { } doubleGetTax();//獲取繳稅doubleGetAccumPay();//獲取實發(fā)工資 friendclassWorkerList;private: stringnum,name,sex,edu,address,tel;//姓名,性別,教育限度,住址,電話 intage,salary,A;//年齡,薪水,稅金};classWorkerList{private: workerw[N]; intNUM;//用來計算職工數(shù)目intcount;//用來暫時記錄當前操作第幾個職工public: voidadd();//職工信息錄入 voidsort();//職工信息排序 voidsearch();//職工信息查找 voiddele();//職工信息刪除 voidmodify();//職工信息修改voidsave();//職工信息以文獻形式保存 voidshowworker();//顯示職工信息在屏幕上 voidread(); WorkerList() { NUM=0; count=0; }};2重要函數(shù)流程圖(1)登錄函數(shù)(如圖二所示)開始開始 管理員用戶管理員用戶請輸入密碼請輸入密碼請輸入密碼請輸入密碼NYYN能否登錄能否登錄能否登錄能否登錄進入系統(tǒng)進入系統(tǒng)圖二(登錄函數(shù)圖)(2)職工信息錄入如圖三所示學歷添加新員工信息學歷添加新員工信息請輸入要添加的員工人數(shù)姓名工號年齡工資電話地址性別圖三(錄入函數(shù))(3)職工信息查找(如圖四所示)查詢員工查詢員工請選擇查詢方式請選擇查詢方式學歷工資姓名工號學歷工資姓名工號請輸入待查詢的員工的工資請輸入待查詢的員工的姓名請輸入待查詢的員工的學歷請輸入待查詢的員工的工號請輸入待查詢的員工的工資請輸入待查詢的員工的姓名請輸入待查詢的員工的學歷請輸入待查詢的員工的工號所查詢的員工信息所查詢的員工信息按任意鍵返回按任意鍵返回圖四(查找函數(shù))(4)職工信息記錄(如圖五所示)打印員工信息打印員工信息所以員工信息列表按任意鍵返回圖五(記錄函數(shù))(5)職工信息修改(如圖六所示)請輸入數(shù)字2請輸入數(shù)字21學歷2電話3姓名4工號5工資6年齡7地址8性別輸入您要修改的學歷輸入您要修改的的電話輸入您要修改的姓名輸入您要修改的工號輸入您要修改的工資輸入您要修改的年齡輸入您要修改的地址輸入您要修改的性別修改信息已保存現(xiàn)返回主菜單圖六(修改函數(shù))(6)職工信息刪除(如圖七所示)請輸入要刪除職工的工號請輸入數(shù)字3顯示所刪除職工信息確認請輸入Y請輸入要刪除職工的工號請輸入數(shù)字3顯示所刪除職工信息確認請輸入Y返回菜單請輸入N請輸入數(shù)字編號職工信息保存(7)職工信息保存(如圖八所示)請輸入數(shù)字編號職工信息保存文獻正在保存。。請稍候文獻正在保存。。請稍候數(shù)據(jù)保存成功系統(tǒng)返回主菜單 圖八(8)職工信息排序(如圖九所示)職工信息排序按工號排序(升序)按工號排序(升序)按工號排序(升序)按工號排序(升序)按工號排序(升序)按工號排序(升序)按工號排序(升序)職工信息排序按工號排序(升序)按工號排序(升序)按工號排序(升序)按工號排序(升序)按工號排序(升序)按工號排序(升序)按工號排序(升序)請選擇數(shù)字編號請選擇數(shù)字編號 圖九四.源代碼#include<iostream>#include<string>#include<fstream>#include<stdlib.h>#include<cstdlib>#include"conio.h"usingnamespacestd;#defineN100//N作為最大職工總數(shù)intf=0;//f作為開關(guān)stringp;//p作為接受菜單選項的字符串interror=0;voidmenu();//顯示菜單classworker{public: worker() { } voidshow();//職工信息顯示 ~worker() { } doubleGetTax();//獲取繳稅doubleGetAccumPay();//獲取實發(fā)工資 friendclassWorkerList;private: stringnum,name,sex,edu,address,tel;//姓名,性別,教育限度,住址,電話 intage,salary,A;//年齡,薪水,稅金};classWorkerList{private: workerw[N]; intNUM;//用來計算職工數(shù)目intcount;//用來暫時記錄當前操作第幾個職工public: voidadd();//職工信息錄入 voidsort();//職工信息排序 voidsearch();//職工信息查找 voiddele();//職工信息刪除 voidmodify();//職工信息修改voidsave();//職工信息以文獻形式保存 voidshowworker();//顯示職工信息在屏幕上 voidread(); WorkerList() { NUM=0; count=0; }};doubleworker::GetTax()//繳稅{if(salary<=1500){returnA==0;}else if(salary<=2500){returnA=(salary-1500)*10/100;}else if(salary<=3500){returnA=(salary-2500)*15/100+100;}else if(salary<=5000){returnA=(salary-3500)*20/100+100+150;}else if(salary<=10000){returnA=(salary-5000)*30/100+100+150+300;}else if(salary>10000){returnA=(salary-10000)*40/100+100+150+300+1500;}}doubleworker::GetAccumPay(){ returnsalary-A;}//登陸函數(shù)voidlogin(){system("cls");cout<<"\n\n*************************************************"<<endl;cout<<"**請選擇您所需要的模式**"<<endl;cout<<"**1.管理員模式**"<<endl;cout<<"**2.用戶模式**"<<endl;cout<<"*************************************************"<<endl;}voidmenu() { cout<<endl; cout<<"**************************************************************"<<endl; cout<<"****"<<endl; cout<<"**===歡迎使用南京郵電大學職工工資管理系統(tǒng)===**"<<endl; cout<<"****"<<endl; cout<<"**1.職工信息添加**"<<endl; cout<<"**2.職工信息修改**"<<endl; cout<<"**3.職工信息刪除**"<<endl; cout<<"**4.職工信息排序**"<<endl; cout<<"**5.職工信息查找**"<<endl; cout<<"**6.職工信息顯示**"<<endl; cout<<"**7.職工信息保存**"<<endl;cout<<"**8.職工信息查看**"<<endl; cout<<"**0.退出**"<<endl; cout<<"****"<<endl; cout<<"**************************************************************"<<endl; cout<<endl;}voidmenu1() { cout<<endl; cout<<"**************************************************************"<<endl; cout<<"****"<<endl; cout<<"**===歡迎使用南京郵電大學職工工資管理系統(tǒng)===**"<<endl; cout<<"****"<<endl; cout<<"**1.職工信息查找**"<<endl; cout<<"**0.退出**"<<endl; cout<<"****"<<endl; cout<<"**************************************************************"<<endl; cout<<endl;}voiddomain()//主菜單函數(shù)實現(xiàn){ charpa[20]; intabcd; charbefore; WorkerListwl; inta; cout<<"請輸入選擇:"; cin>>a; switch(a) { case1: cout<<"請輸入密碼:"; intj; for(j=0;j<10;j++) { before=getch(); if(before==13) { pa[j]='\0'; break; } if(before==8) { before=getchar(); } else { pa[j]=before; cout<<'*'; }}if(strcmp(pa,"123")==0||strcmp(pa,"456")==0){cout<<"\n登錄成功,祝您工作順利,心情快樂!"<<endl;}else{do { error++; if(error==3) { cout<<endl; cout<<"\n**************************************************"<<endl; cout<<"**密碼錯誤,系統(tǒng)自動退出,請稍后重新登錄**"<<endl;cout<<"**************************************************"<<endl; for(abcd=1;abcd<=;abcd++) { } exit(1); } cout<<"\n密碼錯誤!請重新輸入"<<endl; for(abcd=1;abcd<=;abcd++) { } login(); } while(error<3); } while(1) { system("cls"); menu(); cout<<"請選擇數(shù)字編號0~8"<<endl; inti1; cin>>i1; while(!(i1>=0&&i1<=8)) { cout<<"輸入有誤,請重新輸入:"<<endl; cin>>i1; } switch(i1) { case1: wl.add();//添加 break; case2: wl.modify();//修改 break; case3: wl.dele();//刪除 break; case4: wl.sort();//排序 break; case5: wl.search();//查找 break;case6: wl.showworker();//顯示 break; case7: wl.save();//保存 break; case8: wl.read();//查看 break; case0: exit(0); cout<<"系統(tǒng)退出!!"<<endl; exit(0); default: break; } cout<<"是否返回主菜單?Y/N"<<endl; cin>>p; if(p=="n"||p=="N") { cout<<"系統(tǒng)退出?。?<<endl; exit(0); } getchar(); } case2: cout<<"請輸入密碼:"; intb;for(b=0;b<10;b++){ before=getch(); if(before==13) { pa[b]='\0'; break; } if(before==8) { before=getchar(); } else { pa[b]=before; cout<<'*'; }}if(strcmp(pa,"123")==0||strcmp(pa,"456")==0){cout<<"\n登錄成功,祝您工作順利,心情快樂!"<<endl;}else{do { error++; if(error==3) { cout<<endl; cout<<"\n**************************************************"<<endl; cout<<"**密碼錯誤,系統(tǒng)自動退出,請稍后重新登錄**"<<endl;cout<<"**************************************************"<<endl; for(abcd=1;abcd<=;abcd++) { } exit(1); } cout<<"\n密碼錯誤!請重新輸入"<<endl; for(abcd=1;abcd<=;abcd++) { } login(); } while(error<3); } while(1) { system("cls"); menu1(); cout<<"請選擇數(shù)字編號0~1"<<endl; inti1; cin>>i1; while(!(i1>=0&&i1<=7)) { cout<<"輸入有誤,請重新輸入:"<<endl; cin>>i1; } switch(i1) { case1: wl.search();//查找 break; case0: exit(0); cout<<"系統(tǒng)退出!!"<<endl; exit(0); default: break; } cout<<"是否返回主菜單?Y/N"<<endl; cin>>p; if(p=="n"||p=="N") { cout<<"系統(tǒng)退出!!"<<endl; exit(0); } getchar(); } }}voidWorkerList::add()//職工信息添加函數(shù)實現(xiàn){ cout<<"請輸入職工信息:"<<endl;cout<<"工號\t姓名\t性別\t學歷\t年齡\t工資\t地址\t電話"<<endl; stringnum; cin>>num; for(inti=0;i<NUM;i++) while(num==w[i].num) { cout<<"此職工編號已存在,請重新輸入:"<<endl; cin>>num; } w[NUM].num=num; cin>>w[NUM].name>>w[NUM].sex>>w[NUM].edu>>w[NUM].age>>w[NUM].salary>>w[NUM].address>>w[NUM].tel; ++NUM; count=NUM; }voidworker::show()//顯示職工信息函數(shù)實現(xiàn){ cout<<"工號\t姓名\t性別\t學歷\t年齡\t工資\t地址\t電話"<<endl; cout<<num<<'\t'<<name<<'\t'<<sex<<'\t'<<edu<<'\t'<<age<<'\t'<<salary<<'\t'<<address<<'\t'<<tel<<endl; cout<<endl;}voidWorkerList::modify()//職工信息修改函數(shù)實現(xiàn){ if(NUM<=0) { cout<<"沒有職工信息存入,系統(tǒng)將返回主菜單"<<endl; menu(); } else { cout<<"職工信息如下:"<<endl; cout<<"工號\t姓名\t性別\t學歷\t年齡\t工資\t地址\t電話"<<endl; for(inti=0;i<count;i++) cout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<<'\t'<<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel<<endl; } cout<<"請輸入需要修改信息職工的工號:"<<endl; stringnum1; cin>>num1; intj=0,k; intflag=1; while(flag) { for(;j<count;j++) { if(num1==w[j].num) { flag=0; k=j; break; } } if(flag) { cout<<"不存在此員工,請重新輸入:"<<endl; j=0; cin>>num1; } } cout<<"你選擇的職工的信息為:"<<endl; cout<<"工號\t姓名\t性別\t學歷\t年齡\t工資\t地址\t電話"<<endl; cout<<w[k].num<<'\t'<<w[k].name<<'\t'<<w[k].sex<<'\t'<<w[k].edu<<'\t'<<w[k].age<<'\t'<<w[k].salary<<'\t'<<w[k].address<<'\t'<<w[k].tel<<endl; cout<<endl; cout<<"***********************************************"<<endl; cout<<"**1.修改工號**"<<endl; cout<<"**2.修改姓名**"<<endl; cout<<"**3.修改性別**"<<endl; cout<<"**4.修改學歷**"<<endl; cout<<"**5.修改年齡**"<<endl; cout<<"**6.修改工資**"<<endl; cout<<"**7.修改地址**"<<endl; cout<<"**8.修改電話**"<<endl; cout<<"**0.返回主菜單**"<<endl; cout<<"***********************************************"<<endl; cout<<endl; cout<<"請選擇數(shù)字編號0~8"<<endl; inti3; cin>>i3; while(i3<0||i3>8) { cout<<"輸入有誤,請重新輸入:"<<endl; cin>>i3; } switch(i3) { case1: cout<<"請輸入新的職工工號:"; cin>>w[k].num; cout<<"修改信息已保存,現(xiàn)返回主菜單:"<<endl; menu(); break; case2: cout<<"請輸入新的職工姓名:"; cin>>w[k].name; cout<<"修改信息已保存,現(xiàn)返回主菜單:"<<endl; menu(); break; case3: cout<<"請輸入新的職工性別:"; cin>>w[k].sex; cout<<"修改信息已保存,現(xiàn)返回主菜單:"<<endl; menu(); break; case4: cout<<"請輸入新的職工學歷:"; cin>>w[k].edu; cout<<"修改信息已保存,現(xiàn)返回主菜單:"<<endl; menu(); break; case5: cout<<"請輸入新的職工年齡:"; cin>>w[k].age; cout<<"修改信息已保存,現(xiàn)返回主菜單:"<<endl; menu(); break; case6: cout<<"請輸入新的職工工資:"; cin>>w[k].salary; cout<<"修改信息已保存,現(xiàn)返回主菜單:"<<endl; menu(); break; case7: cout<<"請輸入新的職工地址:"; cin>>w[k].address; cout<<"修改信息已保存,現(xiàn)返回主菜單:"<<endl; menu(); break; case8: cout<<"請輸入新的職工電話:"; cin>>w[k].tel; cout<<"修改信息已保存,現(xiàn)返回主菜單:"<<endl; menu(); break; case0: menu(); default: break; }}voidWorkerList::showworker()//職工信息顯示函數(shù)實現(xiàn){ if(NUM<=0) { cout<<"沒有職工信息存入,系統(tǒng)將返回主菜單"<<endl; } else cout<<"已保存的職工信息如下:"<<endl; cout<<"工號\t姓名\t性別\t學歷\t年齡\t工資\t地址\t電話"<<endl; for(inti=0;i<count;i++) cout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<<'\t'<<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel<<endl; cout<<"是否返回主菜單?Y/N"<<endl; cin>>p; while(1) { if(p=="y"||p=="Y") { menu(); } elseif(p=="n"||p=="N") { cout<<"系統(tǒng)退出!!"<<endl; exit(0); } else { cout<<"輸入有誤,請重新輸入:"; cin>>p; } }}voidWorkerList::search(){ if(NUM<=0) { cout<<"沒有職工信息存入,系統(tǒng)將返回主菜單"<<endl; } else cout<<"請選擇查找方式:"<<endl; cout<<"***********************************************"<<endl; cout<<"**1.按工號查找**"<<endl; cout<<"**2.按姓名查找**"<<endl; cout<<"**3.按工資查找**"<<endl; cout<<"**4.按學歷查找**"<<endl; cout<<"**0.返回主菜單**"<<endl; cout<<"***********************************************"<<endl; cout<<endl; cout<<"請選擇數(shù)字編號0~4"<<endl; inti4; cin>>i4; while(i4<0||i4>4) { cout<<"輸入有誤,請重新輸入:"<<endl; cin>>i4; } if(i4==1) { stringnum2; cout<<"請輸入要查詢的職工的工號:"<<endl; cin>>num2; intj=0,k; intflag=1; while(flag) { for(;j<count;j++) { if(num2==w[j].num) { flag=0; k=j; cout<<"查詢的職工信息如下:"<<endl; cout<<"工號\t姓名\t性別\t學歷\t年齡\t工資\t地址\t電話"<<endl; cout<<w[k].num<<'\t'<<w[k].name<<'\t'<<w[k].sex<<'\t'<<w[k].edu<<'\t'<<w[k].age<<'\t'<<w[k].salary<<'\t'<<w[k].address<<'\t'<<w[k].tel<<endl; break; } } if(flag) { flag=0; cout<<"不存在此職工!!\n返回主菜單"<<endl; break; } } } elseif(i4==2) { stringname2; cout<<"請輸入要查詢的職工的姓名:"<<endl; cin>>name2; intj2=0,k2; intflag2=1; while(flag2) { for(;j2<count;j2++) { if(name2==w[j2].name) { flag2=0; k2=j2; cout<<"查詢的職工信息如下:"<<endl; cout<<"工號\t姓名\t性別\t學歷\t年齡\t工資\t地址\t電話"<<endl; cout<<w[k2].num<<'\t'<<w[k2].name<<'\t'<<w[k2].sex<<'\t'<<w[k2].edu<<'\t'<<w[k2].age<<'\t'<<w[k2].salary<<'\t'<<w[k2].address<<'\t'<<w[k2].tel<<endl; break; } } if(flag2) { flag2=0; cout<<"不存在此職工!!\n返回主菜單"<<endl; break; } } } elseif(i4==3) { intsalary2; cout<<"請輸入要查詢的職工的工資:"<<endl; cin>>salary2; intj3=0,k3; intflag3=1; while(flag3) { for(;j3<count;j3++) { if(salary2==w[j3].salary) { flag3=0; k3=j3; cout<<"查詢的職工信息如下:"<<endl; cout<<"工號\t姓名\t性別\t學歷\t年齡\t工資\t地址\t電話"<<endl; cout<<w[k3].num<<'\t'<<w[k3].name<<'\t'<<w[k3].sex<<'\t'<<w[k3].edu<<'\t'<<w[k3].age<<'\t'<<w[k3].salary<<'\t'<<w[k3].address<<'\t'<<w[k3].tel<<endl; break; } } if(flag3) { flag3=0; cout<<"不存在此職工!!\n返回主菜單"<<endl; break; } } } elseif(i4==4) { stringedu2; cout<<"請輸入要查詢的職工的學歷:"<<endl; cin>>edu2; intj4=0,k4; intflag4=1; while(flag4) { for(;j4<count;j4++) { if(edu2==w[j4].edu) { flag4=0; k4=j4; cout<<"查詢的職工信息如下:"<<endl; cout<<"工號\t姓名\t性別\t學歷\t年齡\t工資\t地址\t電話"<<endl; cout<<w[k4].num<<'\t'<<w[k4].name<<'\t'<<w[k4].sex<<'\t'<<w[k4].edu<<'\t'<<w[k4].age<<'\t'<<w[k4].salary<<'\t'<<w[k4].address<<'\t'<<w[k4].tel<<endl; break; } } if(flag4) { flag4=0; cout<<"不存在此職工!!\n返回主菜單"<<endl; break; } } } elseif(i4==0) menu();}voidWorkerList::sort()//職工信息排序功能實現(xiàn){ if(NUM<=0) { cout<<"沒有職工信息存入,系統(tǒng)將返回主菜單"<<endl; menu(); } else cout<<"請選擇排序方式:"<<endl; cout<<"***********************************************"<<endl; cout<<"**1.按工號排序(升序)**"<<endl; cout<<"**2.按工號排序(降序)**"<<endl; cout<<"**3.按姓名排序(升序)**"<<endl; cout<<"**4.按姓名排序(降序)**"<<endl; cout<<"**5.按工資排序(升序)**"<<endl; cout<<"**6.按工資排序(降序)**"<<endl; cout<<"**0.返回主菜單**"<<endl; cout<<"***********************************************"<<endl; cout<<endl; cout<<"請選擇數(shù)字編號0~6"<<endl; inti5; cin>>i5; while(i5<0||i5>6) { cout<<"輸入有誤,請重新輸入:"<<endl; cin>>i5; } if(i5==1) { inti,j; for(i=0;i<count-1;i++) for(j=0;j<count-1-i;j++) if(w[j].num>w[j+1].num) { stringtemp; temp=w[j].num; w[j].num=w[j+1].num; w[j+1].num=temp; } cout<<"按工號升序后的信息如下:"<<endl; cout<<"工號\t姓名\t性別\t學歷\t年齡\t工資\t地址\t電話"<<endl; for(i=0;i<count;i++) cout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<<'\t'<<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel<<endl; } elseif(i5==2) { inti,j; for(i=0;i<count-1;i++) for(j=0;j<count-1-i;j++) if(w[j].num<w[j+1].num) { stringtemp; temp=w[j].num; w[j].num=w[j+1].num; w[j+1].num=temp; }cout<<"按工號降序后的信息如下:"<<endl;cout<<"工號\t姓名\t性別\t學歷\t年齡\t工資\t地址\t電話"<<endl; for(i=0;i<count;i++) cout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<<'\t'<<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel<<endl; } else if(i5==3) { inti,j; for(i=0;i<count-1;i++) for(j=0;j<count-1-i;j++) if(w[j].name>w[j+1].name) { stringtemp; temp=w[j].name; w[j].name=w[j+1].name; w[j+1].name=temp; } cout<<"按姓名升序后的信息如下:"<<endl; cout<<"工號\t姓名\t性別\t學歷\t年齡\t工資\t地址\t電話"<<endl; for(i=0;i<count;i++) cout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<<'\t'<<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel<<endl; } else if(i5==4) { inti,j; for(i=0;i<count-1;i++) for(j=0;j<count-i-1;j++) if(w[j].name<w[j+1].name) { stringtemp; temp=w[j].name; w[j].name=w[j+1].name; w[j+1].name=temp; } cout<<"按姓名降序后的信息如下:"<<endl; cout<<"工號\t姓名\t性別\t學歷\t年齡\t工資\t地址\t電話"<<endl; for(i=0;i<count;i++) cout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<<'\t'<<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel<<endl; } else if(i5==5) { inti,j; for(i=0;i<count-1;i++) for(j=0;j<count-i-1;j++) if(w[j].salary>w[j+1].salary) { inttemp; temp=w[j].salary; w[j].salary=w[j+1].salary; w[j+1].salary=temp; } cout<<"按工資升序后的信息如下:"<<endl; cout<<"工號\t姓名\t性別\t學歷\t年齡\t工資\t地址\t電話"<<endl; for(i=0;i<count;i++) cout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<<'\t'<<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel<<endl; } else if(i5==6) { inti,j; for(i=0;i<count-1;i++) for(j=0;j<count-i-1;j++) if(w[j].salary<w[j+1].salary) { inttemp; temp=w[j].salary; w[j].salary=w[j+1].salary; w[j+1].salary=temp; } cout<<"按工資降序后的信息如下:"<<endl; cout<<"工號\t姓名\t性別\t學歷\t年齡\t工資\t地址\t電話"<<endl; for(i=0;i<count;i++) cout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<<'\t'<<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel<<endl; } elseif(i5==0) menu();}voidWorkerList::dele()//職工信息刪除功能實現(xiàn){ inti; if(NUM<=0) { cout<<"沒有職工信息存入,系統(tǒng)將返回主菜單"<<endl; menu(); } else cout<<"職工信息如下:"<<endl; cout<<"工號\t姓名\t性別\t學歷\t年齡\t工資\t地址\t電話"<<endl; for(i=0;i<count;i++) cout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<<'\t'<<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel<<endl; cout<<"請輸入需要刪除信息職工的工號:"<<endl; stringnum3; cin>>num3; intj=0,k; intflag=1; while(flag) { for(;j<count;j++) { if(num3==w[j].num) { flag=0; k=j; break; } } if(flag) { cout<<"不存在此員工,請重新輸入:"<<endl; j=0; cin>>num3; } } cout<<"你選擇的職工的信息為:"<<endl; cout<<"工號\t姓名\t性別\t學歷\t年齡\t工資\t地址\t電話"<<endl; cout<<w[k].num<<'\t'<<w[k].name<<'\t'<<w[k].sex<<'\t'<<w[k].edu<<'\t'<<w[k].age<<'\t'<<w[k].salary<<'\t'<<w[k].address<<'\t'<<w[k].tel<<endl; cout<<"確認請輸入Y\t返回主菜單請輸入N"<<endl; stringp; cin>>p; while(1) { if(p=="y"||p=="Y") { cout<<"員工信息已刪除!"<<endl; for(inti=0;i<count;i++) if(w[i].num==num3) intj=i; for(;j<=count-1;j++) w[j]=w[j+1]; count--; break; } elseif(p=="n"||p=="N") { menu(); } else { cout<<"輸入有誤,請重新輸入:"; cin>>p; } }}voidWorkerList::save(){ inti; if(NUM<=0) { cout<<"沒有職工信息存入,系統(tǒng)將返回主菜單"<<endl; menu(); } else { ofstreamfout; fout.open("D:\\worker.txt",ios_base::out); cout<<"文獻正在保存......請稍候??!"<<endl; cout<<"數(shù)據(jù)保存成功!!!"<<endl; cout<<"已保存員工信息如下:"<<endl; cout<<"工號\t姓名\t性別\t學歷\t年齡\t工資\t地址\t電話"<<endl; for(i=0;i<count;i++) fout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<<'\t'<<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel<<endl; cout<<"系統(tǒng)返回主菜單:"<<endl; menu(); fout.close(); } }voidWorkerList::read(){ ifstreamin("D:\\worker.txt"); inti=0; intcount=3; for(i=0;i<count;i++) { in>>w[i].num>>w[i].name>>w[i].sex>>w[i].edu>>w[i].age>>w[i].salary>>w[i].address>>w[i].tel;cout<<w[i].num<<'\t'<<w[i].name<<'\t'<<w[i].sex<<'\t'<<w[i].edu<<'\t'<<w[i].age<<'\t'<<w[i].salary<<'\t'<<w[i].address<<'\t'<<w[i].tel<<endl; } }intmain(){ WorkerListe; e.read(); login(); domain(); voidsave(); voidread(); return0;}五、測試數(shù)據(jù)及其結(jié)果分析運營后,程序的主菜單界面如下:1.登錄頁面(1)管理員模式的頁面(2)用戶模式頁面2.主菜單(1)職工信息添加(

溫馨提示

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

最新文檔

評論

0/150

提交評論