c小型公司工資管理系統

2021-03-10 00:59:23 字數 3307 閱讀 5546

《程式設計實習》報告

專業班級:

學號:姓名:

時間:2010.8.22~2010.8.27

2023年8月

目錄一、 實習內容1

二、 設計思路2

三、 程式清單3

四、 執行結果25

五、 程式使用說明31

六、 總結及心得體會31

一、實習內容

※實習目的:

本次實習所編輯的c++程式是為了建立「小型公司工資管理系統」。

通過對該系統的建立進一步掌握面向過程和物件導向程式的設計的基本方法和程式設計技巧,鞏固所學理論知識,使理論與實踐相結合,提高分析問題、解決問題的能力。

具體一點主要是為了進一步熟悉c++中類的概念、類的封裝、繼承和多型的實現方式。了解系統開發的需求分析、類層次設計、模組分析、編碼測試、模組組裝與整體除錯的全過程;逐步熟悉程式設計的方法,並養成良好的程式設計習慣。

※設計說明與要求:

(1) 公司主要有4類人:經理、計術員、銷售員、銷售經理。要求儲存這些人的職工號、姓名、月工資、年齡、性別等資訊。

(2) 工資的計算方法

a、經理:固定月薪為8000元;

b、技術員:工作時間*小時工資(100元每小時);

c、銷售員:銷售額*4%提成;

d、銷售經理:底薪(5000元)+所轄部門銷售額總額*0.5%;

(3) 類的層次結構大體如下

(4) 輸入員工基本資料,要求每類人員不能少於2人,。

(5) 實現功能

應用程式中要有選單,用於選擇各項功能,其中

資料錄入:輸入各項資料;

資料統計:統計各銷售經理下屬銷售員的銷售額及銷售額之和;銷售經理按工資進行的氣泡排序

資料列印:列印各類員工的資料資訊;

資料備份:把各類員工的資料資訊寫入檔案中儲存;

退出:退出本系統

(6)選單說明

資料錄入指通過鍵盤輸入各類員工的各項資料;

資料統計指統計各銷售經理下屬銷售員的銷售額及銷售額之和;銷經理按工資進行的氣泡排序;

資料列印指按照**的格式在螢幕上輸出各類員工的資訊;

資料備份指將所有員工的資訊儲存到檔案;

退出:結束程式的執行。

二、設計思路

首先公司有四類人,各類之間又有相同的部分例:姓名、職工號等,所以定義乙個基類employee,四類人相同部分為基類資料成員。由基類employee再派生出各類:

經理類manager、技術員類technician、銷售員類seller、銷售經理類sale**anager。各類各自完善自己的資訊輸入程式。

由於是有選擇的選單,首先想到了switch選擇語句。當輸入不同值時,進入不同的case部分以實現不同的功能。

case1的功能是實現資料的輸入。在case1中使用了第二個switch語句實現了多級選單的構想,在第二個switch語句中不同的case值呼叫不同的類中的用於資訊輸入的成員函式。

case2的功能是實現資料的統計。運用雙重迴圈(銷售員所屬銷售經理的編號和銷售經理的編號對應時,即把各銷售員銷售額加到對應銷售經理名下)和全域性陣列,實現了對不同銷售經理所轄部門銷售額總額的計算問題和儲存問題;重新定義了乙個銷售經理類物件(經理類各物件和銷售總額是一一對應的),結合氣泡排序法實現了對銷售總額的排序(同時變換的還有各銷售總額對應的銷售經理類物件),再通過呼叫乙個求銷售經理工資的函式,求得各銷售經理的工資;最後主要通過for迴圈和對類內成員函式的呼叫實現了對兩個**(1各銷售經理所轄銷售部門銷售員業績表;2銷售經理工資排序表)的輸出。

case3的功能是實現資料的列印。主要運用for迴圈和對類內成員函式的呼叫實現各類職工基本情況一覽表的輸出。

case4的功能是實現資料的備份。主要運用了輸出流類ofstream、for迴圈和對類內成員函式的呼叫。

case5的功能是實現系統的退出。主要運用了exit退出函式。

又由於當case1、case2、case3和case4各步結束後要求返回主選單並且當且僅當case5時退出系統,所以第乙個switch在乙個死迴圈內。

三、程式清單

#include

#include

#include

#include

#include

using namespace std;

ofstream outfile;

const int b=2;

const int t=2;

const int sb=2;

const int s=4;

int wage(int n);

void technicianinformatian();

void managerinformation();

void sale**anagerinformation();

void sellerinformation();

void total();

void maopao();

void yejibiao();

void sbrank();

void excelhead();

void excelmiddle();

void excelend();

void backup_yejibiao();

void backup_sbrank();

void backup_technicianinformatian();

void backup_managerinformation();

void backup_sale**anagerinformation();

void backup_sellerinformation();

class employee

string nam()

char show***()

int showage()

protected:

int num;

string name;

char ***;

int age;

int wage;

};class manager:public employee

int managerwage()

void set_in()

};class technician:public employee

int get_wage()

;class sale**anager:public employee

void set_in()

int get_wage()

;class seller:public employee

int get_wage()

protected:

int sale**oney;

int bossnum;};

c小型公司工資管理系統實習報告

include include include include using namespace std const a 2 const b 4 int a,b,c,d,s class employee 員工 基類 void set int get1 string get2 char get3 int...

工資管理系統C

西安郵電學院 c語言課程設計報告 院系名稱計算機學院 專業名稱 電腦科學與技術 班級 學生姓名 學號 8位 指導教師 設計起止時間 2011年06月22日 2011年07月01日 1.強化上機動手能力,在理論和實踐的基礎上進一步鞏固 c語言程式設計 課程學習的內容,掌握工程化軟體設計的基本方法 2....

09051107仇濤c小型公司工資管理系統實習報告

中國石油大學 華東 資訊與控制工程學院 程式設計實習 報告 小型公司工資管理系統的設計 專業班級 自動化09 1班 學號 09051107 姓名 仇濤 時間 2010.8.22 2009.8.28 2010年8月 一 實習內容1 二 設計思路2 三 程式清單3 四 執行結果21 五 程式使用說明28...