工資管理系統(tǒng)C++編程實(shí)驗(yàn)報(bào)告及工資管理系統(tǒng)需求分析_第1頁
工資管理系統(tǒng)C++編程實(shí)驗(yàn)報(bào)告及工資管理系統(tǒng)需求分析_第2頁
工資管理系統(tǒng)C++編程實(shí)驗(yàn)報(bào)告及工資管理系統(tǒng)需求分析_第3頁
工資管理系統(tǒng)C++編程實(shí)驗(yàn)報(bào)告及工資管理系統(tǒng)需求分析_第4頁
工資管理系統(tǒng)C++編程實(shí)驗(yàn)報(bào)告及工資管理系統(tǒng)需求分析_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

PAGEPAGE37——《C++程序設(shè)計(jì)》課程綜合實(shí)習(xí)實(shí)習(xí)題目:工資管理系統(tǒng)系別:計(jì)算機(jī)系___專業(yè):計(jì)算機(jī)與科學(xué)班級:姓名:學(xué)號:指導(dǎo)教師:日期:20**年12月27日_

目錄一、課程實(shí)習(xí)的題目、任務(wù)與要求 21.課程實(shí)習(xí)的題目 22.課程實(shí)習(xí)內(nèi)容 23.課程實(shí)習(xí)的要求 2二、系統(tǒng)分析 21.需求分析 22.系統(tǒng)性能要求 33.系統(tǒng)的功能分析 34.系統(tǒng)功能模塊 35.模塊框架圖 3三、系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 41.界面設(shè)計(jì) 42.功能設(shè)計(jì)與實(shí)現(xiàn) 4四、運(yùn)行及測試結(jié)果 5五、總結(jié) 5六、參考資料 5附錄:源程序 6

一、課程實(shí)習(xí)的題目、任務(wù)與要求1.課程實(shí)習(xí)的題目工資管理系統(tǒng)2.課程實(shí)習(xí)內(nèi)容(1)存儲的數(shù)據(jù)包括:員工號,姓名,基本工資,補(bǔ)貼金額,獎(jiǎng)勵(lì)金額,扣除金額、實(shí)發(fā)工資等)。實(shí)發(fā)工資=基本工資+補(bǔ)貼金額+獎(jiǎng)勵(lì)金額-扣除金額。(2)按職工號增加、刪除、修改記錄功能;(3)查詢功能,包括按姓名、職工號查詢;(4)排序功能,按指定的關(guān)鍵字(如職工號、姓名、實(shí)發(fā)工資)排序。3.課程實(shí)習(xí)的要求根據(jù)C++課程所學(xué)的概念、理論和方法,按照C++程序設(shè)計(jì)的基本步驟,設(shè)計(jì)出一個(gè)適當(dāng)規(guī)模的程序來實(shí)現(xiàn)設(shè)計(jì)課程內(nèi)容中的全部功能;設(shè)計(jì)主控模塊程序,對給出的程序源代碼要給出各部分的詳細(xì)注釋.自己根據(jù)能力及需要添加相應(yīng)功能模塊,增強(qiáng)模擬系統(tǒng)功能。包括系統(tǒng)的功能分析、系統(tǒng)的功能模塊設(shè)計(jì)、程序流程圖或結(jié)構(gòu)框圖、邏輯結(jié)構(gòu)設(shè)計(jì)等。二、系統(tǒng)分析1.需求分析a.能對員工工資信息進(jìn)行錄入。b.能對員工工資信息進(jìn)行增加。c.能對員工工資進(jìn)行刪除。d.能對員工工資進(jìn)行修改。e.能對員工按實(shí)發(fā)工資,姓名,進(jìn)行查詢。f.能輸出員工工資的所有數(shù)據(jù)。g.能對員工工資信息按實(shí)發(fā)工資、員工號進(jìn)行排序。2.系統(tǒng)性能要求a.系統(tǒng)安全、可靠;b.功能齊全;c.操作方便、界面友好;d易于維護(hù)和擴(kuò)充。3.系統(tǒng)的功能分析資料維護(hù):系統(tǒng)維護(hù)包括對員工工資信息的錄入操作及數(shù)據(jù)表中的信息進(jìn)行瀏覽。系統(tǒng)功能:可以對數(shù)據(jù)表中的信息進(jìn)行瀏覽。系統(tǒng)查詢:可以對員工工資信息進(jìn)行查詢。4.系統(tǒng)功能模塊員工查詢系統(tǒng)有:工資信息錄入、增加、刪除、修改,數(shù)據(jù)查詢,排序顯示構(gòu)成。5.模塊框架圖工資管理系統(tǒng)工資管理系統(tǒng)操作查詢排序退出錄入增加刪除修改實(shí)發(fā)工資姓名按實(shí)發(fā)工資排序按員工好排序輸出所有學(xué)生的成績?nèi)⑾到y(tǒng)設(shè)計(jì)與實(shí)現(xiàn)1.界面設(shè)計(jì)程序運(yùn)行后會(huì)出現(xiàn)一個(gè)簡捷的窗口,便于用戶查詢數(shù)據(jù)。通過cout語句排列而成。2.功能設(shè)計(jì)與實(shí)現(xiàn)應(yīng)用系統(tǒng)主控界面主要包括三大模塊:記錄編輯、記錄查詢、排序。記錄編輯(1)數(shù)據(jù)錄入數(shù)據(jù)錄入是通過cin輸入數(shù)據(jù),然后用文件“工資表.txt”來作以儲存。(2)增加員工數(shù)據(jù)增加員工數(shù)據(jù)是通過cin輸入數(shù)據(jù),然后用文件“工資表.txt”來作以儲存。(3)刪除員工數(shù)據(jù)刪除員工數(shù)據(jù)是通過cin語句輸入要?jiǎng)h除的員工信息,然后使用if語句在“工作表1.txt”中尋找名字判斷是否相等,最后在文件中刪除。(4)修改員工數(shù)據(jù)修改員工數(shù)據(jù)是通過cin語句輸入要修改的員工信息,然后使用if語句在“工作表1.txt”中尋找名字判斷是否相等,再使用cin輸入修改的信息,最后儲存在文件中。如果尋找不到則輸出“對不起,您要修改的學(xué)生不存在!請查證后輸入!”。查詢(1)按員工實(shí)發(fā)工資查詢通過輸入員工實(shí)發(fā)工資,在for循環(huán)語句中用if語句在“工作表1.txt”中尋找實(shí)發(fā)工資是否與輸入的實(shí)發(fā)工資相等,如果相等就輸出該員工信息,如果尋找不到就輸出“對不起!您要查詢的員工不存在!”。(2)按員工姓名查詢通過輸入員工姓名,在for循環(huán)語句中用if語句在“工作表1.txt”中尋找姓名是否與輸入的員工姓名相等,如果相等就輸出該員工的信息,如果尋找不到就輸出“對不起!您要查詢的員工不存在!”。(3)瀏覽所有員工工資信息直接輸出“工作表1.txt”中的數(shù)據(jù)。排序(1)按實(shí)發(fā)工資排序先讓實(shí)發(fā)工資數(shù)組賦給a[100],再通過雙重for語句依次將a[n]小的調(diào)到前面,排序完后再通過雙重for循環(huán)輸出排序后的相關(guān)信息。(2)按員工號排序先讓員工號數(shù)組賦給a[100],再通過雙重for語句依次將a[n]小的調(diào)到前面,排序完后再通過雙重for循環(huán)輸出排序后的相關(guān)信息。在每個(gè)case中都有一個(gè)判斷是否繼續(xù)運(yùn)行次case和一個(gè)是否進(jìn)行其他操作。在case4/5/6/8/9開頭都有一個(gè)判斷語句,判斷系統(tǒng)中是否有數(shù)據(jù),沒有數(shù)據(jù)則結(jié)束此case,有則繼續(xù)執(zhí)行下一條語句。四、運(yùn)行及測試結(jié)果每一個(gè)case都能執(zhí)行,但是有些的地方還都不夠完善,例如:刪除數(shù)據(jù)中,本來沒有該員工信息,它也依然顯示刪除成功。五、總結(jié)此次C++程序設(shè)計(jì)課程綜合實(shí)習(xí),讓我們學(xué)會(huì)了如何用C++編寫一個(gè)簡單的應(yīng)用程序。首先要對程序的設(shè)計(jì)要求有一個(gè)比較明確的認(rèn)識,然后系統(tǒng)分析與系統(tǒng)設(shè)計(jì),最后是代碼設(shè)計(jì)與調(diào)試。程序?qū)崿F(xiàn)上,設(shè)計(jì)了簡單的查詢界面,將各個(gè)功能集中出來按照程序編寫原則,便于查詢。根據(jù)C++課程所學(xué)的概念、理論和方法,按照C++程序設(shè)計(jì)的基本步驟,設(shè)計(jì)出一個(gè)適當(dāng)規(guī)模的程序;進(jìn)一步加深對C++語言的理解和掌握。理論聯(lián)系實(shí)際,加深和鞏固所學(xué)的理論知識,提高實(shí)踐能力和計(jì)算機(jī)的綜合運(yùn)用能力。我們編寫程序的過程是辛苦與快樂的,程序的編寫原則很重要,只要我們在編程,就必須不斷改進(jìn),才能更好提高編程能力。六、參考資料龔靜李娟芳.C++語言程序設(shè)計(jì).西安:西北工業(yè)大學(xué)出版社,2013.附錄:源程序#include<iostream>#include<fstream>#include<string>#include<sstream>#include<iomanip>usingnamespacestd;classMoney{ stringname; floatWage,Subsidy,Reward,Deduct,SumWage; intnumber;public: Money(){}; Money(intnum,stringn,floatW,floatS,floatR,floatD); floatgetSumWage();//實(shí)發(fā)工資 friendvoidmain();};Money::Money(intnum,stringn,floatW,floatS,floatR,floatD){ number=num; name=n; Wage=W;//基本工資 Subsidy=S;//補(bǔ)貼工資 Reward=R;//獎(jiǎng)勵(lì)工資 Deduct=D;//扣除工資 }floatMoney::getSumWage(){ SumWage=Wage+Subsidy+Reward-Deduct; returnSumWage;}voidmain(){ system("color0a"); cout<<"*******************************************************************************"<<endl; cout<<"*******************************************************************************"<<endl; cout<<"*******************************************************************************"<<endl; cout<<"*******███████***歡迎來到工資管理系統(tǒng)***█████████*"<<endl; cout<<"*****█*****************請選擇您需要的操作!***********█*********"<<endl; cout<<"***█*******************-操作:***********█*********"<<endl; cout<<"***█*******************(1)數(shù)據(jù)錄入***********█*********"<<endl; cout<<"***█*******************(2)增加員工數(shù)據(jù)***********█*********"<<endl; cout<<"***█*******************(3)刪除員工數(shù)據(jù)***********█*********"<<endl; cout<<"***█*******************(4)修改員工數(shù)據(jù)***********█*********"<<endl; cout<<"***█*******************-查詢:***********█*********"<<endl; cout<<"***█*******************(5)按員工號查詢***********█*********"<<endl; cout<<"***█*******************(6)按姓名查詢***********█*********"<<endl; cout<<"***█*******************(7)瀏覽所有學(xué)生的數(shù)據(jù)***********█*********"<<endl; cout<<"***█*******************-排序:***********█*********"<<endl; cout<<"*****█*****************(8)按實(shí)發(fā)工資排序*****█****█*********"<<endl; cout<<"*******███████***(9)按員工號排序*******██***********"<<endl; cout<<"************************(0)退出**********************"<<endl; cout<<"*******************************************************************************"<<endl; cout<<"*******************************************************************************"<<endl;cout<<"請輸入:"; intp=0;//全局變量,用于選擇菜單時(shí)的輸入 charw;//用于是否繼續(xù)操作 Money*s[100]; ofstream*file[100]; inti=0;//用于錄入的下標(biāo) intj=0; intchris1=0;//用于do-while語句 do { cin>>p; if(p>=0&&p<=9) { chris1=1; } else { cout<<"輸入指令無效!請重新輸入:"<<endl; } }while(chris1==0); do { switch(p) { case1://錄入員工數(shù)據(jù) { charc;//用于判斷是否 intnumber; stringname; floatWage,Subsidy,Reward,Deduct,SumWage; do { cout<<"請輸入員工號:"; cin>>number; cout<<"請輸入員工姓名:"; cin>>name; cout<<"請輸入員工基本工資:"; cin>>Wage; cout<<"請輸入員工補(bǔ)貼工資:"; cin>>Subsidy; cout<<"請輸入員工獎(jiǎng)勵(lì)工資:"; cin>>Reward; cout<<"請輸入員工扣除工資:"; cin>>Deduct; SumWage=Wage+Subsidy+Reward-Deduct; fstreamoutfile,infile; outfile.open("工資表.txt",ios::out|ios::app);//用于顯示錄入的數(shù)據(jù) if(!file) { cout<<"工資表.txtcannotopen.\n"; return; } outfile<<"員工號:"<<number<<"姓名:"<<name<<endl<<"基本工資:"<<Wage<<"補(bǔ)貼工資:"<<Subsidy<<"獎(jiǎng)勵(lì)工資:"<<Reward<<"扣除工資:"<<Deduct<<"實(shí)發(fā)工資:"<<SumWage<<endl; outfile.close(); infile.open("工資表.txt",ios::in); if(!file) { cout<<"工資表.txtcannotopen.\n"; return; } charch; while(infile.get(ch)) cout<<ch;//? cout<<endl; infile.close(); j++; s[i]=newMoney(number,name,Wage,Subsidy,Reward,Deduct); i++; cout<<"員工數(shù)據(jù)錄入成功,想繼續(xù)錄入嗎?(y/n)"<<endl; cin>>c; chris1=0; do { if(c!='y'&&c!='n') { cout<<"輸入的指令無效!請重新輸入!"<<endl; cin>>c; } else { chris1=1; } }while(chris1==0); }while(c=='y'); break; } case2://增加員工工資信息 { charc;//用于判斷是否 intnumber; stringname; floatWage,Subsidy,Reward,Deduct,SumWage;do { cout<<"請輸入增加的員工號:"; cin>>number; cout<<"請輸入增加的員工姓名:"; cin>>name; cout<<"請輸入增加的員工基本工資:"; cin>>Wage; cout<<"請輸入增加的員工補(bǔ)貼工資:"; cin>>Subsidy; cout<<"請輸入增加的員工獎(jiǎng)勵(lì)工資:"; cin>>Reward; cout<<"請輸入增加的員工扣除工資:"; cin>>Deduct; SumWage=Wage+Subsidy+Reward-Deduct;fstreamoutfile,infile;outfile.open("工資表.txt",ios::out|ios::app);if(!file) { cout<<"工資表.txtcannotopen.\n";return; }outfile<<"員工號:"<<number<<"姓名:"<<name<<endl<<"基本工資:"<<Wage<<"補(bǔ)貼工資:"<<Subsidy<<"獎(jiǎng)勵(lì)工資:"<<Reward<<"扣除工資:"<<Deduct<<"實(shí)發(fā)工資:"<<SumWage<<endl;outfile.close();infile.open("工資表.txt",ios::in);if(!file) {cout<<"工資表.txtcannotopen.\n";return; }charh; while(infile.get(h)) { cout<<h; }cout<<endl;infile.close();j++;s[i]=newMoney(number,name,Wage,Subsidy,Reward,Deduct);i++;cout<<"員工數(shù)據(jù)增加成功,想繼續(xù)錄入嗎(y/n)"<<endl;cin>>c;if(c!='y'&&c!='n') { cout<<"輸入的指令無效!請重新輸入!"<<endl;cin>>c; } }while(c=='y');break; } case3://刪除員工資料 { charc;stringxingming,line,str,name; do {ifstreamfin("工資表.txt");fstreamoutfile("工資表.txt",ios::trunc|ios::out);//作一個(gè)文本文檔在文件夾中用于顯示所錄入的數(shù)據(jù)cout<<"請輸入您要?jiǎng)h除的員工的姓名:";cin>>xingming; while(!fin.eof()) { getline(fin,line);istringstreamstream(line);name=line.substr(0,line.find("",0));//找到名字,判斷是否相等if(name!=xingming) { outfile<<line<<endl; } }outfile.close();fin.close();fstreamf("工資表.txt",ios::trunc|ios::out);ifstreamoutf("工資表.txt");f<<outf.rdbuf();outf.close();f.close(); if(name!=xingming) { cout<<"該員工數(shù)據(jù)刪除成功,想繼續(xù)刪除嗎?(y/n)"<<endl; cin>>c; }if(c!='y'&&c!='n') { cout<<"指令錯(cuò)誤!請重新輸入!"<<endl;cin>>c; } }while(c=='y');break; } case4://修改員工工資數(shù)據(jù) { stringsname,line,str,name; intn; floatW,S,R,D,SW; intflag; charc; if(i==0) { cout<<"系統(tǒng)中沒有輸入數(shù)據(jù),請先輸入數(shù)據(jù)!"<<endl;break; } do { flag=0; cout<<"請輸入您要修改的員工的姓名:"; cin>>name; fstreamfin("工資表.txt",ios::in); ofstreamoutfile("工資表.txt",ios::trunc|ios::out); cout<<endl; while(!fin.eof())//在文件中查找 { getline(fin,line); istringstreamstream(line); sname=line.substr(0,line.find("",0)); if(name!=sname) { outfile<<line<<endl; } elseflag=1; } fin.close(); if(flag=1) { cout<<"請輸入修改的員工號:"; cin>>n; cout<<"請輸入修改的員工姓名:"; cin>>name; cout<<"請輸入修改的員工基本工資:"; cin>>W; cout<<"請輸入修改的員工補(bǔ)貼工資:"; cin>>S; cout<<"請輸入修改的員工獎(jiǎng)勵(lì)工資:"; cin>>R; cout<<"請輸入修改的員工扣除工資:"; cin>>D; SW=W+S+R-D; cout<<endl; outfile<<"員工號:"<<n<<"姓名:"<<name<<endl<<"基本工資:"<<W<<"補(bǔ)貼工資:"<<S<<"獎(jiǎng)勵(lì)工資:"<<R<<"扣除工資:"<<D<<"實(shí)發(fā)工資:"<<SW<<endl; outfile.close(); fstreamoutf("工資表.txt",ios::trunc|ios::out); fstreaminf("工資表.txt",ios::in); outf<<inf.rdbuf()<<endl; outf.close(); inf.close(); } if(flag=0) { cout<<"對不起,您要修改的學(xué)生不存在!請查證后輸入!"<<endl; } cout<<"想繼續(xù)修改嗎(y/n):"; cin>>c; cout<<endl; if(c!='y'&&c!='n') { cout<<"輸入的指令無效!請重新輸入!"<<endl<<""; cin>>c; } }while(c=='y'); break; } case5://按員工號查詢 { intj=0; floatnum; charc; intflag; if(i==0) { cout<<"系統(tǒng)中沒有輸入數(shù)據(jù),請先輸入數(shù)據(jù)!"<<endl; break; } do { flag=0; cout<<"請輸入您要查詢的員工的員工號:"<<endl; cin>>num; for(intj=0;j<i;j++) { if(s[j]->number==num) { flag=1; cout<<"您要查詢的員工是:"<<(*s[j]).name<<endl; cout<<"該員工的工資信息為:"<<endl; cout<<"員工號:"<<(*s[j]).number<<"姓名:"<<(*s[j]).name<<endl<<"基本工資:"<<(*s[j]).Wage<<"補(bǔ)貼工資:"<<(*s[j]).Subsidy<<"獎(jiǎng)勵(lì)工資:"<<(*s[j]).Reward<<"扣除工資:"<<(*s[j]).Deduct<<"實(shí)發(fā)工資:"<<(*s[j]).SumWage<<endl; } } if(flag==0)cout<<"對不起!您要查詢的員工不存在!"<<endl; cout<<"是否繼續(xù)查?(y/n):"; cin>>c; if(c!='y'&&c!='n') { cout<<"輸入的指令無效!請重新輸入!"<<endl; cin>>c; } }while(c=='y'); break; } case6://按姓名查詢 { stringn; charc; intj=0; intflag; if(i==0) { cout<<"系統(tǒng)中沒有輸入數(shù)據(jù),請先輸入數(shù)據(jù)!"<<endl; break; } do { flag=0; cout<<"請輸入要查詢員工的名字:"<<endl; cin>>n; for(intj=0;j<i;j++) { if(s[j]->name==n) { flag=1; cout<<"您要查詢的員工是:"<<(*s[j]).name<<endl; cout<<"該生的工資信息是:\n員工號:"<<(*s[j]).number<<endl<<"基本工資:"<<(*s[j]).Wage<<"補(bǔ)貼工資:"<<(*s[j]).Subsidy<<"獎(jiǎng)勵(lì)工資:"<<(*s[j]).Reward<<"扣除工資:"<<(*s[j]).Deduct<<"實(shí)發(fā)工資:"<<(*s[j]).SumWage<<endl; } } if(flag==0) { cout<<"對不起您要查詢的員工不存在,請查證后再輸入!"<<endl; } cout<<"您想繼續(xù)查詢嗎?(y/n):"; cin>>c; if(c!='y'&&c!='n') { cout<<"輸入的指令無效!請重新輸入:"<<endl; cin>>c; } }while(c=='y'); break; } case7://瀏覽所有員工工資信息 { cout<<"所有員工數(shù)據(jù)如下:"<<endl; ifstreamfile;file.open("工資表.txt",ios::in); cout<<file.rdbuf(); file.close(); break; } case8://按實(shí)發(fā)工資排序 { if(i==0) { cout<<"系統(tǒng)中沒有輸入數(shù)據(jù),請先輸入數(shù)據(jù)!"<<endl; break; } inth,g,n; intj=0; floata[100],temp; for(g=0;g<i;g++) { a[j]=(*s[g]).getSumWage(); j++; }for(h=0;h<i;h++) { for(n=0;n<i-h;n++) if(a[n]>a[n+1]) { temp=a[n]; a[n]=a[n+1]; a[n+1]=temp; } } for(n=1;n<=i;n++) { for(intj=0;j<i;j++) { if(s[j]->getSumWage()==a[n]) { cout<<"實(shí)發(fā)工資排第"<<n<<"的員工是:"<<(*s[j]).name<<"實(shí)發(fā)工資:"<<(*s[j]).SumWage<<endl; } } } break; } case9://按員工號排序 { if(i==0) { cout<<"系統(tǒng)中沒有輸入數(shù)據(jù),請先輸入數(shù)據(jù)!"<<endl; break; } inth,g,n; intj=0; inta[100],temp; for(g=0;g<i;g++) { a[j]=(*s[g]).number; j++; }for(h=0;h<i;h++) { for(n=0;n<i-h;n++) if(a[n]>a[n+1]) { temp=a[n]; a[n]=a[n+1]; a[n+1]=temp; } } for(n=1;n<=i;n++) { for(intj=0;j<i;j++) { if(s[j]->number==a[n]) { cout<<"第"<<n<<"位員工是:"<<(*s[j]).name<<"員工號:"<<(*s[j]).number<<"實(shí)發(fā)工資:"<<(*s[j]).getSumWage()<<endl; } } } break; } case0: { exit(0); } } cout<<"您想繼續(xù)進(jìn)行其他操作嗎?(y/n):";intflag=0; do { cin>>w;cout<<endl;if(w!='y'&&w!='n') cout<<"輸入的指令無效!請重新輸入!"<<endl;elseflag=1; }while(flag==0); if(w=='y') { cout<<"*******************************************************************************"<<endl; cout<<"*******************************************************************************"<<endl; cout<<"*******************************************************************************"<<endl; cout<<"*******███████***歡迎來到工資管理系統(tǒng)***████████***"<<endl; cout<<"*****█*****************請選擇您需要的操作!***********█*********"<<endl; cout<<"***█*******************-操作:***********█*********"<<endl; cout<<"***█*******************(1)數(shù)據(jù)錄入***********█*********"<<endl; cout<<"***█*******************(2)增加員工數(shù)據(jù)***********█*********"<<endl; cout<<"***█*******************(3)刪除員工數(shù)據(jù)***********█*********"<<endl; cout<<"***█*******************(4)修改員工數(shù)據(jù)***********█*********"<<endl; cout<<"***█*******************-查詢:***********█*********"<<endl; cout<<"***█*******************(5)按員工號查詢***********█*********"<<endl; cout<<"***█*******************(6)按姓名查詢***********█*********"<<endl; cout<<"***█*******************(7)瀏覽所有學(xué)生的數(shù)據(jù)***********█*********"<<endl; cout<<"***█*******************-排序:***********█*********"<<endl; cout<<"*****█*****************(8)按實(shí)發(fā)工資排序*****█****█*********"<<endl; cout<<"*******███████***(9)按員工號排序*******██***********"<<endl; cout<<"************************(0)退出**********************"<<endl; cout<<"*******************************************************************************"<<endl; cout<<"*******************************************************************************"<<endl; cin>>p; } }while(w=='y');}工資管理系統(tǒng)需求分析引言隨著社會(huì)經(jīng)濟(jì)的迅速發(fā)展和科學(xué)技術(shù)的進(jìn)步,以計(jì)算機(jī)和軟件工程為基礎(chǔ)的信息系統(tǒng)正是蓬勃發(fā)展的時(shí)期。企業(yè)工資管理系統(tǒng)的內(nèi)容對于企業(yè)的管理者來說都至關(guān)重要,所以企業(yè)工資管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄?。所以工資管理信息系統(tǒng)能夠?yàn)楦邔宇I(lǐng)導(dǎo)者提供準(zhǔn)確的人員信息,以便領(lǐng)導(dǎo)者了解企業(yè)各個(gè)部門的人員構(gòu)成,計(jì)算好人力成本,安排好工作計(jì)劃,使企業(yè)變的更高效,更具有生命力。因此,開發(fā)工資管理系統(tǒng)更具有一定的社會(huì)現(xiàn)實(shí)意義。1.業(yè)務(wù)概述1.1傳統(tǒng)模式處理業(yè)務(wù)介紹在計(jì)算機(jī)誕生之前,人們對帳目的管理一直采用的是紙質(zhì)材料記錄,人工統(tǒng)計(jì)和計(jì)算。這樣的管理不但費(fèi)時(shí)費(fèi)力,也容易產(chǎn)生計(jì)算上的錯(cuò)誤和各種疏漏;隨著時(shí)代的變遷,這種混亂的情形有所改善,但采取的依然是人工操作,工作量大的時(shí)候,出現(xiàn)錯(cuò)誤的機(jī)率也隨之升高。目前我國還有一部分企業(yè)停留在原始的人力管理職工工資的方式上,這樣的機(jī)制既不能適應(yīng)時(shí)代的發(fā)展,又不利于企業(yè)自身的發(fā)展,這種管理方式存在著許多缺點(diǎn),如:效率低、保密性差,另外時(shí)間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護(hù)都帶來了不少的困難。當(dāng)今社會(huì),資金是企業(yè)生存的主要元素,資金的流動(dòng)影響到企業(yè)的整體運(yùn)作,企業(yè)員工的工資是企業(yè)資金管理的一個(gè)重要的組成部分,因?yàn)槠髽I(yè)每個(gè)月都要涉及發(fā)放企業(yè)員工工資的問題。而隨著企業(yè)人員數(shù)量的增加,企業(yè)的工資管理也變得越來越復(fù)雜。企業(yè)員工的人數(shù)越多,工資的統(tǒng)計(jì)工作就越多,工資的發(fā)放困難就越大。如果能夠?qū)崿F(xiàn)工資管理的自動(dòng)化,無疑將給企業(yè)管理部門帶來很大的方便。傳統(tǒng)的紙介材料的數(shù)據(jù)信息管理方式已經(jīng)不適合現(xiàn)代企業(yè)公司的發(fā)展了,實(shí)現(xiàn)工資管理的系統(tǒng)化、規(guī)范化、自動(dòng)化,將成為現(xiàn)代公司管理工資的首選。1.2現(xiàn)有信息系統(tǒng)應(yīng)用情況不同的企業(yè)具有不同的工資管理制度,這就決定了不同的企業(yè)需要不同的工資管理系統(tǒng)。在目前市場上這些眾多的程序開發(fā)工具中,有些強(qiáng)調(diào)語言的彈性與執(zhí)行效率;有些則偏重于可視化程序開發(fā)工具所帶來的便利性與效率的得高,各有各的優(yōu)點(diǎn)和特色,也滿足了不同用戶的需求。然而,語言的彈性和工具的便利性是密不可分的,只有便利的工具,卻沒有彈性的語言作支持,許多特殊化的處理動(dòng)作必需要耗費(fèi)數(shù)倍的工夫來處理,使得原來所標(biāo)榜的效率提高的優(yōu)點(diǎn)失去了作用;相反,如果只強(qiáng)調(diào)語言的彈性,卻沒有便利的工具作配合,會(huì)使一些即使非常簡單的界面處理動(dòng)作,也會(huì)嚴(yán)重地浪費(fèi)程序設(shè)計(jì)師的寶貴時(shí)間?,F(xiàn)在大中型企業(yè)信息管理系統(tǒng)中幾乎都包括了工資管理模塊.有些是作為企業(yè)財(cái)務(wù)系統(tǒng)中的一部分.這些根據(jù)規(guī)范的西方的管理制度設(shè)計(jì)的工資管理軟件,在很多時(shí)候還不能解決具有中國特色的中小型企業(yè)的問題,本畢業(yè)設(shè)計(jì)的研究工作就是要為這些具有中國特色的中小型企業(yè)解決他們在工資管理方面的問題.能夠設(shè)計(jì)一套中小型企業(yè)的工資管理系統(tǒng)特別有意義,并且是現(xiàn)有財(cái)務(wù)軟件替代不了的。2.系統(tǒng)需求2.1系統(tǒng)總體需求本系統(tǒng)開發(fā)的主要目標(biāo)就是要使企事業(yè)單位工資管理實(shí)現(xiàn)計(jì)算機(jī)管理,使管理員能夠有序的管理每一位職工的各項(xiàng)工資條款的發(fā)放,以及企業(yè)工資的統(tǒng)計(jì),使企業(yè)運(yùn)用現(xiàn)代化技術(shù)創(chuàng)造更多更高的經(jīng)濟(jì)效益,在此基礎(chǔ)上開發(fā)一個(gè)功能實(shí)用、界面美觀、操作方便、實(shí)用性強(qiáng)的工資管理軟件。實(shí)現(xiàn)本單位財(cái)務(wù)部門對工資發(fā)放的集中管理??晒┴?cái)務(wù)人員對本單位的人員工資進(jìn)行增加、刪除、修改、查詢、導(dǎo)入、導(dǎo)出文件、輸出報(bào)表,并對系統(tǒng)的可登錄人員進(jìn)行管理,對工資發(fā)放中的應(yīng)發(fā)工資合計(jì)、代扣個(gè)人所得稅及個(gè)人實(shí)發(fā)工資等項(xiàng)目由系統(tǒng)自動(dòng)進(jìn)行計(jì)算;并擁有一些簡單的使用工具方便操作人員使用,幫助系統(tǒng)能夠知道系統(tǒng)的使用。同時(shí)本系統(tǒng)還可對工資發(fā)放情況進(jìn)行多角度查詢,能夠按不同的條件進(jìn)行查詢,并打印出報(bào)表,還可以導(dǎo)出報(bào)表的EXCEL格式。2.2系統(tǒng)功能需求管理信息系統(tǒng)的管理過程就是對數(shù)據(jù)進(jìn)行懼、存儲、加工處理、傳遞,并產(chǎn)生信息的過程,因此數(shù)據(jù)是管理信息系統(tǒng)的靈魂。從而實(shí)現(xiàn)了數(shù)據(jù)的一致和共享,管理信息系統(tǒng)可以解決企業(yè)或組織所面臨的問題。企業(yè)工資管理系統(tǒng)為企業(yè)提供工資計(jì)算,工資統(tǒng)計(jì)等服務(wù);而且系統(tǒng)使用表格保存相關(guān)的工資信息,人性化的設(shè)計(jì)方便查詢、瀏覽、修改等操作,并且檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等?;旧夏軌驖M足現(xiàn)代企業(yè)工資管理的需求。針對系統(tǒng)服務(wù)對象的具體要求,設(shè)計(jì)了企業(yè)工資管理系統(tǒng)。企業(yè)工資管理系統(tǒng)主要有以下幾大功能:⑴對系統(tǒng)進(jìn)行管理,能夠完成操作員信息添加、刪除和修改,以及修改操作員的密碼。⑵人員的管理,包括對員工信息、部門信息以及員工考勤信息的管理。并能對考勤信息進(jìn)行多角度查詢。⑶對工資進(jìn)行設(shè)置,包括對員工職務(wù)工資設(shè)置、考勤工資設(shè)置、基本工資設(shè)置、保險(xiǎn)設(shè)置、所得稅設(shè)置和發(fā)銀行設(shè)置。⑷工資管理,能夠?qū)Σ糠肿儎?dòng)工資的設(shè)置,結(jié)合工資設(shè)置的標(biāo)準(zhǔn)自動(dòng)完成工資結(jié)算,并且生成工資表。還能夠?qū)べY進(jìn)行多角度查詢,如按時(shí)間段查詢、按部門查詢及按員工編號查詢,根據(jù)查詢方式的不同統(tǒng)計(jì)工資的總額。對于報(bào)表的管理可以打印報(bào)表和工資條,并且能導(dǎo)出工資報(bào)表的EXCEL格式。⑸數(shù)據(jù)管理,包括數(shù)據(jù)庫的備份和還原。由用戶自行選擇備份的路徑,數(shù)據(jù)還原方便快捷。⑹系統(tǒng)有記事本和計(jì)算器兩個(gè)工具,方便操作員使用。⑺幫助功能,解決用戶普遍存在的疑難問題,以及對系統(tǒng)的介紹。2.3系統(tǒng)性能需求作為數(shù)據(jù)庫系統(tǒng)的開發(fā)企業(yè)工資管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),前臺程序開發(fā)工具采用DELPHI7.0,該軟件具有組件豐富,這些控件可用于設(shè)計(jì)界面和實(shí)現(xiàn)各種功能,減少了編程人員的工作量,也簡化了界面設(shè)計(jì)過程,而且語言簡單、使用方便功能強(qiáng)大從而有效的提高了應(yīng)用程序的運(yùn)行效率和可靠性。后臺數(shù)據(jù)庫采用目前比較流行微軟公司SQL服務(wù)器數(shù)據(jù)庫,數(shù)據(jù)容量大,穩(wěn)定性高,能自動(dòng)排除各類異常操作;嚴(yán)格的用戶驗(yàn)證與權(quán)限控制,確保系統(tǒng)安全可靠,系統(tǒng)還提供了完善的數(shù)據(jù)備份與恢復(fù)功能,用得既方便又放心。在安全性、準(zhǔn)確性、運(yùn)行速度方面有絕對的優(yōu)勢,可以快速的開發(fā)窗口應(yīng)用程序。2.4其他需求2.4.1安全性分析采用嚴(yán)格的用戶驗(yàn)證與權(quán)限控制,用戶需要通過身份驗(yàn)證才能進(jìn)入本系統(tǒng),進(jìn)行工資的設(shè)置和管理,沒有權(quán)限的用戶不能夠使用本系統(tǒng),每個(gè)用戶只能修改自己的密碼,保密性很好,確保系統(tǒng)安全可靠。2.4.2健壯性分析系統(tǒng)基于性能優(yōu)異的大型數(shù)據(jù)庫系統(tǒng)(SQL服務(wù)器)設(shè)計(jì),系統(tǒng)還提供了完善的數(shù)據(jù)備份與恢復(fù)功能。不會(huì)出現(xiàn)系統(tǒng)崩潰。3.系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)3.1系統(tǒng)數(shù)據(jù)分析圖3.1E-R圖3.2數(shù)據(jù)域定義數(shù)據(jù)表字典工資表(表名:工資表)表3.1用途記錄員工的工資信息字段名類型長度鍵中文名備注年月Datatime8主鍵年月員工編號Varchar10主鍵員工編號基本工資Money8基本工資職務(wù)工資Money8職務(wù)工資醫(yī)療保險(xiǎn)Money8醫(yī)療保險(xiǎn)失業(yè)保險(xiǎn)Money8失業(yè)保險(xiǎn)養(yǎng)老保險(xiǎn)Money8養(yǎng)老保險(xiǎn)個(gè)人所得稅Money8個(gè)人所得稅生活補(bǔ)助Money8生活補(bǔ)助交通補(bǔ)助Money8交通補(bǔ)助電話費(fèi)Money8電話費(fèi)整裝費(fèi)Money8整裝費(fèi)加班費(fèi)Money8加班費(fèi)請假費(fèi)Money8請假費(fèi)遲到早退費(fèi)Money8遲到早退費(fèi)曠工費(fèi)Money8曠工費(fèi)其他金額Money8其他金額其他扣款Money8其他扣款應(yīng)發(fā)工資Money8應(yīng)發(fā)工資應(yīng)扣工資Money8應(yīng)扣工資實(shí)發(fā)工資Money8實(shí)發(fā)工資備注Varchar100備注相關(guān)表保險(xiǎn)表,基本工資表,所得稅表,考勤工資表,考勤表,職務(wù)工資表員工信息表(表名:員工信息表)表3.2用途記錄員工的基本信息字段名類型長度鍵中文名備注員工編號Varchar10主鍵員工編號員工姓名Varchar10員工姓名性別Varchar10性別職務(wù)Varchar10職務(wù)部門名稱Varchar10部門名稱代發(fā)銀行Varchar10代發(fā)銀行銀行帳號Varchar20銀行帳號電話Varchar15電話相關(guān)表職務(wù)工資表,銀行表,部門信息表考勤工資表(表名:考勤工資表)表3.3用途記錄員工考勤工資標(biāo)準(zhǔn)的信息字段名類型長度鍵中文名備注一次加班費(fèi)Money8一次加班費(fèi)一次遲到早退費(fèi)Money8一次遲到早退費(fèi)一次曠工費(fèi)Money8一次礦工費(fèi)一次請假費(fèi)Money8一次請假費(fèi)相關(guān)表考勤表,工資表考勤

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論