小型人員信息管理系統(tǒng)_第1頁
小型人員信息管理系統(tǒng)_第2頁
小型人員信息管理系統(tǒng)_第3頁
小型人員信息管理系統(tǒng)_第4頁
小型人員信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 成 績 評(píng) 定 表學(xué)生姓名班級(jí)學(xué)號(hào)專 業(yè)通信工程課程設(shè)計(jì)題目小型人員信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)評(píng)語組長簽字:成績?nèi)掌?20 年 月 日課程設(shè)計(jì)任務(wù)書學(xué) 院信息科學(xué)與工程專 業(yè)通信工程學(xué)生姓名班級(jí)學(xué)號(hào)課程設(shè)計(jì)題目小型人員信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)實(shí)踐教學(xué)要求與任務(wù)某小型公司主要有四類人員:經(jīng)理、兼職技術(shù)人員、銷售經(jīng)理和兼職推銷員?,F(xiàn)在,需要存儲(chǔ)這些人員的姓名、編號(hào)、級(jí)別、當(dāng)月薪水,計(jì)算月薪總額并顯示全部信息。人員編號(hào)基數(shù)為1000,每輸入一個(gè)人員信息編號(hào)順序加1。程序要有對(duì)所有人員提升級(jí)別的功能。本例中為簡單起見,所有人員的初始級(jí)別均為1級(jí),然后進(jìn)行升級(jí),經(jīng)理升為4級(jí),兼職技術(shù)人員和銷售經(jīng)理升為3

2、級(jí),推銷員認(rèn)為1級(jí)。月薪計(jì)算辦法是:經(jīng)理拿固定月薪8000元;兼職技術(shù)人員按每小時(shí)100元領(lǐng)取月薪;兼職推銷員的月薪按該推銷員當(dāng)月銷售額的4提成;銷售經(jīng)理即拿固定月薪也領(lǐng)取銷售提成,固定月薪為5000元,銷售提成為所管轄部門當(dāng)月銷售總額的千分之五。要求為每一類人員單獨(dú)建立文件,并在每個(gè)文件中手工錄入一些人員基本信息,并根據(jù)這些基本信息計(jì)算職工的月薪,并將計(jì)算結(jié)果保存入相應(yīng)的磁盤文件中。要求編寫程序?qū)崿F(xiàn)上述功能,并且可以通過實(shí)例演示上述功能。工作計(jì)劃與進(jìn)度安排第17周:分析題目,查閱課題相關(guān)資料,進(jìn)行類設(shè)計(jì)、算法設(shè)計(jì);第18周:程序的設(shè)計(jì)、調(diào)試與實(shí)現(xiàn);第19周:程序測試與分析,撰寫課程設(shè)計(jì)報(bào)告,

3、進(jìn)行答辯驗(yàn)收。指導(dǎo)教師: 201 年 月 日專業(yè)負(fù)責(zé)人:201 年 月 日學(xué)院教學(xué)副院長:201 年 月 日摘 要C+是支持面向過程的設(shè)計(jì),更是支持基于對(duì)象和面向?qū)ο蟮某绦蛟O(shè)計(jì)。類是C+中十分重要的概念,它是實(shí)現(xiàn)面向?qū)ο蟪绦蛟O(shè)計(jì)的基礎(chǔ)。本文采用虛基類及其派生類實(shí)現(xiàn)了對(duì)小型人員信息的管理,類的封裝性和信息隱蔽性可以很好的保護(hù)公司員工的信息,同時(shí)采用了Visual C+ 6.0的控制臺(tái)工程和MFC工程實(shí)現(xiàn)了對(duì)員工基本信息的輸入和全部信息的輸出及保存。關(guān)鍵詞:信息管理;類;控制臺(tái)工程;MFC工程目 錄1 需求分析12 算法基本原理13 類設(shè)計(jì)24 基于控制臺(tái)的應(yīng)用程序34.1 類的接口設(shè)計(jì)44.2

4、類的實(shí)現(xiàn)74.3 主函數(shù)設(shè)計(jì)114.4 基于控制臺(tái)的應(yīng)用程序測試125 基于MFC的應(yīng)用程序145.1 基于MFC的應(yīng)用程序設(shè)計(jì)155.1.1 MFC程序界面設(shè)計(jì)155.1.2 MFC程序代碼設(shè)計(jì)165.2基于MFC的應(yīng)用程序測試21結(jié) 論23參考文獻(xiàn)241 需求分析(1)對(duì)小型公司進(jìn)行小型人員信息操作管理系統(tǒng)。該公司主要有四類人員:經(jīng)理、銷售經(jīng)理、兼職技術(shù)人員、兼職推銷員;定義一個(gè)虛基類并且派生四個(gè)子類。(2)系統(tǒng)需要存儲(chǔ)這些人員的姓名、編號(hào)、級(jí)別、當(dāng)月薪水,輸入基本信息,計(jì)算月薪總額,顯示并保存全部信息;每個(gè)派生類的構(gòu)造函數(shù)要實(shí)現(xiàn)對(duì)其特有數(shù)據(jù)成員的初始化。(3)系統(tǒng)具體要求:編號(hào)要求:人員

5、編號(hào)基數(shù)為1000,每輸入一個(gè)員工姓名編號(hào)加1;編號(hào)定義為全局靜態(tài)變量即可。級(jí)別要求:所有人員的初始級(jí)別均為1級(jí),然后進(jìn)行升級(jí),經(jīng)理升為4級(jí),兼職技術(shù)人員和銷售經(jīng)理升為3級(jí),兼職推銷員為1級(jí);直接對(duì)級(jí)別賦值即可。月薪要求:經(jīng)理拿固定月薪8000元;兼職技術(shù)人員按每小時(shí)100元領(lǐng)取月薪;兼職推銷員的月薪按該推銷員當(dāng)月銷售額的4提成;銷售經(jīng)理既拿固定月薪也領(lǐng)取銷售提成,固定月薪為5000元,銷售提成為所管轄部門當(dāng)月銷售總額的千分之五??傮w要求:為每一類人員單獨(dú)建立文件,并在每個(gè)文件中手工錄入一些人員基本信息,并根據(jù)這些基本信息計(jì)算職工的月薪,并將計(jì)算結(jié)果保存入相應(yīng)的磁盤文件中。2 算法基本原理(1

6、)定義一個(gè)員工虛基類Employmee( ),包括員工姓名、級(jí)別、編號(hào)月薪共有的基本數(shù)據(jù)成員;(2)在基類的基礎(chǔ)上派生出經(jīng)理Mansger( )類、銷售經(jīng)理Salemansger( )類、兼職技術(shù)人員Technology( )類和兼職推銷員Saleman( )類,并在這四個(gè)派生類中添加各自數(shù)據(jù)成員和成員函數(shù)。具體分析如下:員工編號(hào)的可以定義全局靜態(tài)變量static int count=0;并且初始化員工編號(hào)number=1000+count;每輸入一個(gè)員工的姓名編號(hào)加1。員工等級(jí)按照要求直接賦值即可;在派生類的構(gòu)造函數(shù)中初始化數(shù)據(jù)成員并且按照要求計(jì)算各成員的月薪。(3)定義一個(gè)結(jié)構(gòu)體鏈表str

7、uct Linked,并將鏈表的頭指針頭封裝在友元類Head( )中。(4)運(yùn)行時(shí)構(gòu)造對(duì)象指針,并存在鏈表中,利用類中的成員函數(shù)來實(shí)現(xiàn)對(duì)鏈表節(jié)點(diǎn)的打印、添加、保存。這些操作均作為數(shù)據(jù)結(jié)構(gòu)中對(duì)單鏈表的操作。3 類設(shè)計(jì)首先定義一個(gè)員工基類Employee,由于要派生出多個(gè)子類,所以將其定義為虛基類;在類外定義全局靜態(tài)變量,用于記錄員工的編號(hào)。虛基類Employee中的數(shù)據(jù)成員包括姓名、編號(hào)、等級(jí)、月薪。虛基類的成員函數(shù)包括打印函數(shù) printf( ),并聲明友元類。然后派生出經(jīng)理Mansger類、銷售經(jīng)理Salemansger類、兼職技術(shù)人員Technology類和兼職推銷員Saleman類。在派

8、生類Mansger的構(gòu)造函數(shù)直接對(duì)月薪和等級(jí)賦值:月薪8000,等級(jí)4;在派生類Salemansger的構(gòu)造函數(shù)中定義特有的數(shù)據(jù)成員:銷售總額sum1,并根據(jù)要求計(jì)算月薪,等級(jí)賦值3;在派生類Technology的構(gòu)造函數(shù)中定義特有的數(shù)據(jù)成員:工作時(shí)間time,并根據(jù)要求計(jì)算月薪,等級(jí)賦值3;在派生類Saleman的構(gòu)造函數(shù)中定義特有的數(shù)據(jù)成員:銷售額sum2,并根據(jù)要求計(jì)算月薪,等級(jí)賦值1。派生類的功能有打印函數(shù) printf( ),儲(chǔ)存函數(shù)save( )。友元類Head存放的數(shù)據(jù)成員有Linked top,功能有構(gòu)造函數(shù)Head( )、插入函數(shù)Insert( )、打印函數(shù)printf( )

9、以及析構(gòu)函數(shù)Head( );其中功能構(gòu)造函數(shù)用來開辟儲(chǔ)存空間,插入函數(shù)采用單鏈表現(xiàn)實(shí)信息的輸入,打印函數(shù)用來輸出錄入員工的全部信息,析構(gòu)函數(shù)用來釋放空間?;惻c各派生類之間的關(guān)系如下圖所示:char name30;int number;int level;float wages;Employee()void printf()friend class Headvoid save()void printf()friend class Headint sum1Salemansger():Employee()void save ()Technology():Employee()float timevo

10、id printf()friend class Headvoid save ()int sum2Saleman():Employee()void printf()friend class Headvoid save ()Mansger():Employee() 圖1 Employee類和其派生類關(guān)系的圖形表示在程序?qū)崿F(xiàn)過程中,各派生類的成員函數(shù)需要訪問基類Employee的數(shù)據(jù)成員,利用公有繼承方式派生,同時(shí)將Employee類中的數(shù)據(jù)成員的訪問控制設(shè)置為保護(hù)類型。這樣,經(jīng)過公有派生之后,基類的保護(hù)成員在派生類中依然是保護(hù)成員,可以被派生類的成員函數(shù)訪問。4 基于控制臺(tái)的應(yīng)用程序整個(gè)程序分為三

11、部分,各種職員的類,結(jié)構(gòu)體鏈表以及封裝在結(jié)構(gòu)體鏈表的類。實(shí)現(xiàn)時(shí)先生成各種職員的對(duì)象指針,之后將生成的對(duì)象指針插入到鏈表中,最后通過封裝類類的成員函數(shù)對(duì)鏈表節(jié)點(diǎn)進(jìn)行操作,實(shí)現(xiàn)對(duì)員工的操作。4.1 類的接口設(shè)計(jì)#include<iostream>#include<string.h>#include<fstream>using namespace std;static int count=0; /全局動(dòng)態(tài)變量,用于記錄員工編號(hào)/定義虛基類class Employee public: Employee() /構(gòu)造函數(shù),初始化員工基本信息 cout<<&q

12、uot;請(qǐng)輸入員工姓名:" cin>>name; +count; number=count+1000; level=1; void printf(); /打印函數(shù) friend class Head; /聲明友元類protected: /數(shù)據(jù)成員為保護(hù)類型char name30;int number;int level;float wages;/派生類Mansgerclass Mansger: public virtual Employee public: Mansger():Employee()level=4;wages=8000; /構(gòu)造函數(shù)定義 void save(

13、); /儲(chǔ)存函數(shù) void printf(); /打印函數(shù) friend class Head; /聲明友元類; /派生類Salemansgerclass Salemansger: public virtual Employee public: Salemansger():Employee() /構(gòu)造函數(shù)定義 level=3; cout<<"輸入月部門銷售總額:" cin>>sum1; wages=5000+0.005*sum1; /計(jì)算銷售經(jīng)理工資 void save (); /儲(chǔ)存函數(shù) void printf(); /打印函數(shù) friend cl

14、ass Head;protected: int sum1; /銷售總額;/派生類Technologyclass Technology: public virtual Employee public: Technology():Employee() /構(gòu)造函數(shù)定義 level=3; cout<<"輸入該技術(shù)人員的工作時(shí)間:" cin>>time; wages=100*time; /計(jì)算技術(shù)人員工資 void save(); /儲(chǔ)存函數(shù) void printf(); /打印函數(shù) friend class Head;protected: float tim

15、e; /工作時(shí)間;/派生類Salemanclass Saleman: public virtual Employee /public: Saleman():Employee() /構(gòu)造函數(shù)定義 level=1; cout<<"輸入部門月銷售總額:" cin>>sum2; wages=0.04*sum2; /計(jì)算銷售員工資 void save (); /儲(chǔ)存函數(shù) void printf(); friend class Head;protected:int sum2; /銷售總額;/定義友元類class Head public: Head(); /構(gòu)造函

16、數(shù) void Insert(Employee*temp); /單鏈表的插入函數(shù) void printf(); /打印函數(shù) Head(); /析構(gòu)函數(shù)private: Linked*top; /單鏈表的頭結(jié)點(diǎn);經(jīng)過公有派生,四個(gè)派生類獲得了除構(gòu)造函數(shù)之外的Employee類的全部成員,由于基類的成員是公有和保護(hù)類型,因此在派生類中的成員函數(shù)中,基類繼承來的成員全部可以訪問,而對(duì)于建立派生類對(duì)象的外部模塊來講,基類的保護(hù)成員是無法訪問的。通過保護(hù)訪問類型和公有的繼承方式,實(shí)現(xiàn)了基類Employee的數(shù)據(jù)的有效共享和可靠保護(hù)。友元類可以實(shí)現(xiàn)外部函數(shù)對(duì)類中數(shù)據(jù)成員的調(diào)用,在程序中,員工的基本信息的輸入

17、,全部信息的保存都是在基類、派生類的構(gòu)造函數(shù)以及友元類的成員函數(shù)中完成,它們的清理工作在友元類析構(gòu)函數(shù)中完成。4.2 類的實(shí)現(xiàn)/基類輸出函數(shù)void Employee:printf() cout<<"姓名:"<<name<<" "<<"編號(hào):"<<number<<" "<<"等級(jí):"<<level<<" "<<"月薪:"<<w

18、ages<<endl;/派生類Mansger輸出函數(shù)void Mansger:printf() cout<<"姓名:"<<name<<" "<<"編號(hào):"<<number<<" "<<"等級(jí):"<<level<<" "<<"月薪:"<<wages<<endl;/派生類Mansger儲(chǔ)存函數(shù)void Ma

19、nsger:save() ofstream fs("f:Mansger.txt"); fs<<"姓名:"<<name<<" "<<"編號(hào):"<<number<<" "<<"等級(jí):"<<level<<" "<<"月薪:"<<wages<<endl; cout<<"Mansge

20、r OK"<<endl; /派生類Salemansger輸出函數(shù)void Salemansger:printf() cout<<"姓名:"<<name<<" "<<"編號(hào):"<<number<<" "<<"等級(jí):"<<level<<" "<<"月薪:"<<wages<<endl;/派生類Sal

21、emansger儲(chǔ)存函數(shù)void Salemansger:save()ofstream fs("f:Salemansger.txt"); fs<<"姓名:"<<name<<" "<<"編號(hào):"<<number<<" "<<"等級(jí):"<<level<<" "<<"月薪:"<<wages<<endl

22、; cout<<"Salemansger OK"<<endl; /派生類Technology輸出函數(shù)void Technology:printf() cout<<"姓名:"<<name<<" "<<"編號(hào):"<<number<<" "<<"等級(jí):"<<level<<" "<<"月薪:"<&

23、lt;wages<<endl;/派生類Technology儲(chǔ)存函數(shù)void Technology:save()ofstream fs("f:Technology.txt"); fs<<"姓名:"<<name<<" "<<"編號(hào):"<<number<<" "<<"等級(jí):"<<level<<" "<<"月薪:"

24、<<wages<<endl; cout<<"Technology OK"<<endl; /派生類Saleman輸出函數(shù)void Saleman:printf() cout<<"姓名:"<<name<<" "<<"編號(hào):"<<number<<" "<<"等級(jí):"<<level<<" "<<&q

25、uot;月薪:"<<wages<<endl;/派生類Saleman:儲(chǔ)存函數(shù)void Saleman:save()ofstream fs("f:Saleman.txt"); fs<<"姓名:"<<name<<" "<<"編號(hào):"<<number<<" "<<"等級(jí):"<<level<<" "<<"

26、;月薪:"<<wages<<endl; cout<<"Saleman OK"<<endl;/友元類的實(shí)現(xiàn)Head:Head() /友元類的構(gòu)造函數(shù)實(shí)現(xiàn)初始化鏈表 if(top=new Linked)=NULL)exit(-1); top->next=NULL;void Head:Insert(Employee*temp) /鏈表的插入函數(shù)Linked*ttop=top; while(ttop->next) /鏈表的頭結(jié)點(diǎn)的下個(gè)結(jié)點(diǎn)不為空時(shí),開辟空間ttop=ttop->next; ttop->

27、next=new Linked; ttop->next->p=temp; ttop->next->next=0;/鏈表的輸出函數(shù)void Head:printf() Linked*pbuf=top->next; while(pbuf!=NULL)pbuf->p->printf(); /插入打印函數(shù)pbuf=pbuf->next;/鏈表的析構(gòu)函數(shù)Head:Head() Linked*ttop,*q;ttop=top->next;while(ttop!=NULL) q=ttop;ttop=ttop->next;delete q; /釋放空

28、間/菜單函數(shù)void menu(Head*Data) int n;cout<<"請(qǐng)輸入1、打印 0、退出:"cin>>n;switch(n) /多分支選擇語句 case 1: Data->printf(); /輸出鏈表節(jié)點(diǎn) break; case 0: break;cout<<"是否繼續(xù)?如果繼續(xù)請(qǐng)按1,退出請(qǐng)按0:"cin>>n;if(n!=0)menu(Data); /遞歸調(diào)用/菜單函數(shù)1void menu1(Head*Data) Mansger*M; /聲明類指針Salemansger*S;Te

29、chnology*T;Saleman*S1;int n;cout<<"請(qǐng)輸入1、經(jīng)理 2、銷售經(jīng)理 3、技術(shù)人員 4、銷售員 0、退出:"cin>>n;switch(n) case 1:M=new Mansger; /構(gòu)造對(duì)象指針M->save(); /儲(chǔ)存對(duì)象數(shù)據(jù)Data->Insert(M); /將對(duì)象指針插入到鏈表中break;case 2:S=new Salemansger; /構(gòu)造對(duì)象指針S->save(); /儲(chǔ)存對(duì)象數(shù)據(jù)Data->Insert(S); /將對(duì)象指針插入到鏈表中break;case 3:T=new

30、 Technology; /構(gòu)造對(duì)象指針T->save(); /儲(chǔ)存對(duì)象數(shù)據(jù)Data->Insert(T); /將對(duì)象指針插入到鏈表中break;case 4:S1=new Saleman; /構(gòu)造對(duì)象指針S1->save(); /儲(chǔ)存對(duì)象數(shù)據(jù)Data->Insert(S1); /將對(duì)象指針插入到鏈表中break;case 0:break;cout<<"是否繼續(xù)?如果繼續(xù)請(qǐng)按1,退出請(qǐng)按0:"cin>>n;if(n!=0)menu1(Data); /遞歸調(diào)用 在類的成員函數(shù)實(shí)現(xiàn)過程中,派生類的成員函數(shù)調(diào)用了基類的構(gòu)造函數(shù),只是

31、整個(gè)調(diào)用過程中完全是由系統(tǒng)內(nèi)部完成?;惖谋Wo(hù)數(shù)據(jù)成員,經(jīng)過公有派生之后,在派生類中是以保護(hù)成員的身份出現(xiàn)的,派生類的成員函數(shù)可以自由地進(jìn)行訪問。通過定義友元類訪問類內(nèi)的保護(hù)成員,并通過單鏈表法開辟輸入空間以便插入員工的信息。最后通過友元類的析構(gòu)函數(shù)釋放空間。4.3 主函數(shù)設(shè)計(jì)/主函數(shù)void main() Head Data; /構(gòu)造對(duì)象int n;while(1) cout<<"請(qǐng)輸入:1、輸入 2、打印 0、退出:"cin>>n;switch(n) /多分支語句進(jìn)行菜單的選擇case 1:menu1(&Data); break;case

32、 2:menu(&Data);break;case 0:system("pause");return;system("cls");在程序的主函數(shù)部分,定義一個(gè)構(gòu)造對(duì)象以便實(shí)現(xiàn)調(diào)用。Switch多分支選擇語句可以選擇菜單從而實(shí)現(xiàn)輸入、打印操作。4.4 基于控制臺(tái)的應(yīng)用程序測試程序運(yùn)行結(jié)果如圖2-1和2-2所示。 圖2-1 程序運(yùn)行結(jié)果1圖2-2 程序運(yùn)行結(jié)果2為每類員工保存的文件夾如圖3-1所示的Mansger.txt、Salemansger.txt、Saleman.txt、Technology.txt:圖3-1存盤文件夾為經(jīng)理建立的文件夾打開后如

33、圖3-2所示: 圖3-2顯示經(jīng)理文件夾為銷售經(jīng)理建立的文件夾打開后如圖3-3所示: 圖3-3顯示銷售經(jīng)理文件夾 為兼職技術(shù)人員建立的文件夾打開后如圖3-4所示:圖3-4顯示兼職技術(shù)人員文件夾為兼職推銷員建立的文件夾打開后如圖3-5所示:圖3-5顯示兼職推銷員文件夾從圖2-1到3-5可以看出,在DOS界面通過對(duì)菜單的選擇可以輸入和打印員工的信息。經(jīng)理只需要輸入姓名,銷售經(jīng)理要輸入姓名和當(dāng)月的部門的銷售總額,兼職技術(shù)人員要輸入姓名和工作時(shí)間,兼職推銷員要輸入姓名和月銷售額,然后選擇打印菜單即可輸出各類人員的全部信息,而這些信息已經(jīng)通過程序的文件輸出流以TXT的格式保存在了電腦磁盤F:梁庶芹文件夾中

34、。打開后便可顯示各類員工的全部信息。5 基于MFC的應(yīng)用程序MFC是通過窗口和控件實(shí)現(xiàn)輸入輸出,設(shè)置MFC界面也很重要,界面的美觀程度直接影響了程序設(shè)計(jì)的好壞。下面在MFC類的框架下加入上述類并實(shí)現(xiàn)人員的信息管理,通過圖形界面的輸入和輸出。5.1 基于MFC的應(yīng)用程序設(shè)計(jì) MFC程序界面設(shè)計(jì)首先在VC中建立MFC AppWizard(exe)工程,名稱為lsq,并在向?qū)У腟tep1中選擇Dialog based,即建立基于對(duì)話框的應(yīng)用程序,如下圖41和4-2所示。圖4-1 建立MFC AppWizard(exe)工程圖4-2 建立基于對(duì)話框的應(yīng)用程序?qū)?duì)話框資源中的默認(rèn)對(duì)話框利用工具箱改造成如

35、下界面,如圖4-3所示。圖4-3顯示員工信息程序界面設(shè)計(jì)圖4-3所示的界面中包含了5個(gè)Group Box,7個(gè)Static Text控件,5個(gè)Button控件,和15個(gè)Edit Box控件,控件的基本信息列表如下表1所示。表1 控件基本信息控件類別控件ID控件Caption說明Group Box IDC_STATIC職位見圖6 姓名 級(jí)別 月薪 存盤Static TextIDC_STATIC經(jīng)理見圖6銷售經(jīng)理技術(shù)人員推銷員銷售總額工作時(shí)間銷售額Botton IDC_BUTTON1 提交見圖6 IDC_BUTTON2 Mansger IDC_BUTTON3Salemansger IDC_BUTT

36、ON4Technology IDC_BUTTON5 SalemanEdit Box IDC_JL姓名欄第一個(gè)Edit IDC_XSJL姓名欄第二個(gè)EditIDC_JSRY姓名欄第三個(gè)EditIDC_TXY姓名欄第四個(gè)Edit IDC_DJ1級(jí)別欄第一個(gè)Edit IDC_DJ2級(jí)別欄第二個(gè)Edit IDC_DJ3級(jí)別欄第三個(gè)Edit IDC_DJ4級(jí)別欄第四個(gè)EditIDC_YX1月薪欄第一個(gè)EditIDC_YX1月薪欄第二個(gè)EditIDC_YX1月薪欄第三個(gè)EditIDC_YX1月薪欄第四個(gè)Edit IDC_XSZE銷售總額右邊EditIDC_GZSJ工作時(shí)間右邊EditIDC_XSE銷售額右

37、邊Edit MFC程序代碼設(shè)計(jì)為了能夠?qū)?duì)話框界面上的控件能夠與代碼聯(lián)系起來,需要為15個(gè)Edit Box控件建立Member Variables,按Ctrl+w鍵進(jìn)入MFC ClassWizard界面,選擇Member Variables選項(xiàng)卡,可顯示成員變量設(shè)置界面,如圖4-4和4-5所示。圖4-4成員變量設(shè)置界面1圖4-5成員變量設(shè)置界面2通過該界面設(shè)置與15個(gè)Edit Box控件對(duì)應(yīng)的成員變量,具體Type與Member請(qǐng)?jiān)斠妶D4-4和4-5MFC編寫代碼也是非常重要的階段,可以借鑒在設(shè)計(jì)基于DOS界面的控制臺(tái)應(yīng)用程序的代碼,并將其作必要的改寫,具體改寫如下。各員工的姓名直接在MFC界

38、面的姓名檔中輸入,等級(jí)和月薪直接賦值即可。修改內(nèi)容包括:l 將顯示員工信息的prinft( )函數(shù)去掉,因?yàn)樵趫D形界面的程序上已經(jīng)不需要連個(gè)函數(shù)承擔(dān)輸出功能了;l 將存盤函數(shù)save( )去掉直接在MFC界面的存盤檔位每類員工建立文件夾并保存,仍然使用文件輸出流;l 菜單函數(shù)也不再需要,直接通過對(duì)按鈕的選擇進(jìn)行輸入輸出和存盤操作。具體代碼如下:/為提交鍵編寫的程序,用來實(shí)現(xiàn)信息的輸出:void CLsqDlg:OnButton1( ) UpdateData(TRUE);if(m_Mansger) /為經(jīng)理的等級(jí)和月薪賦值 m_level1=4;m_wages1=8000;if(m_Salema

39、nsger) /為銷售經(jīng)理的等級(jí)和月薪賦值 m_level2=3;m_wages2=5000+m_sum2*0.005;if(m_Technology) /為兼職技術(shù)人員的等級(jí)和月薪賦值 m_level3=3;m_wages3=m_time*100;if(m_Saleman) /為兼職推銷員的等級(jí)和月薪賦值 m_level4=1;m_wages4=m_sum1*0.04;UpdateData(FALSE);/為經(jīng)理建立文件夾,將其信息保存在磁盤中void CLsqDlg:OnButton2() ofstream fs("f:MFCMansger.txt"); fs<&

40、lt;"姓名:"<<m_Mansger<<" "<<"等級(jí):"<<m_level1<<" "<<"月薪:"<<m_wages1<<endl;/為銷售經(jīng)理建立文件夾,將其信息保存在磁盤中void CLsqDlg:OnButton3() ofstream fs("f:MFCSalemansger.txt"); fs<<"姓名:"<<m_Sal

41、emansger<<" "<<"等級(jí):"<<m_level2<<" "<<"月薪:"<<m_wages2<<endl;/為兼職技術(shù)人員建立文件夾,將其信息保存在磁盤中void CLsqDlg:OnButton4() ofstream fs("f:MFCTechnology.txt"); fs<<"姓名:"<<m_Technology<<" "<<"等級(jí):"<<m_level3<<" "<<"月薪:"<<m_wages3<<endl;為兼職推銷員建立文件夾,將其信息保存在磁盤中void CLsqDlg

溫馨提示

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