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

下載本文檔

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

文檔簡(jiǎn)介

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

溫馨提示

  • 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)論