第一篇:小型公司工資管理系統(tǒng)--(完結(jié))
中國石油大學(xué)(華東)信息與控制工程學(xué)院
《程序設(shè)計(jì)實(shí)習(xí)》報(bào)告
小型公司工資管理系統(tǒng)的設(shè)計(jì)
姓
名:Yuppies Liu 時(shí) 間:2011.7.14~2011.7.17
2011年7月
目錄
一、實(shí)習(xí)內(nèi)容…………………………………………………………………………1
二、設(shè)計(jì)思路…………………………………………………………………………2
三、程序代碼清單……………………………………………………………………3
四、運(yùn)行結(jié)果…………………………………………………………………………10
五、程序使用說明……………………………………………………………………16
六、總結(jié)及心得體會(huì)…………………………………………………………………17
程序設(shè)計(jì)實(shí)習(xí)報(bào)告
一、實(shí)習(xí)內(nèi)容 題目:《小型公司管理系統(tǒng)的設(shè)計(jì)》設(shè)計(jì) 2.設(shè)計(jì)說明與基本要求
(1)公司主要有4類人員:經(jīng)理、技術(shù)員、銷售員、銷售經(jīng)理。
要求存儲(chǔ)這些人的職工號(hào)、姓名、月工資、年齡、性別等信息。(2)工資的計(jì)算方法
A 經(jīng)理:固定月薪為8000元;
B技術(shù)員:工作時(shí)間*小時(shí)工資(100元/小時(shí)); C銷售員:銷售額*4%提成;
D銷售經(jīng)理:底薪(5000元)+所轄部門銷售額總額*0.5%。(3)員工基本數(shù)據(jù)的輸入
要求每類人員不能少于4人,其中銷售員需要8名,每名銷
售經(jīng)理手下有2名銷售員。
(4)各類的數(shù)據(jù)成員訪問權(quán)限設(shè)置為:protected 3.實(shí)現(xiàn)基本功能
(1)數(shù)據(jù)輸入:輸入各種數(shù)據(jù)
(2)數(shù)據(jù)的輸入 :統(tǒng)計(jì)各銷售經(jīng)理下屬銷售員的銷售額及銷售額之和;銷售經(jīng)理按工資進(jìn)行的帽泡排序;
(3)數(shù)據(jù)打?。捍蛴「黝悊T工的數(shù)據(jù)信息;
(4)數(shù)據(jù)備份
(5)退出:退出本系統(tǒng)
備注:可適當(dāng)擴(kuò)充程序功能,功能擴(kuò)充得當(dāng)可加分 4.菜單說明
(1)數(shù)據(jù)錄入指通過鍵盤輸入各類員工的各項(xiàng)數(shù)據(jù)
(2)數(shù)據(jù)統(tǒng)計(jì)指統(tǒng)計(jì)各銷售經(jīng)理下屬銷售員的銷售額及銷售額之和;銷售經(jīng)理按工資進(jìn)行的冒泡排序
(3)數(shù)據(jù)的打印指按照表格的格式在屏幕上輸出各員工的數(shù)據(jù)信息(4)數(shù)據(jù)的備份指把各類員工的數(shù)據(jù)信息寫入文件中保存(5)退出:結(jié)束程序的運(yùn)行
程序設(shè)計(jì)實(shí)習(xí)報(bào)告
二、設(shè)計(jì)思路
在這個(gè)公司中有四類人員:經(jīng)理、兼職技術(shù)人員、銷售員要存儲(chǔ)的信息有姓名、編號(hào)、性別、年齡、工資、銷售額、所屬經(jīng)理編號(hào).由于所有職員有相同的成員如編號(hào)(num)、姓名(name)、性別(sex)、年齡(age)、工資(wage)。所以可將所有信息歸納為一個(gè)職員類(Guyuan),將其作為一個(gè)基類,然后派生出子類,實(shí)現(xiàn)各類人員不同的信息(如工資計(jì)算),由于銷售經(jīng)理具有銷售員和經(jīng)理的特性,所以銷售經(jīng)理采用多重繼承的關(guān)系,繼承銷售員和經(jīng)理的兩個(gè)類,為避免二義性將employee定義為虛基類,可用下圖表示:
題目中假設(shè)公司有2名技術(shù)員、4名銷售員、經(jīng)理和銷售經(jīng)理各2名,所以用對(duì)象數(shù)組的方式,利用循環(huán)語句來實(shí)現(xiàn)人員的輸入和輸出,整個(gè)程序設(shè)計(jì)如下: 基類雇員類:
數(shù)據(jù)成員有職工號(hào)、姓名、年齡、性別、月工資; 成員函數(shù)只有姓名、年齡、性別的設(shè)置函數(shù)。技術(shù)員類:繼承基類 數(shù)據(jù)成員增加了工作時(shí)間;
成員函數(shù)有設(shè)置函數(shù)、構(gòu)造函數(shù)、輸出函數(shù)下屬函數(shù)、備份函數(shù)下屬函數(shù)。經(jīng)理類:繼承基類 數(shù)據(jù)成員未增加;
成員函數(shù)有設(shè)置函數(shù)、構(gòu)造函數(shù)、輸出函數(shù)下屬函數(shù)、備份函數(shù)下屬函數(shù)。銷售員類:繼承基類
數(shù)據(jù)成員多了銷售額、所屬經(jīng)理編號(hào);
成員函數(shù)有設(shè)置函數(shù)、構(gòu)造函數(shù)、輸出函數(shù)下屬函數(shù)、備份函數(shù)下屬函數(shù)、銷售額返回函數(shù)、所屬經(jīng)理編號(hào)輸出函數(shù)。銷售經(jīng)理類:繼承基類 數(shù)據(jù)成員未增加;
成員函數(shù)有設(shè)置函數(shù)、構(gòu)造函數(shù)、輸出函數(shù)下屬函數(shù)、備份函數(shù)下屬函數(shù)、統(tǒng)計(jì)函數(shù)所屬函數(shù)。
程序設(shè)計(jì)實(shí)習(xí)報(bào)告
三、程序代碼清單
#include
void set_jishuyuan(){cout<<“技術(shù)員編號(hào):”;cin>>num;cout< cout<<“其姓名:”;cin>>name; cout< cout<<“性別(m/w):”;cin>>sex; cout< cout<<“年齡:”;cin>>age; cout< cout<<“工作時(shí)間:”;cin>>time; cout< wage=time*100;} void show_jishuyuan() {cout<<“┃”< void show_jishuyuan4() {outfile<<”┃“< void set_jingli() {cout<<”經(jīng)理的編號(hào):“;cin>>num;cout< cout<<”其姓名:“;cin>>name; cout< cout<<”其性別(m/w):“;cin>>sex; cout< cout<<”年齡:“;cin>>age;cout< wage=8000;} void show_jingli() {cout<<”┃“< ┃┃ ┃┃ ┃ 程序設(shè)計(jì)實(shí)習(xí)報(bào)告 “< {outfile<<”┃“< ┃┃“< class Xiaoshouyuan:protected Guyuan {public: void set_xiaoshouyuan() {cout<<”銷售員的編號(hào):“;cin>>num; cout< cout<<”其姓名:“;cin>>name; cout< cout<<”性別(m/w):“;cin>>sex; cout< cout<<”年齡:“;cin>>age; cout< cout<<”銷售額:“;cin>>sell; cout< cout<<”所屬銷售經(jīng)理的編號(hào):“;cin>>belong;cout< wage=sell*4/100;} void show_xiaoshouyuan() {cout<<”┃“< void show_xiaoshouyuan2() {cout<<”┃“< void show_xiaoshouyuan4() {outfile<<”┃“< int shu_jingli() {return num;} void set_xiaoshoujingli() { cout<<”銷售經(jīng)理的編號(hào):“;cin>>num;cout< cout<<”其姓名:“;cin>>name;cout< cout<<”性別(m/w):“;cin>>sex;cout< cout<<”年齡:“;cin>>age;cout< {cout<<”┃“< ┃ ┃┃ ┃┃ ┃ 程序設(shè)計(jì)實(shí)習(xí)報(bào)告 “< void show_xiaoshoujingli4() {outfile<<”┃“< void show_wage() {cout< {wage=5000+sum*0.5/100;} };void disp(){ cout<<” ★★小型公司工資管理系統(tǒng)★★ “< cout<<” ┏━━━━━━━━━━━━┓ “< cout<<” ┃ 請(qǐng)選擇您所需要的操作 ┃ “< cout<<” ┃ 數(shù)據(jù)輸入: 1,并按回車鍵 ┃ “< cout<<” ┃ 數(shù)據(jù)統(tǒng)計(jì): 2,并按回車鍵 ┃ “< cout<<” ┃ 數(shù)據(jù)打印: 3,并按回車鍵 ┃ “< cout<<” ┃ 數(shù)據(jù)備份: 4,并按回車鍵 ┃ “< cout<<” ┃ 退出系統(tǒng): 5,并按回車鍵 ┃ “< cout<<” ┗━━━━━━━━━━━━┛ “< cout< cout<<”請(qǐng)選擇一個(gè)操作: “; } int main(){ const int n=2; int i,w; Jishuyuan a[n]; Jingli b[n]; Xiaoshouyuan c[2*n]; Xiaoshoujingli d[n]; disp();while(1){cin>>w;switch(w){case 1: { {for(i=0;i a[i].set_jishuyuan();cout<<”*******************************************************“< b[i].set_jingli();cout<<”*******************************************************“< c[i].set_xiaoshouyuan(); 程序設(shè)計(jì)實(shí)習(xí)報(bào)告 cout<<”*******************************************************“< d[i].set_xiaoshoujingli();cout<<”*******************************************************“< for(j=0;j { sum[j]=0; cout<<”職工號(hào)為“;d[j].show_num();cout<<”銷售經(jīng)理“;d[j].show_name();cout<<”下屬銷售員的業(yè)績?yōu)椋骸? cout<<”┏━━━━━━━┳━━━━━━━┳━━━━━━━┓“< cout<<”┃ 職工號(hào) ┃ 姓名 ┃ 銷售額 ┃“< for(i=0;i<2*n;i++) {if(c[i].belong==d[j].shu_jingli()) {cout<<”┣━━━━━━━╋━━━━━━━╋━━━━━━━┫“< c[i].show_xiaoshouyuan(); sum[j]=sum[j]+c[i].sell;}} cout<<”┣━━━━━━━╋━━━━━━━┻━━━━━━━┫“< cout<<”┃“<<”銷售額總計(jì) ┃“< cout<<”┗━━━━━━━┻━━━━━━━━━━━━━━━┛“< cout<<”┃ 職工號(hào) ┃ 姓名 ┃ 性別 ┃ 年齡 ┃ 工資 ┃“< Xiaoshoujingli x;double y;for(i=0;i for(j=0;j if(sum[i] {x=d[i];d[i]=d[j];d[j]=x;y=sum[i];sum[i]=sum[j];sum[j]=y;} for(i=0;i { cout<<”┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫“< d[i].wage_sum(sum[i]); d[i].show_xiaoshoujingli();} cout<<”┗━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛“< disp();};break;} 程序設(shè)計(jì)實(shí)習(xí)報(bào)告 case 3:{ { int i;cout<<”請(qǐng)等待......“< cout<<”┃ 職工號(hào) ┃ 姓名 ┃ 性別 ┃ 年齡 ┃ 工資 ┃“< for(i=0;i { cout<<”┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫“< a[i].show_jishuyuan();} cout<<”┗━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛“< cout<<”┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓“< cout<<”┃ 職工號(hào) ┃ 姓名 ┃ 性別 ┃ 年齡 ┃ 工資 ┃“< for(i=0;i { cout<<”┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫“< cout<<”┗━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛“< cout<<”*******************************************************“< cout<<”銷售經(jīng)理“< cout<<”┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓“< cout<<”┃ 職工號(hào) ┃ 姓名 ┃ 性別 ┃ 年齡 ┃ 工資 ┃“< for(i=0;i { cout<<”┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫“< d[i].show_xiaoshoujingli();} cout<<”┗━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛“< cout<<”┏━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━━━━━━┓“< 程序設(shè)計(jì)實(shí)習(xí)報(bào)告 cout<<”┃ 職工號(hào) ┃ 姓名 ┃ 性別 ┃ 年齡 ┃ 工資 ┃ 所屬部門經(jīng)理編號(hào) ┃“< for(i=0;i { cout<<”┣━━━━╋━━━━╋━━━━╋━━━━╋━━━━╋━━━━━━━━━┫“< c[i].show_xiaoshouyuan2();} cout<<”┗━━━━┻━━━━┻━━━━┻━━━━┻━━━━┻━━━━━━━━━┛“< disp();};break;} case 4:{{ int i;outfile<<”職工基本情況一覽表如下“< outfile<<”┃ 職工號(hào) ┃ 姓名 ┃ 性別 ┃ 年齡 ┃ 工資 ┃“< for(i=0;i { outfile<<”┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫“< outfile<<”┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓“< 職工號(hào) ┃ 姓名 ┃ 性別 ┃ 年齡 ┃ 工資 ┃“< outfile<<”*******************************************************“< outfile<<”銷售經(jīng)理“< outfile<<”┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓“< outfile<<”┃ 職工號(hào) ┃ 姓名 ┃ 性別 ┃ 年齡 程序設(shè)計(jì)實(shí)習(xí)報(bào)告 ┃ 工資 ┃“< for(i=0;i { outfile<<”┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫“< d[i].show_xiaoshoujingli4();} outfile<<”┗━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛“< outfile<<”*******************************************************“< outfile<<”銷售員“< outfile<<”┏━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━━━━━━┓“< outfile<<”┃ 職工號(hào) ┃ 姓名 ┃ 性別 ┃ 年齡 ┃ 工資 ┃ 所屬部門經(jīng)理編號(hào) ┃“< for(i=0;i { outfile<<”┣━━━━╋━━━━╋━━━━╋━━━━╋━━━━╋━━━━━━━━━┫“< c[i].show_xiaoshouyuan4();} outfile<<”┗━━━━┻━━━━┻━━━━┻━━━━┻━━━━┻━━━━━━━━━┛“< outfile<<”***********************************************************************“< outfile.close(); disp();};break;} case 5:{ {exit(0);};break;} default:{{cout<<” 選擇錯(cuò)誤,請(qǐng)重新選擇!"< disp();};break;} } } return 0;} 程序設(shè)計(jì)實(shí)習(xí)報(bào)告 四、運(yùn)行結(jié)果 ★★小型公司工資管理系統(tǒng)★★ ┏━━━━━━━━━━━━┓ ┃ 請(qǐng)選擇您所需要的操作 ┃ ┃ 數(shù)據(jù)輸入: 1,并按回車鍵 ┃ ┃ 數(shù)據(jù)統(tǒng)計(jì): 2,并按回車鍵 ┃ ┃ 數(shù)據(jù)打印: 3,并按回車鍵 ┃ ┃ 數(shù)據(jù)備份: 4,并按回車鍵 ┃ ┃ 退出系統(tǒng): 5,并按回車鍵 ┃ ┗━━━━━━━━━━━━┛ 請(qǐng)選擇一個(gè)操作: 1 技術(shù)員編號(hào):101 其姓名:zhang1 性別(m/w):w 年齡:27 工作時(shí)間:56 技術(shù)員編號(hào):102 其姓名:wang1 性別(m/w):m 年齡:27 工作時(shí)間:58 ******************************************************* 經(jīng)理的編號(hào):201 其姓名:wang2 其性別(m/w):w 年齡:34 經(jīng)理的編號(hào):202 程序設(shè)計(jì)實(shí)習(xí)報(bào)告 其姓名:36 其性別(m/w):m 年齡:36 ******************************************************* 銷售員的編號(hào):301 其姓名:zhang3 性別(m/w):m 年齡:28 銷售額:50000 所屬銷售經(jīng)理的編號(hào):401 銷售員的編號(hào):302 其姓名:wang3 性別(m/w):w 年齡:32 銷售額:54000 所屬銷售經(jīng)理的編號(hào):401 銷售員的編號(hào):303 其姓名:wan1 性別(m/w):w 年齡:35 銷售額:60000 所屬銷售經(jīng)理的編號(hào):402 銷售員的編號(hào):304 程序設(shè)計(jì)實(shí)習(xí)報(bào)告 其姓名:wan2 性別(m/w):m 年齡:26 銷售額:80000 所屬銷售經(jīng)理的編號(hào):402 ******************************************************* 銷售經(jīng)理的編號(hào):401 其姓名:sun 性別(m/w):w 年齡:36 銷售經(jīng)理的編號(hào):402 其姓名:liu 性別(m/w):w 年齡:29 ******************************************************* ★★小型公司工資管理系統(tǒng)★★ ┏━━━━━━━━━━━━┓ ┃ 請(qǐng)選擇您所需要的操作 ┃ ┃ 數(shù)據(jù)輸入: 1,并按回車鍵 ┃ ┃ 數(shù)據(jù)統(tǒng)計(jì): 2,并按回車鍵 ┃ ┃ 數(shù)據(jù)打印: 3,并按回車鍵 ┃ ┃ 數(shù)據(jù)備份: 4,并按回車鍵 ┃ ┃ 退出系統(tǒng): 5,并按回車鍵 ┃ ┗━━━━━━━━━━━━┛ 請(qǐng)選擇一個(gè)操作: 2 職工號(hào)為401銷售經(jīng)理sun下屬銷售員的業(yè)績?yōu)椋?/p> 程序設(shè)計(jì)實(shí)習(xí)報(bào)告 ┏━━━━━━━┳━━━━━━━┳━━━━━━━┓ ┃ 職工號(hào) ┃ 姓名 ┃ 銷售額 ┃ ┣━━━━━━━╋━━━━━━━╋━━━━━━━┫ ┃ 301┃ zhang3┃ 50000┃ ┣━━━━━━━╋━━━━━━━╋━━━━━━━┫ ┃ 302┃ wang3┃ 54000┃ ┣━━━━━━━╋━━━━━━━┻━━━━━━━┫ ┃銷售額總計(jì) ┃ 104000 ┃ ┗━━━━━━━┻━━━━━━━━━━━━━━━┛ 職工號(hào)為402銷售經(jīng)理liu下屬銷售員的業(yè)績?yōu)椋?/p> ┏━━━━━━━┳━━━━━━━┳━━━━━━━┓ ┃ 職工號(hào) ┃ 姓名 ┃ 銷售額 ┃ ┣━━━━━━━╋━━━━━━━╋━━━━━━━┫ ┃ 303┃ wan1┃ 60000┃ ┣━━━━━━━╋━━━━━━━╋━━━━━━━┫ ┃ 304┃ wan2┃ 80000┃ ┣━━━━━━━╋━━━━━━━┻━━━━━━━┫ ┃銷售額總計(jì) ┃ 140000 ┃ ┗━━━━━━━┻━━━━━━━━━━━━━━━┛ 銷售經(jīng)理按工資排序?yàn)椋?/p> ┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓ ┃ 職工號(hào) ┃ 姓名 ┃ 性別 ┃ 年齡 ┃ 工資 ┃ ┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫ ┃ 402┃ liu┃ w┃ 29┃ 5700┃ ┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫ ┃ 401┃ sun┃ w┃ 36┃ 5520┃ ┗━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛ ★★小型公司工資管理系統(tǒng)★★ ┏━━━━━━━━━━━━┓ ┃ 請(qǐng)選擇您所需要的操作 ┃ ┃ 數(shù)據(jù)輸入: 1,并按回車鍵 ┃ ┃ 數(shù)據(jù)統(tǒng)計(jì): 2,并按回車鍵 ┃ ┃ 數(shù)據(jù)打印: 3,并按回車鍵 ┃ ┃ 數(shù)據(jù)備份: 4,并按回車鍵 ┃ ┃ 退出系統(tǒng): 5,并按回車鍵 ┃ ┗━━━━━━━━━━━━┛ 請(qǐng)選擇一個(gè)操作: 3 請(qǐng)等待......職工基本情況一覽表如下 技術(shù)員 程序設(shè)計(jì)實(shí)習(xí)報(bào)告 ┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓ ┃ 職工號(hào) ┃ 姓名 ┃ 性別 ┃ 年齡 ┃ 工資 ┃ ┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫ ┃ 101┃ zhang1┃ w┃ 27┃ 5600┃ ┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫ ┃ 102┃ wang1┃ m┃ 27┃ 5800┃ ┗━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛ ******************************************************* 經(jīng)理 ┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓ ┃ 職工號(hào) ┃ 姓名 ┃ 性別 ┃ 年齡 ┃ 工資 ┃ ┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫ ┃ 201┃ wang2┃ w┃ 34┃ 8000┃ ┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫ ┃ 202┃ 36┃ m┃ 36┃ 8000┃ ┗━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛ ******************************************************* 銷售經(jīng)理 ┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓ ┃ 職工號(hào) ┃ 姓名 ┃ 性別 ┃ 年齡 ┃ 工資 ┃ ┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫ ┃ 402┃ liu┃ w┃ 29┃ 5700┃ ┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫ ┃ 401┃ sun┃ w┃ 36┃ 5520┃ ┗━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛ ******************************************************* 銷售員 ┏━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━━━━━━┓ ┃ 職工號(hào) ┃ 姓名 ┃ 性別 ┃ 年齡 ┃ 工資 ┃ 所屬部門經(jīng)理編號(hào) ┃ ┣━━━━╋━━━━╋━━━━╋━━━━╋━━━━╋━━━━━━━━━┫ ┃ 301┃ zhang3┃ m┃ 28┃ 2000┃ 401┃ ┣━━━━╋━━━━╋━━━━╋━━━━╋━━━━╋━━━━━━━━━┫ ┃ 302┃ wang3┃ w┃ 32┃ 2160┃ 401┃ ┣━━━━╋━━━━╋━━━━╋━━━━╋━━━━╋━━━━━━━━━┫ ┃ 303┃ wan1┃ w┃ 35┃ 2400┃ 402┃ ┣━━━━╋━━━━╋━━━━╋━━━━╋━━━━╋━━━━━━━━━┫ ┃ 304┃ wan2┃ m┃ 26┃ 3200┃ 402┃ ┗━━━━┻━━━━┻━━━━┻━━━━┻━━━━┻━━━━━━━━━┛ *********************************************************************** ★★小型公司工資管理系統(tǒng)★★ 程序設(shè)計(jì)實(shí)習(xí)報(bào)告 ┏━━━━━━━━━━━━┓ ┃ 請(qǐng)選擇您所需要的操作 ┃ ┃ 數(shù)據(jù)輸入: 1,并按回車鍵 ┃ ┃ 數(shù)據(jù)統(tǒng)計(jì): 2,并按回車鍵 ┃ ┃ 數(shù)據(jù)打印: 3,并按回車鍵 ┃ ┃ 數(shù)據(jù)備份: 4,并按回車鍵 ┃ ┃ 退出系統(tǒng): 5,并按回車鍵 ┃ ┗━━━━━━━━━━━━┛ 請(qǐng)選擇一個(gè)操作: 4 ★★小型公司工資管理系統(tǒng)★★ ┏━━━━━━━━━━━━┓ ┃ 請(qǐng)選擇您所需要的操作 ┃ ┃ 數(shù)據(jù)輸入: 1,并按回車鍵 ┃ ┃ 數(shù)據(jù)統(tǒng)計(jì): 2,并按回車鍵 ┃ ┃ 數(shù)據(jù)打印: 3,并按回車鍵 ┃ ┃ 數(shù)據(jù)備份: 4,并按回車鍵 ┃ ┃ 退出系統(tǒng): 5,并按回車鍵 ┃ ┗━━━━━━━━━━━━┛ 請(qǐng)選擇一個(gè)操作: 5 Press any key to continue 程序設(shè)計(jì)實(shí)習(xí)報(bào)告 五、程序的使用說明 1.程序中各類人員個(gè)數(shù)默認(rèn)為2個(gè),銷售員默認(rèn)為4個(gè)。2.請(qǐng)輸入銷售人員信息后再輸入銷售經(jīng)理的信息。 3.輸入時(shí),除姓名、性別外,其余各項(xiàng)請(qǐng)勿輸入除數(shù)字以外的字符。4.輸入數(shù)據(jù)時(shí)若出現(xiàn)無限循環(huán)的現(xiàn)象,請(qǐng)重新執(zhí)行程序并輸入信息。 5.未輸入信息時(shí),打印或備份,各類人員除姓名性別為空外,其余各項(xiàng)均為0。6.重復(fù)輸入某類人員數(shù)據(jù)時(shí),可覆蓋上一次輸入的該類人員的數(shù)據(jù)。7.程序中輸出文件位置默認(rèn)為C盤,若有需要請(qǐng)自行更改。 程序設(shè)計(jì)實(shí)習(xí)報(bào)告 六、總結(jié)及心得體會(huì) 通過四天的編程,我對(duì)C++有了更深一步的認(rèn)識(shí)。 要做一個(gè)簡單的管理系統(tǒng),首先就要進(jìn)行需求分析。我們要做的這個(gè)系統(tǒng),簡單的說就只包含五個(gè)類(包括基類),主函數(shù)執(zhí)行輸入、統(tǒng)計(jì)、輸出、打印、退出五個(gè)基本功能。我為了讓函數(shù)盡可能的少出現(xiàn)錯(cuò)誤,一開始就把五個(gè)功能設(shè)為五個(gè)基本功能函數(shù),主函數(shù)中僅留循環(huán)控制結(jié)構(gòu)。 對(duì)類的層次分析,題目已經(jīng)給出,我所要做的就是添加成員函數(shù),這在設(shè)計(jì)思路中已經(jīng)明確。各個(gè)功能函數(shù)在基類中都有對(duì)應(yīng)的下屬函數(shù),這樣功能函數(shù)也就能跟清晰,只要仔細(xì),不容易出錯(cuò)。 編程第一步是搭框架,由于本次的實(shí)習(xí)內(nèi)容簡單,準(zhǔn)備充足,上機(jī)時(shí)也很順利,很快就有了預(yù)期的結(jié)果。但接下來添加上函數(shù)時(shí)開始出現(xiàn)錯(cuò)誤,并且錯(cuò)誤越改越多。經(jīng)過一天的努力,總算將其中的錯(cuò)誤一一清除,并把第三天的數(shù)據(jù)打印和退出系統(tǒng)一塊弄了出來。對(duì)于第四部分的數(shù)據(jù)備份還是沒有發(fā)現(xiàn)錯(cuò)誤原因。經(jīng)過詢問老師才使問題得到解決,在使用備份時(shí)需要在前面聲明。 整個(gè)程序,其實(shí)就只有數(shù)據(jù)備份不太熟悉。備份的問題已解決,所有的問題就迎刃而解了。第四天我就做完了所有的程序,但總覺得寫的程序不夠完美,程序中,銷售員的銷售額和所屬經(jīng)理編號(hào)定義為了公有部分;各種函數(shù)直接在類內(nèi)定義的,減少了錯(cuò)誤的出現(xiàn),同時(shí)使程序不夠美觀,簡練。 通過這次的C++編程實(shí)習(xí),使我對(duì)這門課程有了更深的認(rèn)識(shí),不再是僅僅停留在了解的階段,更是在其應(yīng)用之上。在整個(gè)實(shí)習(xí)過程中自身還是存在不少不足,主要有以下幾點(diǎn): 1.對(duì)知識(shí)掌握不夠熟悉,不少問題拿不準(zhǔn),需要查看課本去解決。2.輸程序時(shí)不夠認(rèn)真仔細(xì),漏掉大括號(hào)或分號(hào)。3.檢查錯(cuò)誤時(shí)較煩躁,導(dǎo)致效率低下。4.平時(shí)的預(yù)習(xí)準(zhǔn)備不夠全面認(rèn)真。 5.在平時(shí)的學(xué)習(xí)中,知識(shí)掌握的不夠牢靠,在使用時(shí),不少地方拿不準(zhǔn),使程序編寫速度不夠快。 通過此次的編程實(shí)習(xí),使我體驗(yàn)到編程的快樂,也使我對(duì)編程有了一個(gè)更深層次的認(rèn)識(shí),同時(shí)提高了我對(duì)編程的興趣。感謝這學(xué)期來老師對(duì)我們的教導(dǎo),在以后的學(xué)習(xí)中,我繼續(xù)努力,彌補(bǔ)自己存在的不足之處。 程序設(shè)計(jì)實(shí)習(xí)報(bào)告 小型公司工資管理系統(tǒng)一、設(shè)計(jì)任務(wù) 編寫一個(gè)小型公司的工資管理程序。該公司主要有4類人員:經(jīng)理、兼職技術(shù)人員、銷售員和銷售經(jīng)理。其中月薪計(jì)算方法為:經(jīng)理固定月薪8000元,兼職技術(shù)人員100元/小時(shí),銷售員為其當(dāng)月銷售額的4%,銷售經(jīng)理保底工資5000元另加其所管部門銷售額的5‰。 二、設(shè)計(jì)要求 1、使用文件存儲(chǔ)相關(guān)信息(可用多個(gè)文件,存儲(chǔ)人員信息、銷 售員銷售額等等)。 2、能實(shí)現(xiàn)人員信息的錄入及增刪改,人員信息包括編號(hào)、姓 名、職位、部門等等,人員編號(hào)自動(dòng)產(chǎn)生(即無需用戶輸入,從10000起編號(hào))。 a)刪除(針對(duì)人員離職)后該人員過往的銷售記錄還應(yīng)保留,查尋以前的銷售情況或工資清單時(shí)仍顯示該員工記錄; b)改是針對(duì)人員職位變動(dòng),僅能更改職位。 3、能錄入某月各銷售員的銷售額(自行設(shè)計(jì)操作方式,方便用 戶操作),可列出某月的銷售額清單。 4、能列出某月的工資清單,可按多種方式排序(按員工編號(hào)、工資升序、工資降序、按職位等)。 5、其他未盡事項(xiàng)可自行設(shè)計(jì),遵循合理及易用的原則。 中國石油大學(xué)(華東)信息與控制工程學(xué)院 《程序設(shè)計(jì)實(shí)習(xí)》報(bào)告 小型公司工資管理系統(tǒng)的設(shè)計(jì) 專業(yè)班級(jí):電子11級(jí) 學(xué) 號(hào): 姓 名: 時(shí) 間:2012.09.01~2011.09.07 2012年9月 目錄 一、實(shí)習(xí)內(nèi)容????????????????????????????1 二、設(shè)計(jì)思路????????????????????????????2 三、程序清單????????????????????????????3 四、運(yùn)行結(jié)果????????????????????????????14 五、程序使用說明??????????????????????????21 六、總結(jié)及心得體會(huì)?????????????????????????2 2程序設(shè)計(jì)實(shí)習(xí)報(bào)告 一、實(shí)習(xí)內(nèi)容 設(shè)計(jì)一個(gè)簡單的《小型公司管理系統(tǒng)》。了解系統(tǒng)開發(fā)的需求設(shè)計(jì)、類層次設(shè)計(jì)、模版分析、模塊組裝與整體調(diào)試的過程;熟悉程序設(shè)計(jì)的方法。 1..題目:小型公司工資管理系統(tǒng)的設(shè)計(jì) 2.設(shè)計(jì)說明與基本要求: (1)公司主要有4類人員: 經(jīng)理、技術(shù)員、銷售員、銷售經(jīng)理。要求存儲(chǔ)這些人的職工號(hào)、姓名、性別、年齡、月工資等信息; (2)工資的計(jì)算方法: 經(jīng)理:固定月薪為8000元; 技術(shù)員:工作時(shí)間×工資(100元/小時(shí)); 銷售員:銷售額×4%提成; 銷售經(jīng)理:底薪(5000元)+下屬銷售員銷售額總額×0.5%; (3)員工基本數(shù)據(jù)的輸入: 要求每類人員不能少于4人,其中銷售員需要8名,每名銷售經(jīng)理手下有2名銷售員。 3.實(shí)現(xiàn)的基本功能:數(shù)據(jù)輸入、數(shù)據(jù)統(tǒng)計(jì)、數(shù)據(jù)打印、數(shù)據(jù)備份、退出。(應(yīng)用程序中要有菜單,用于選擇各項(xiàng)功能) 4.菜單說明 ① 數(shù)據(jù)輸入要通過鍵盤; ② 統(tǒng)計(jì)是統(tǒng)計(jì)銷售經(jīng)理下屬銷售員的銷售額及銷售額之和,銷售經(jīng)理按工資冒泡排序; ③ 數(shù)據(jù)打印是以表格形式在屏幕上輸出; ④ 數(shù)據(jù)備份是將所有的員工信息保存到文件; ⑤ 退出:結(jié)束程序運(yùn)行。 程序設(shè)計(jì)實(shí)習(xí)報(bào)告 二、設(shè)計(jì)思路 1.類的結(jié)構(gòu) 先創(chuàng)建了一個(gè)Employer基類.然后派生出四個(gè)類: Manager、Technician、Salesman、Salemanager。分別對(duì)經(jīng)理、技術(shù)員、銷售員、銷售經(jīng)理的數(shù)據(jù)進(jìn)行輸入。 然后選用了一個(gè)switch的多分枝選擇結(jié)構(gòu),依次據(jù)菜單的選擇條件執(zhí)行數(shù)據(jù)的輸入、數(shù)據(jù)統(tǒng)計(jì)、數(shù)據(jù)打印、數(shù)據(jù)備份和退出等。 數(shù)據(jù)的備份要用到fstream類,用來支持對(duì)磁盤文件的輸入輸出。對(duì)于switch,結(jié)束循環(huán)用到exit函數(shù)。此函數(shù)的參數(shù)為任意整數(shù)。 程序設(shè)計(jì)實(shí)習(xí)報(bào)告 三、程序清單 #include { public: int get1();string get2();char get3();int get4();protected: int num,age; string name;double pay;char sex;};int employee::get1(){return num;} string employee::get2(){return name;} char employee::get3(){return sex;} int employee::get4(){return age;} class technician:public employee { 程序設(shè)計(jì)實(shí)習(xí)報(bào)告 protected: int hour;public: void display1(){cout<<“技術(shù)員編號(hào):”;cin>>num; cout<<“技術(shù)員姓名:”;cin>>name;cout<<“技術(shù)員年齡:”;cin>>age; cout<<“技術(shù)員性別(m/w):”;cin>>sex;cout<<“技術(shù)員工作時(shí)間:”;cin>>hour; } double get_pay();int get_time();};double technician::get_pay(){ pay=100*hour;return pay;} int technician::get_time(){return hour;} class manager:public employee {public: void display2(){ cout<<“經(jīng)理編號(hào):”;cin>>num; cout<<“經(jīng)理姓名:”;cin>>name; cout<<“經(jīng)理性別(m/w):”;cin>>sex; cout<<“經(jīng)理年齡:”;cin>>age; } double get_pay(){pay=8000;return pay;} 程序設(shè)計(jì)實(shí)習(xí)報(bào)告 };class salesman:public employee { protected: int number;double sales_volume;public: void display3(){cout<<“銷售員編號(hào):”;cin>>num; cout<<“銷售員姓名:”;cin>>name; cout<<“銷售員性別(m/w):”;cin>>sex; cout<<“銷售員年齡:”;cin>>age; cout<<“銷售員的銷售額:”;cin>>sales_volume; cout<<“所屬銷售經(jīng)理的編號(hào):”;cin>>number; } int numb(){return number;} double sa(){return sales_volume;} double get_pay(){return sales_volume*0.04;} };class salesmanager:public manager { public: void display4(){cout<<“銷售經(jīng)理的編號(hào):”;cin>>num; cout<<“銷售經(jīng)理的姓名:”;cin>>name; cout<<“銷售經(jīng)理的性別(m/w):”;cin>>sex; 程序設(shè)計(jì)實(shí)習(xí)報(bào)告 cout<<“銷售經(jīng)理的年齡:”;cin>>age; } };void excel(){ cout<<“ ★★小型公司工資管理系統(tǒng)★★”< cout<<” cout<<“ cout<<” cout<<“ cout<<” cout<<“ cout<<” cout<<“請(qǐng)選擇一個(gè)操作:”;} void main(){int i,j,x,k,y;char a;double mo[4],mone[4];excel();technician t[4];manager m[4]; salesman s[8]; salesmanager sm[4]; cin>>j;while(j==1||j==2||j==3||j==4||j==5){switch(j){case 1: {for(i=0;i<4;i++) “< 請(qǐng)選擇您所需的操作 │”< │ “< │”< │“< │”< │“< ┌─────────────┐ │ │ │ │ │ │ └─────────────┘程序設(shè)計(jì)實(shí)習(xí)報(bào)告 {t[i].display1(); cout<<“-------------”< cout<<“-------------”< {s[i].display3(); cout<<“-------------”< {sm[i].display4(); cout<<“-------------”< excel(); cin>>j;} break;case 2: { for(i=0;i<4;i++){cout<<“職工號(hào)為”< cout<<“┌─────┬─────┬─────┐”< cout<<“│ 職工號(hào) │ 姓名 │ 銷售額 │”< cout<<“├─────┼─────┼─────┤”< double money=0; for(x=0;x<8;x++) { if(s[x].numb()==sm[i].get1()) { money=money+s[x].sa(); mone[i]=money*0.005+5000; 程序設(shè)計(jì)實(shí)習(xí)報(bào)告 mo[i]=money*0.005+5000; cout<<“│”< cout<<“├─────┼─────┴─────┤”<第二篇:選題一_小型公司工資管理系統(tǒng)
第三篇:中國石油大學(xué)c++實(shí)習(xí)報(bào)告 小型公司工資管理系統(tǒng)(寫寫幫推薦)