C++課程設(shè)計(jì)-職工工資管理系統(tǒng)設(shè)計(jì)_第1頁
C++課程設(shè)計(jì)-職工工資管理系統(tǒng)設(shè)計(jì)_第2頁
C++課程設(shè)計(jì)-職工工資管理系統(tǒng)設(shè)計(jì)_第3頁
C++課程設(shè)計(jì)-職工工資管理系統(tǒng)設(shè)計(jì)_第4頁
C++課程設(shè)計(jì)-職工工資管理系統(tǒng)設(shè)計(jì)_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

C++課程設(shè)計(jì)-職工工資管理系統(tǒng)設(shè)計(jì)?一、課程設(shè)計(jì)題目職工工資管理系統(tǒng)設(shè)計(jì)

二、課程設(shè)計(jì)目的1.深入理解C++語言的基本概念和特性,提高運(yùn)用C++進(jìn)行程序設(shè)計(jì)的能力。2.掌握面向?qū)ο缶幊痰乃枷牒头椒ǎ囵B(yǎng)良好的編程風(fēng)格和習(xí)慣。3.通過設(shè)計(jì)一個(gè)實(shí)際的職工工資管理系統(tǒng),增強(qiáng)對數(shù)據(jù)結(jié)構(gòu)、算法以及文件操作等知識的綜合運(yùn)用能力。4.提升問題分析、系統(tǒng)設(shè)計(jì)、代碼實(shí)現(xiàn)和調(diào)試的能力,培養(yǎng)解決實(shí)際問題的能力。

三、課程設(shè)計(jì)要求1.功能要求-能夠錄入職工的基本信息,包括職工編號、姓名、部門等。-可以輸入職工的工資信息,如基本工資、獎(jiǎng)金、補(bǔ)貼、扣款等。-計(jì)算職工的應(yīng)發(fā)工資、實(shí)發(fā)工資,并進(jìn)行顯示。-能夠?qū)β毠すべY信息進(jìn)行修改和刪除操作。-可以按照職工編號、部門等條件查詢職工工資信息。-能夠?qū)⒙毠すべY信息保存到文件中,并可以從文件中讀取信息進(jìn)行顯示。2.界面要求-設(shè)計(jì)友好的用戶界面,便于用戶操作。-提供清晰的菜單選項(xiàng),讓用戶能夠方便地選擇各項(xiàng)功能。3.數(shù)據(jù)要求-職工信息和工資信息應(yīng)準(zhǔn)確無誤地存儲(chǔ)和處理。-對輸入的數(shù)據(jù)進(jìn)行合法性檢查,確保數(shù)據(jù)的有效性。

四、系統(tǒng)設(shè)計(jì)(一)總體設(shè)計(jì)職工工資管理系統(tǒng)主要由職工信息管理模塊、工資信息管理模塊、查詢模塊、文件操作模塊和界面模塊組成。各模塊之間相互協(xié)作,共同完成職工工資管理的各項(xiàng)功能。

(二)詳細(xì)設(shè)計(jì)1.職工信息管理模塊-數(shù)據(jù)結(jié)構(gòu):使用結(jié)構(gòu)體來存儲(chǔ)職工的基本信息,如職工編號、姓名、部門等。```cppstructEmployee{intid;stringname;stringdepartment;};```-功能實(shí)現(xiàn):提供函數(shù)用于錄入職工信息、顯示職工信息等。```cppvoidaddEmployee(Employeeemployees[],int&count){EmployeenewEmployee;cout<<"請輸入職工編號:";cin>>newEmployee.id;cout<<"請輸入職工姓名:";cin.ignore();getline(cin,newE);cout<<"請輸入職工部門:";getline(cin,newEmployee.department);employees[count++]=newEmployee;}

voiddisplayEmployees(Employeeemployees[],intcount){for(inti=0;i<count;i++){cout<<"職工編號:"<<employees[i].id<<"姓名:"<<employees[i].name<<"部門:"<<employees[i].department<<endl;}}```2.工資信息管理模塊-數(shù)據(jù)結(jié)構(gòu):在職工信息結(jié)構(gòu)體的基礎(chǔ)上,增加工資相關(guān)字段,如基本工資、獎(jiǎng)金、補(bǔ)貼、扣款等。```cppstructEmployee{intid;stringname;stringdepartment;doublebasicSalary;doublebonus;doublesubsidy;doublededuction;doublepayableSalary;doubleactualSalary;};```-功能實(shí)現(xiàn):提供函數(shù)用于錄入工資信息、計(jì)算應(yīng)發(fā)工資和實(shí)發(fā)工資等。```cppvoidaddSalary(Employeeemployees[],intcount){intid;cout<<"請輸入職工編號:";cin>>id;for(inti=0;i<count;i++){if(employees[i].id==id){cout<<"請輸入基本工資:";cin>>employees[i].basicSalary;cout<<"請輸入獎(jiǎng)金:";cin>>employees[i].bonus;cout<<"請輸入補(bǔ)貼:";cin>>employees[i].subsidy;cout<<"請輸入扣款:";cin>>employees[i].deduction;employees[i].payableSalary=employees[i].basicSalary+employees[i].bonus+employees[i].subsidy;employees[i].actualSalary=employees[i].payableSalary-employees[i].deduction;return;}}cout<<"未找到該職工編號"<<endl;}

voiddisplaySalary(Employeeemployees[],intcount){for(inti=0;i<count;i++){cout<<"職工編號:"<<employees[i].id<<"姓名:"<<employees[i].name<<"部門:"<<employees[i].department<<"基本工資:"<<employees[i].basicSalary<<"獎(jiǎng)金:"<<employees[i].bonus<<"補(bǔ)貼:"<<employees[i].subsidy<<"扣款:"<<employees[i].deduction<<"應(yīng)發(fā)工資:"<<employees[i].payableSalary<<"實(shí)發(fā)工資:"<<employees[i].actualSalary<<endl;}}```3.查詢模塊-功能實(shí)現(xiàn):提供按職工編號、部門等條件查詢職工工資信息的函數(shù)。```cppvoidqueryById(Employeeemployees[],intcount){intid;cout<<"請輸入職工編號:";cin>>id;for(inti=0;i<count;i++){if(employees[i].id==id){cout<<"職工編號:"<<employees[i].id<<"姓名:"<<employees[i].name<<"部門:"<<employees[i].department<<"基本工資:"<<employees[i].basicSalary<<"獎(jiǎng)金:"<<employees[i].bonus<<"補(bǔ)貼:"<<employees[i].subsidy<<"扣款:"<<employees[i].deduction<<"應(yīng)發(fā)工資:"<<employees[i].payableSalary<<"實(shí)發(fā)工資:"<<employees[i].actualSalary<<endl;return;}}cout<<"未找到該職工編號"<<endl;}

voidqueryByDepartment(Employeeemployees[],intcount){stringdepartment;cout<<"請輸入部門名稱:";cin.ignore();getline(cin,department);boolfound=false;for(inti=0;i<count;i++){if(employees[i].department==department){cout<<"職工編號:"<<employees[i].id<<"姓名:"<<employees[i].name<<"部門:"<<employees[i].department<<"基本工資:"<<employees[i].basicSalary<<"獎(jiǎng)金:"<<employees[i].bonus<<"補(bǔ)貼:"<<employees[i].subsidy<<"扣款:"<<employees[i].deduction<<"應(yīng)發(fā)工資:"<<employees[i].payableSalary<<"實(shí)發(fā)工資:"<<employees[i].actualSalary<<endl;found=true;}}if(!found){cout<<"未找到該部門的職工"<<endl;}}```4.修改和刪除模塊-功能實(shí)現(xiàn):提供修改和刪除職工工資信息的函數(shù)。```cppvoidmodifySalary(Employeeemployees[],intcount){intid;cout<<"請輸入職工編號:";cin>>id;for(inti=0;i<count;i++){if(employees[i].id==id){cout<<"請輸入基本工資:";cin>>employees[i].basicSalary;cout<<"請輸入獎(jiǎng)金:";cin>>employees[i].bonus;cout<<"請輸入補(bǔ)貼:";cin>>employees[i].subsidy;cout<<"請輸入扣款:";cin>>employees[i].deduction;employees[i].payableSalary=employees[i].basicSalary+employees[i].bonus+employees[i].subsidy;employees[i].actualSalary=employees[i].payableSalary-employees[i].deduction;cout<<"修改成功"<<endl;return;}}cout<<"未找到該職工編號"<<endl;}

voiddeleteEmployee(Employeeemployees[],int&count){intid;cout<<"請輸入職工編號:";cin>>id;for(inti=0;i<count;i++){if(employees[i].id==id){for(intj=i;j<count-1;j++){employees[j]=employees[j+1];}count--;cout<<"刪除成功"<<endl;return;}}cout<<"未找到該職工編號"<<endl;}```5.文件操作模塊-功能實(shí)現(xiàn):提供保存職工工資信息到文件和從文件讀取信息的函數(shù)。```cppvoidsaveToFile(Employeeemployees[],intcount,conststring&filename){ofstreamfile(filename);if(file.is_open()){for(inti=0;i<count;i++){file<<employees[i].id<<""<<employees[i].name<<""<<employees[i].department<<""<<employees[i].basicSalary<<""<<employees[i].bonus<<""<<employees[i].subsidy<<""<<employees[i].deduction<<""<<employees[i].payableSalary<<""<<employees[i].actualSalary<<endl;}file.close();}else{cout<<"無法打開文件"<<endl;}}

voidloadFromFile(Employeeemployees[],int&count,conststring&filename){ifstreamfile(filename);if(file.is_open()){count=0;while(file>>employees[count].id>>employees[count].name>>employees[count].department>>employees[count].basicSalary>>employees[count].bonus>>employees[count].subsidy>>employees[count].deduction>>employees[count].payableSalary>>employees[count].actualSalary){count++;}file.close();}else{cout<<"無法打開文件"<<endl;}}```6.界面模塊-功能實(shí)現(xiàn):使用菜單驅(qū)動(dòng)的方式,提供清晰的界面讓用戶選擇各項(xiàng)功能。```cppvoiddisplayMenu(){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<<"9.從文件讀取"<<endl;cout<<"0.退出"<<endl;}```

五、系統(tǒng)實(shí)現(xiàn)根據(jù)詳細(xì)設(shè)計(jì),使用C++語言編寫各個(gè)模塊的代碼,并進(jìn)行整合和調(diào)試。

```cppintmain(){Employeeemployees[MAX_EMPLOYEES];intcount=0;intchoice;while(true){displayMenu();cout<<"請選擇功能:";cin>>choice;switch(choice){case1:addEmployee(employees,count);break;case2:addSalary(employees,count);break;case3:displaySalary(employees,count);break;case4:queryById(employees,count);break;case5:queryByDepartment(employees,count);break

溫馨提示

  • 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)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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

提交評論