公司員工信息管理系統(tǒng)c++課程設(shè)計(jì)_第1頁(yè)
公司員工信息管理系統(tǒng)c++課程設(shè)計(jì)_第2頁(yè)
公司員工信息管理系統(tǒng)c++課程設(shè)計(jì)_第3頁(yè)
公司員工信息管理系統(tǒng)c++課程設(shè)計(jì)_第4頁(yè)
公司員工信息管理系統(tǒng)c++課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、C+課程設(shè)計(jì)公司員工信息管理系統(tǒng)- PAGE 47 - 公司員工信息管理系統(tǒng) 課程設(shè)計(jì)報(bào)告書學(xué)生班級(jí):軟工XXX班學(xué)生學(xué)號(hào):1462XXXXX學(xué)生姓名:XX指導(dǎo)教師:XXX設(shè)計(jì)時(shí)間:2016.7.1山西大學(xué)目錄 TOC o 1-3 h z u HYPERLINK l _Toc344146970 一、課程設(shè)計(jì)的目的: PAGEREF _Toc344146970 h 1 HYPERLINK l _Toc344146971 二、概念設(shè)計(jì) PAGEREF _Toc344146971 h 1 HYPERLINK l _Toc344146972 1.總經(jīng)理: PAGEREF _Toc344146972 h

2、 2 HYPERLINK l _Toc344146973 2.技術(shù)部門: PAGEREF _Toc344146973 h 2 HYPERLINK l _Toc344146974 3.銷售部門: PAGEREF _Toc344146974 h 2 HYPERLINK l _Toc344146975 4.財(cái)務(wù)部門: PAGEREF _Toc344146975 h 2 HYPERLINK l _Toc344146976 5.人力資源管理部: PAGEREF _Toc344146976 h 3 HYPERLINK l _Toc344146977 三、系統(tǒng)流程分析: PAGEREF _Toc344146

3、977 h 3 HYPERLINK l _Toc344146978 四、過程展示: PAGEREF _Toc344146978 h 3 HYPERLINK l _Toc344146979 1)總經(jīng)理: PAGEREF _Toc344146979 h 3 HYPERLINK l _Toc344146980 2)銷售經(jīng)理(銷售員) PAGEREF _Toc344146980 h 6 HYPERLINK l _Toc344146981 3)技術(shù)員 PAGEREF _Toc344146981 h 6 HYPERLINK l _Toc344146982 4)人力資源部門員工 PAGEREF _Toc34

4、4146982 h 6 HYPERLINK l _Toc344146983 5)財(cái)務(wù)部門員工: PAGEREF _Toc344146983 h 9 HYPERLINK l _Toc344146984 五、提升空間: PAGEREF _Toc344146984 h 11 HYPERLINK l _Toc344146985 六、感想與總結(jié): PAGEREF _Toc344146985 h 12 HYPERLINK l _Toc344146986 七、部分源代碼展示: PAGEREF _Toc344146986 h 12 HYPERLINK l _Toc344146993 八、VIEW.cpp類的源

5、代碼顯示: PAGEREF _Toc344146993 h 24課程設(shè)計(jì)的目的:為了解決公司職工信息的多樣性和數(shù)據(jù)的混亂與繁雜,實(shí)現(xiàn)信息存取,查詢,方便公司在信息方面有清晰的管理,提高公司的運(yùn)營(yíng)效率,本系統(tǒng)可以實(shí)現(xiàn)以上的功能。概念設(shè)計(jì)總體關(guān)系圖:公司員工管理系統(tǒng)技術(shù)部門銷售部門財(cái)務(wù)部門人力資源部門總經(jīng)理工資輸出員工信息輸入技術(shù)員銷售經(jīng)理工資信息輸出銷售員信息上傳員工信息刪除總經(jīng)理:總經(jīng)理是負(fù)責(zé)公司的大小事務(wù)的,所以總經(jīng)理獨(dú)立擁有查詢員工工資的權(quán)利,總經(jīng)理還可以獨(dú)立輸入個(gè)人信息到系統(tǒng)中,方便財(cái)務(wù)部門,人力資源部門等信息的統(tǒng)計(jì)。技術(shù)部門:技術(shù)部門是由技術(shù)員組成的,技術(shù)員是技術(shù)部門的主要成員,所以技

6、術(shù)員在技術(shù)部門內(nèi)是特殊的存在,同樣技術(shù)部門也擁有獨(dú)立信息輸入輸出的權(quán)利。銷售部門:銷售部門由銷售經(jīng)理和銷售員組成,銷售部門也是有獨(dú)立的信息輸入輸出的權(quán)利,方便部門的信息統(tǒng)計(jì)和人員信息的查看。財(cái)務(wù)部門:財(cái)務(wù)部門是公司財(cái)務(wù)統(tǒng)計(jì)的部門,掌管公司資金動(dòng)向,還有員工工資發(fā)放,所以我給財(cái)務(wù)部門設(shè)置了工資查詢的功能,讓每個(gè)公司成員進(jìn)入財(cái)務(wù)部查詢自己的工資,同時(shí)財(cái)務(wù)部要負(fù)責(zé)把員工的工資信息上傳到系統(tǒng)中去的功能。人力資源管理部:主要功能是對(duì)員工信息的管理,所以在人力資源部門中可以實(shí)現(xiàn)隊(duì)員工的信息持續(xù)添加的功能,方便了人力資源部的員工的工作了。同時(shí)還可以實(shí)現(xiàn)對(duì)人員信息的刪除,因?yàn)槿肆Y源管理部門是管理人員流動(dòng)的大

7、部門,每個(gè)員工的存儲(chǔ)或刪除是工作中常常遇到的額,所以刪除功能給人力資源部節(jié)約了很多人力物力。系統(tǒng)流程分析:前面是分析了各模塊的功能,現(xiàn)在就是對(duì)系統(tǒng)所實(shí)現(xiàn)的功能做一個(gè)展示并且分析每個(gè)功能的操作及設(shè)計(jì)的原因;如果你是公司員工,那么就進(jìn)入本系統(tǒng),進(jìn)入系統(tǒng)之后找到自己所在的部門,比如你是銷售員,那么就是銷售部門的,那么就點(diǎn)擊銷售部門-銷售員-個(gè)人信息輸入;點(diǎn)擊個(gè)人信息輸入之后會(huì)彈出一個(gè)提示對(duì)話窗口,此時(shí)你可以上傳自己的個(gè)人信息到系統(tǒng)當(dāng)中。同上,如果你是總經(jīng)理,那么就點(diǎn)擊進(jìn)入總經(jīng)理的鏈接-個(gè)人信息輸入(個(gè)人信息輸出,員工工資查看);點(diǎn)擊個(gè)人信息輸入會(huì)彈出與上一個(gè)輸入一樣的個(gè)人信息輸入對(duì)話框,里面有信息選

8、項(xiàng)若干,進(jìn)行填寫按確定就會(huì)對(duì)你所輸入的信息進(jìn)行存儲(chǔ),如果存儲(chǔ)完畢后要查看個(gè)人信息,可以點(diǎn)擊個(gè)人信息輸出查看。其他部門比如技術(shù)部門,銷售部門也是同樣的功能。就不介紹了?,F(xiàn)在介紹財(cái)務(wù)部門的查詢工資的功能實(shí)現(xiàn):查詢工資首先要人力資源部門完成信息上傳之后,同時(shí)還要必須是本公司員工,才能被查詢到,查詢的條件是以姓名方式查找的,只要信息正確就可以顯示到你所要的工資還有你所得的薪資水平。還有一個(gè)可以查詢到員工的工資,就是總經(jīng)理,總經(jīng)理可以查詢到所有員工的工資,點(diǎn)擊總經(jīng)理的員工工資查看就可以了。登陸界面用戶驗(yàn)證員工信息管理部門管理查詢管理退出系統(tǒng)登陸成功登陸失敗過程展示: 登陸系統(tǒng):要進(jìn)行正確的身份驗(yàn)證后才可

9、以登陸系統(tǒng),在登錄窗口中輸入正確的用戶名,密碼。本系統(tǒng)的用戶名為:1007010103,密碼1007010103:登陸對(duì)話框輸入密碼后:點(diǎn)擊登陸會(huì)彈出以下對(duì)話框:提示對(duì)話框點(diǎn)擊確定:總經(jīng)理:點(diǎn)擊總經(jīng)理會(huì)出現(xiàn)下拉菜單項(xiàng)有個(gè)人信息輸入,個(gè)人信息輸出,還有員工資金查看;點(diǎn)擊個(gè)人信息輸入出現(xiàn)如下對(duì)話框:(對(duì)話框有四個(gè)選項(xiàng),其中職業(yè)有四個(gè)下拉項(xiàng),包括,總經(jīng)理,銷售經(jīng)理,技術(shù)員,銷售員,在職業(yè)項(xiàng)中選擇你的職業(yè)。)輸入個(gè)人信息點(diǎn)擊確定就可以實(shí)現(xiàn)信息保存。比如輸入姓名為:張三,興趣愛好是:排球,性別:男,職業(yè)是總經(jīng)理;輸入完后出現(xiàn)提示你的信息輸入完畢。再點(diǎn)擊個(gè)人信息輸出就會(huì)查看到自己的信息:第三個(gè)功能是員工的

10、工資查看,要查看員工工資首先要在主菜單中的信息上傳之后才能實(shí)現(xiàn), 現(xiàn)在就講一下信息上傳的功能:點(diǎn)擊員工信息管理系統(tǒng)再點(diǎn)擊信息上傳后會(huì)彈出一下窗口:本窗口設(shè)置了姓名必能為空的功能,如果不填寫姓名就會(huì)彈出如下窗口:點(diǎn)擊時(shí)就會(huì)彈出上面的窗口繼續(xù)填寫,如果否就會(huì)退出。我們把信息設(shè)置如下:總經(jīng)理:李斯;銷售經(jīng)理:趙高;銷售員:葉子;技術(shù)員:高山;工作時(shí)間:100;銷售員銷售額:20000;公司銷售額:1000000點(diǎn)擊確定會(huì)彈出提示框:信息提示上傳成功。再點(diǎn)擊總經(jīng)理的員工工資查看就會(huì)顯示出來:銷售經(jīng)理(銷售員)點(diǎn)擊主菜單的銷售部門會(huì)出現(xiàn)兩項(xiàng)選擇:銷售經(jīng)理和銷售員.如果是銷售經(jīng)理(銷售員)會(huì)有兩項(xiàng)選擇:個(gè)

11、人信息輸入,個(gè)人信息輸出。點(diǎn)擊個(gè)人信息輸入會(huì)有一個(gè)如總經(jīng)理一樣的對(duì)話框:功能實(shí)現(xiàn)和總經(jīng)理的差不多就不一一介紹了可以參照總經(jīng)理所講的,只是少了一項(xiàng)總經(jīng)理的功能就是員工工資查看。技術(shù)員點(diǎn)擊主菜單的技術(shù)部門會(huì)出現(xiàn)一項(xiàng)選擇:技術(shù)員點(diǎn)擊技術(shù)員會(huì)有兩項(xiàng)選擇:個(gè)人信息輸入,個(gè)人信息輸出。點(diǎn)擊個(gè)人信息輸入會(huì)有一個(gè)如總經(jīng)理一樣的對(duì)話框:功能實(shí)現(xiàn)和總經(jīng)理的差不多就不一一介紹了可以參照總經(jīng)理所講的,只是少了一項(xiàng)總經(jīng)理的功能就是員工工資查看。人力資源部門員工人力資源部門的功能新建立一項(xiàng)功能,可以追加信息輸入。點(diǎn)擊人力資源部門時(shí)會(huì)有三項(xiàng)選擇:人員信息輸入,工資信息輸出,信息刪除,人力資源部門的這三個(gè)功能是必不可少的人員

12、的流動(dòng)是人力資源部門掌管的,有了這三個(gè)功能可以方便部門對(duì)信息的管理提高效益:點(diǎn)擊人員信息輸入:個(gè)人信息輸入框出現(xiàn)信息輸入框,填寫公司員工的信息:李斯,興趣愛好是:打籃球,性別:男,職業(yè)是總經(jīng)理。此信息是通過人力資源部門上傳的信息所以填寫完后會(huì)出現(xiàn)一個(gè)提示框:點(diǎn)擊是,會(huì)彈出信息輸入對(duì)話框:信息輸入對(duì)話框可以實(shí)現(xiàn)繼續(xù)添加,但是我設(shè)置了重復(fù)添加四次,因?yàn)槁殬I(yè)只有四種職業(yè)。繼續(xù)添加如下信息:高山,排球,女,銷售經(jīng)理;趙高,乒乓球,男,技術(shù)員,葉子,網(wǎng)球,女,銷售員;點(diǎn)擊確定保存信息。保存之后會(huì)彈出對(duì)話框提示內(nèi)存不足;內(nèi)存不足對(duì)話框不能再繼續(xù)添加信息了。信息的查看可以在各部門中的個(gè)人信息輸出查看到!看到

13、的信息如下所示:點(diǎn)擊工資信息輸出:在主窗口里會(huì)出現(xiàn)如下內(nèi)容:點(diǎn)擊信息刪除:如果信息有錯(cuò)誤,比如下面信息,技術(shù)員趙高的愛好不是乒乓球,而是排球,要求刪除掉:那么就點(diǎn)擊信息刪除。會(huì)彈出一個(gè)對(duì)話框:刪除提示窗口輸入刪除的人的姓名“趙高”,點(diǎn)擊確定,又會(huì)出現(xiàn)一個(gè)對(duì)話框,取消就會(huì)退出;信息刪除對(duì)話框信息顯示說已經(jīng)刪除了。打開主窗口,單擊一項(xiàng)個(gè)人信息輸出會(huì)看到:刪除信息顯示頁(yè)面顯示的內(nèi)容變成這樣了,趙高的信息刪除了。財(cái)務(wù)部門員工:如果進(jìn)入財(cái)務(wù)部門,里面可以查詢個(gè)人工資選項(xiàng),但是首先要填寫自己的職業(yè)選項(xiàng),通過信息核對(duì)正確后就會(huì)進(jìn)入姓名查詢,查詢到了你的信息就會(huì)顯示出來。點(diǎn)擊后會(huì)出現(xiàn)如下對(duì)話框職業(yè)選擇對(duì)話框提

14、示先選擇你的職業(yè):比如你是總經(jīng)理,總經(jīng)理的姓名是:李斯,點(diǎn)擊總經(jīng)理一項(xiàng),會(huì)彈出一個(gè)對(duì)話框提示你的信息:職業(yè)信息驗(yàn)證對(duì)話框點(diǎn)擊是,就可以查詢到工資了:月薪提示對(duì)話框顯示出總經(jīng)理的工資水平是80000/月,選擇其他的信息比如銷售員,葉子的工資;點(diǎn)擊銷售員的職業(yè)選項(xiàng),彈出對(duì)話框:職業(yè)信息驗(yàn)證對(duì)話框點(diǎn)擊是,出現(xiàn)一個(gè)姓名查詢窗口:工資查詢對(duì)話框填寫號(hào)自己的姓名:葉子,點(diǎn)擊確定:點(diǎn)擊是可以顯示信息,如果否就會(huì)不顯示;點(diǎn)擊是工資信息顯示對(duì)話框出現(xiàn)了信息顯示,里面有你的名字和薪資水平,級(jí)別是一級(jí),代表是最高的。提升空間:其實(shí)程序里面有幾個(gè)優(yōu)點(diǎn)我覺比較滿意的就是我把員工信息輸入框中的這也用了ComboBox類的

15、組合框讓信息規(guī)定在了四個(gè)職業(yè)的選項(xiàng),讓信息更清楚不含糊。還有工資查詢的職業(yè)選擇,我是用了單選按鈕來實(shí)現(xiàn)這也選擇,這樣的設(shè)置保證了信息的完整性,不會(huì)因?yàn)檫@也復(fù)雜而讓信息難以處理。但是程序還存在很多的不足,首先在數(shù)據(jù)顯示方面不夠清晰,其實(shí)我們可以建立以數(shù)據(jù)庫(kù),在庫(kù)中建立員工信息表,部門信息表,用表格的形式輸出數(shù)據(jù)更加美觀實(shí)用,同時(shí)還可以給數(shù)據(jù)庫(kù)建立一個(gè)登錄名,或多個(gè)登陸,只要是公司的員工就可以登錄輸入自己的個(gè)人信息,另外每個(gè)部門都建立獨(dú)立的表,可以給表設(shè)置對(duì)員工的權(quán)限。員工一般只有查看的功能,而人力資源部門可以對(duì)信息進(jìn)行添加,修改,刪除的權(quán)限。然后程序不能很好的完成刪除的功能,還有相關(guān)的修改功能也

16、沒實(shí)現(xiàn),這是我要加強(qiáng)此程序功能的方向。感想與總結(jié):花了很多時(shí)間在這個(gè)程序上,雖然最后還是留下很多不足,可是我覺得結(jié)果不重要,因?yàn)榫幊痰臅r(shí)候我真正感受到了做好一個(gè)程序(系統(tǒng))是一件不容易的事情,而且在這件事情上學(xué)會(huì)了急于求成是不行的,每一步都要認(rèn)真思考,最重要的是對(duì)系統(tǒng)首先做一個(gè)完整的設(shè)計(jì)方案,有一個(gè)大體的目標(biāo)后再進(jìn)行編程,編程的時(shí)候?qū)崿F(xiàn)了一個(gè)功能或者你定好的一步后要備案,不然就會(huì)因?yàn)橐粫r(shí)不小心把之前的程序弄臟了,就會(huì)出現(xiàn)很多問題,這時(shí)你會(huì)花很多時(shí)間去該,要是改不好就是前工盡棄了。然后就是學(xué)好一門計(jì)算機(jī)語(yǔ)言很重要的,不然就會(huì)在程序編寫時(shí)候很吃虧。不過我好自豪,因?yàn)槲业某绦螂m簡(jiǎn)單但是我是認(rèn)真的作者

17、的,而且是自己設(shè)計(jì)的,一個(gè)小小的系統(tǒng)花了我不少的努力,我也會(huì)繼續(xù)加強(qiáng)計(jì)算機(jī)語(yǔ)言的學(xué)習(xí)。部分源代碼展示:1, employee類為基類派生出來了salesman類,salesmanager類,technician類,manager類,頭文件代碼如下:/employee.hclass employeeprotected:char sex5;/性別char hobit10;/愛好char name20;/姓名char job20;/工作類型int individualEmpNo;/個(gè)人編號(hào)int grade;/級(jí)別float accumPay;/月薪總額static int employeeNo;/

18、本公司職員編號(hào)目前最大值public:void Sethobit(char*); void Setsex(char*);void Setjob(char*);char* Getsex();char* Gethobit();char* Getjob();employee();/構(gòu)造函數(shù)employee();/析構(gòu)函數(shù)virtual void pay()=0;/計(jì)算月薪函數(shù)(純虛函數(shù))virtual void promote(int increment=0);/升級(jí)函數(shù)(虛函數(shù))void SetName(char *); /設(shè)置姓名函數(shù)char * GetName(); /提取姓名函數(shù)int Ge

19、tindividualEmpNo(); /提取編號(hào)函數(shù)int Getgrade(); /提取級(jí)別函數(shù)float GetaccumPay(); /提取月薪函數(shù);class technician:public employee/兼職技術(shù)人員類private:float hourlyRate;/每小時(shí)酬金int workHours;/當(dāng)月工作時(shí)數(shù)public:technician();/構(gòu)造函數(shù)technician()void SetworkHours(int wh); /設(shè)置工作時(shí)數(shù)函數(shù)void pay();/計(jì)算月薪函數(shù)void promote(int);/升級(jí)函數(shù);class salesman

20、:virtual public employee/兼職推銷員類protected:float CommRate;/按銷售額提取酬金的百分比f(wàn)loat sales;/當(dāng)月銷售額public:salesman();salesman()/構(gòu)造函數(shù)void Setsales(float sl); /設(shè)置銷售額函數(shù)void pay();/計(jì)算月薪函數(shù)void promote(int);/升級(jí)函數(shù);class manager:virtual public employee/經(jīng)理類protected:float monthlyPay;/固定月薪數(shù)public:manager();/構(gòu)造函數(shù)void pay(

21、);/計(jì)算月薪函數(shù)void promote(int);/升級(jí)函數(shù)manager();class salesmanager:public manager,public salesman /銷售經(jīng)理類public:salesmanager();/構(gòu)造函數(shù)void pay();/計(jì)算月薪函數(shù)void promote(int);/升級(jí)函數(shù)salesmanager();2,類成員函數(shù)的實(shí)現(xiàn)包含在employee.cpp源文件中:/employee.cpp#include stdafx.h#include#include#includeemployee.husing namespace std;int e

22、mployee:employeeNo=1000;/員工編號(hào)基數(shù)為1000employee:employee()individualEmpNo=employeeNo+; /新輸入的員工編號(hào)為目前最大編號(hào)加1grade=1;/級(jí)別初值為1accumPay=0.0;/月薪總額初值為0employee:employee()void employee:promote(int increment)grade+=increment; /升級(jí),提升的級(jí)數(shù)由increment指定void employee:SetName(char* names)strcpy(name,names); /設(shè)置姓名char* em

23、ployee:GetName()return name;/提取成員姓名int employee:GetindividualEmpNo()return individualEmpNo;/提取成員編號(hào)int employee:Getgrade()return grade;/提取成員級(jí)別float employee:GetaccumPay()return accumPay;/提取月薪technician:technician()hourlyRate=100;/每小時(shí)酬金100元void technician:SetworkHours(int wh)workHours=wh;/設(shè)置工作時(shí)間void t

24、echnician:pay()accumPay=hourlyRate*workHours;/計(jì)算月薪,按小時(shí)計(jì)酬void technician:promote(int)employee:promote(2); /調(diào)用基類升級(jí)函數(shù),升2級(jí)salesman:salesman()CommRate=0.04f;/銷售提成比例4%void salesman:Setsales(float sl)sales=sl;/設(shè)置銷售額void salesman:pay()accumPay=sales*CommRate;/月薪=銷售提成void salesman:promote(int)employee:promot

25、e(0); /調(diào)用基類升級(jí)函數(shù),升0級(jí)manager:manager()monthlyPay=80000;/固定月薪8000元void manager:pay()accumPay=monthlyPay;/月薪總額即固定月薪數(shù)void manager:promote(int )employee:promote(3);/調(diào)用基類升級(jí)函數(shù),升3級(jí)salesmanager:salesmanager()monthlyPay=5000;CommRate=0.005f;void salesmanager:pay()accumPay=monthlyPay+CommRate*sales; /月薪=固定月薪+銷售

26、提成void salesmanager:promote(int)employee:promote(2);/調(diào)用基類升級(jí)函數(shù),升2級(jí)char* employee:Gethobit() return hobit;char* employee:Getsex() return sex;char* employee:Getjob() return job;void employee:Sethobit(char* hobita) strcpy(hobit,hobita);void employee:Setsex(char* sexa) strcpy(sex,sexa);void employee:Setj

27、ob( char* joba) strcpy(job,joba); 3,自己創(chuàng)新的部分:人力資源部門的人員信息輸入代碼此代碼是實(shí)現(xiàn)信息追加的也是我想到的: void CMy1007010103View:OnPersoninput() / TODO: Add your command handler code here manager m1,t,sm,s; int count=0;vector vchar;vchar.push_back(&m1);/vchar.push_back(&m); vchar.push_back(&t);vchar.push_back(&sm);vchar.push_b

28、ack(&s); int i; for(i=0;iSetName(char*) (LPCTSTR) ed.m_strName);/設(shè)置姓名 vchari-Sethobit(char*) (LPCTSTR) ed.m_strhobit);vchari-Setsex(char*) (LPCTSTR) ed.m_strsex);vchari-Setjob(char*) (LPCTSTR) ed.m_ComboEmployee); ofstream infile(employee.txt,ios:out|ios:app) ;/創(chuàng)建一個(gè)輸出文件流對(duì)象 infileGetName(),你的職業(yè):Getjo

29、b() , 性別:Getsex(), 愛好:Gethobit()OnInitialUpdate();ifstream infile(employee1.txt,ios:in);/創(chuàng)建一個(gè)輸入文件流對(duì)象try if (!infile)throw FileException(); catch ( FileException fe ) / exception handlerAfxMessageBox(fe.what(); / fe.what() n;exit(0);CDlgQueryName ed; /聲明查詢對(duì)話框?qū)ο骾f(ed.DoModal()=IDOK)/調(diào)用查詢對(duì)話框char line10

30、101;BOOL flag=FALSE; for(int i=0;iOnInitialUpdate();ifstream infile(employee1.txt,ios:in);/創(chuàng)建一個(gè)輸入文件流對(duì)象try if (!infile)throw FileException(); catch ( FileException fe ) / exception handlerAfxMessageBox(fe.what(); / fe.what() n;exit(0);CDlgQueryName ed; /聲明查詢對(duì)話框?qū)ο骾f(ed.DoModal()=IDOK)/調(diào)用查詢對(duì)話框char line

31、10101;BOOL flag=FALSE; for(int i=0;iOnInitialUpdate();ifstream infile(employee1.txt,ios:in);/創(chuàng)建一個(gè)輸入文件流對(duì)象try if (!infile)throw FileException(); catch ( FileException fe ) / exception handlerAfxMessageBox(fe.what(); / fe.what() n;exit(0);CDlgQueryName ed; /聲明查詢對(duì)話框?qū)ο骾f(ed.DoModal()=IDOK)/調(diào)用查詢對(duì)話框char li

32、ne10101;BOOL flag=FALSE; for(int i=0;i4;i+)infile.getline(linei,100); /從文件讀入人員信息CString c_str,name_str;c_str.Format(%s,linei); /轉(zhuǎn)換為字符串 name_str=c_str.Left(c_str.Find(,);/提取姓名if(!name_str.Compare(ed.m_strQueryName)/與查詢名比較flag=TRUE;name_str+=被查詢到,要顯示該人員信息嗎?; if(MessageBox(name_str,提示對(duì)話框,100)=IDYES)CDl

33、ginfomation pDlg;/聲明顯示對(duì)話框?qū)ο髉Dlg.m_strInfoName = ed.m_strQueryName;pDlg.m_strInfomationSalary = c_str;pDlg.DoModal();/調(diào)用顯示對(duì)話框;break;if(flag=FALSE) MessageBox(查無(wú)此人!);infile.close();break; else MessageBox(姓名不能為空!);4,員工信息輸入函數(shù)的代碼顯示:void CMy1007010103View:OnManagerinput() / TODO: Add your command handler

34、code here manager m1; CDlgInput manager; manager.DoModal(); if(manager.m_strName!=) ofstream infile(employee.txt,ios:out|ios:app) ; m1.SetName(char*)(LPCTSTR) manager.m_strName); m1.Setsex(char*)(LPCTSTR) manager.m_strsex); m1.Sethobit(char*)(LPCTSTR) manager.m_strhobit);m1.Setjob(char*)(LPCTSTR) ma

35、nager.m_ComboEmployee); infilem1.GetName(),你的職業(yè):m1.Getjob(),性別:m1.Getsex(),愛好:m1.Gethobit() endl; infile.close(); MessageBox(信息存儲(chǔ)完畢!,存儲(chǔ)信息對(duì)話框);flag=true;5,信息輸出函數(shù)代碼顯示:void CMy1007010103View:OnManageroutput() / TODO: Add your command handler code hereifstream infile(employee.txt,ios:in);/創(chuàng)建一個(gè)輸入文件流對(duì)象try

36、 if (!infile) throw FileException(); catch ( FileException fe ) / exception handler MessageBox(fe.what(); / fe.what() n; exit(0); CClientDC dc(this); char line101;for(int i=0;iOnInitialUpdate();ifstream infile(employee.txt,ios:in);/創(chuàng)建一個(gè)輸入文件流對(duì)象try if (!infile)throw FileException(); catch ( FileExcept

37、ion fe ) / exception handlerMessageBox(fe.what(); / fe.what() n;exit(0); CDlgDel ed; /聲明查詢對(duì)話框?qū)ο骾f(ed.DoModal()=IDOK)/調(diào)用查詢對(duì)話框char line4101;int a4;int flag=0;CClientDC dc(this);for(int i=0;i4;i+)infile.getline(linei,100); /從文件讀入人員信息CString c_str,name_str;c_str.Format(%s,linei); /轉(zhuǎn)換為字符串 name_str=c_str.

38、Left(c_str.Find(,);/提取姓名if(!name_str.Compare(ed.m_Deletedname)/與查詢名比f(wàn)lag=1;ai=i;infile.close();if(flag=0) MessageBox(查詢無(wú)此人,請(qǐng)重新輸入!); return;ofstream ofile(employee.txt,ios:out);for(int j=0;j4;j+)if(j!=a1&j!=a2&j!=a3&j!=a0)ofilelinejendl;ofile.close(); MessageBox(此人信息已刪除!);infile.close();VIEW.cpp類的源代碼

39、顯示:/ 葉俊耀1007010103課程設(shè)計(jì)View.cpp : implementation of the CMy1007010103View class/ #include stdafx.h#include 葉俊耀1007010103課程設(shè)計(jì).h#include 葉俊耀1007010103課程設(shè)計(jì)Doc.h#include 葉俊耀1007010103課程設(shè)計(jì)View.h#include employee.h#include DlgInput.h#include DlgQuerySalary.h#include DlgQueryName.h#include Dlginfomation.h#i

40、nclude DlgLogin.h#include DlgDel.h#include assert.h#include #include #include DlgPutInAll.husing namespace std;#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CMy1007010103ViewIMPLEMENT_DYNCREATE(CMy1007010103View, CView)BEGIN_MESSAGE_MAP(CMy1007010103View, C

41、View)/AFX_MSG_MAP(CMy1007010103View)ON_COMMAND(IDM_MANAGERINPUT, OnManagerinput)ON_COMMAND(IDM_MANAGEROUTPUT, OnManageroutput)ON_COMMAND(IDM_SALEMANAGERINPUT, OnSalemanagerinput)ON_COMMAND(IDM_SALEMANAGEROUTPUT, OnSalemanageroutput)ON_COMMAND(IDM_SALEMAN, OnSaleman)ON_COMMAND(IDM_SALEMANOUTPUT, OnSa

42、lemanoutput)ON_COMMAND(IDM_TECHMENINPUT, OnTechmeninput)ON_COMMAND(IDM_TECH_OUTPUT, OnTechOutput)ON_COMMAND(IDM_GETMONTHLYPAY, OnGetmonthlypay)ON_COMMAND(IDM_PUTINALL, OnPutinall)ON_COMMAND(IDM_QUERYOUTPUT, OnQueryoutput)ON_COMMAND(IDM_PERSONINPUT, OnPersoninput)ON_COMMAND(IDM_PERSONOUTPUT, OnPerson

43、output)ON_COMMAND(IDM_DELETEINFOMATION, OnDeleteinfomation)/AFX_MSG_MAP/ Standard printing commandsON_COMMAND(ID_FILE_PRINT, CView:OnFilePrint)ON_COMMAND(ID_FILE_PRINT_DIRECT, CView:OnFilePrint)ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView:OnFilePrintPreview)END_MESSAGE_MAP()/ CMy1007010103View constructi

44、on/destructionCMy1007010103View:CMy1007010103View()/ TODO: add construction code hereCDlgLogin ed;CString aaa;if(ed.DoModal()=IDCANCEL)aaa=您確定要退出此系統(tǒng)嗎?;if(MessageBox(aaa,提示窗口,100)=IDYES)exit(0);int i=0;while(ed.m_yonghuming!=1007010103)|(ed.m_mima!=1007010103) i+; MessageBox(密碼錯(cuò)誤! 請(qǐng)重新輸入!);if(ed.DoMod

45、al()=IDCANCEL|i=3)if(i=3)MessageBox(對(duì)不起,您的輸入的錯(cuò)誤次數(shù)超過3次!系統(tǒng)將自動(dòng)退出!);exit(0);MessageBox(歡迎進(jìn)入公司人員管理系統(tǒng)!);CMy1007010103View:CMy1007010103View()BOOL CMy1007010103View:PreCreateWindow(CREATESTRUCT& cs)/ TODO: Modify the Window class or styles here by modifying/ the CREATESTRUCT csreturn CView:PreCreateWindow(

46、cs);/ CMy1007010103View drawingvoid CMy1007010103View:OnDraw(CDC* pDC)CMy1007010103Doc* pDoc = GetDocument();ASSERT_VALID(pDoc);/ TODO: add draw code for native data here/ CMy1007010103View printingBOOL CMy1007010103View:OnPreparePrinting(CPrintInfo* pInfo)/ default preparationreturn DoPreparePrinti

47、ng(pInfo);void CMy1007010103View:OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)/ TODO: add extra initialization before printingvoid CMy1007010103View:OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)/ TODO: add cleanup after printing/ CMy1007010103View diagnostics#ifdef _DEBUGvoid CMy10070101

48、03View:AssertValid() constCView:AssertValid();void CMy1007010103View:Dump(CDumpContext& dc) constCView:Dump(dc);CMy1007010103Doc* CMy1007010103View:GetDocument() / non-debug version is inlineASSERT(m_pDocument-IsKindOf(RUNTIME_CLASS(CMy1007010103Doc);return (CMy1007010103Doc*)m_pDocument;#endif /_DE

49、BUG/ CMy1007010103View message handlersvoid CMy1007010103View:OnManagerinput() / TODO: Add your command handler code here manager m1; CDlgInput manager; manager.DoModal(); if(manager.m_strName!=) ofstream infile(employee.txt,ios:out|ios:app) ; m1.SetName(char*)(LPCTSTR) manager.m_strName); m1.Setsex

50、(char*)(LPCTSTR) manager.m_strsex); m1.Sethobit(char*)(LPCTSTR) manager.m_strhobit);m1.Setjob(char*)(LPCTSTR) manager.m_ComboEmployee); infilem1.GetName(),你的職業(yè):m1.Getjob() , 性別:m1.Getsex(), 愛好:m1.Gethobit()endl; infile.close(); MessageBox(信息存儲(chǔ)完畢!,存儲(chǔ)信息對(duì)話框);flag=true;class FileException public: FileEx

51、ception() : message( File is not created! ) const char *what() const return message; private: const char *message;void CMy1007010103View:OnManageroutput() / TODO: Add your command handler code hereifstream infile(employee.txt,ios:in);/創(chuàng)建一個(gè)輸入文件流對(duì)象try if (!infile) throw FileException(); catch ( FileEx

52、ception fe ) / exception handler MessageBox(fe.what(); / fe.what() n; exit(0); CClientDC dc(this); char line101;for(int i=0;isizeof(infile);i+)infile.getline(line,100);/從文件讀入人員信息CString c_str;c_str.Format(%s,line); /轉(zhuǎn)換為字符串dc.TextOut(120,80,人員信息管理系統(tǒng):);dc.TextOut(120,100+30*i,c_str);infile.close();voi

53、d CMy1007010103View:OnSalemanagerinput() / TODO: Add your command handler code heresalesmanager m2; CDlgInput salesmanager; salesmanager.DoModal(); if(salesmanager.m_strName!=) ofstream infile(employee.txt,ios:out|ios:app) ; m2.SetName(char*)(LPCTSTR) salesmanager.m_strName); m2.Setsex(char*)(LPCTST

54、R) salesmanager.m_strsex); m2.Sethobit(char*)(LPCTSTR) salesmanager.m_strhobit);m2.Setjob(char*)(LPCTSTR) salesmanager.m_ComboEmployee); infilem2.GetName(),你的職業(yè):m2.Getjob() , 性別:m2.Getsex(), 愛好:m2.Gethobit()endl; infile.close(); MessageBox(信息存儲(chǔ)完畢!,存儲(chǔ)信息對(duì)話框);void CMy1007010103View:OnSalemanageroutput(

55、) / TODO: Add your command handler code hereifstream infile(employee.txt,ios:in);/創(chuàng)建一個(gè)輸入文件流對(duì)象try if (!infile) throw FileException(); catch ( FileException fe ) / exception handler MessageBox(fe.what(); / fe.what() n; exit(0); CClientDC dc(this);char line101; for(int i=0;isizeof(infile);i+)infile.get

56、line(line,100);/從文件讀入人員信息CString c_str;c_str.Format(%s,line); /轉(zhuǎn)換為字符串dc.TextOut(120,80,人員信息管理系統(tǒng):);dc.TextOut(120,100+30*i,c_str);infile.close();void CMy1007010103View:OnSaleman() / TODO: Add your command handler code heresalesman m3; CDlgInput salesman; salesman.DoModal(); if(salesman.m_strName!=) o

57、fstream infile(employee.txt,ios:out|ios:app) ; m3.SetName(char*)(LPCTSTR) salesman.m_strName); m3.Setsex(char*)(LPCTSTR) salesman.m_strsex); m3.Sethobit(char*)(LPCTSTR) salesman.m_strhobit);m3.Setjob(char*)(LPCTSTR) salesman.m_ComboEmployee); infilem3.GetName(),你的職業(yè):m3.Getjob(),性別:m3.Getsex(),愛好:m3.

58、Gethobit() endl; infile.close(); MessageBox(信息存儲(chǔ)完畢!,存儲(chǔ)信息對(duì)話框);void CMy1007010103View:OnSalemanoutput() / TODO: Add your command handler code hereifstream infile(employee.txt,ios:in);/創(chuàng)建一個(gè)輸入文件流對(duì)象try if (!infile) throw FileException(); catch ( FileException fe ) / exception handler MessageBox(fe.what()

59、; / fe.what() n; exit(0); CClientDC dc(this);char line101;for(int i=0;isizeof(infile);i+)infile.getline(line,100);/從文件讀入人員信息CString c_str;c_str.Format(%s,line); /轉(zhuǎn)換為字符串dc.TextOut(120,80,人員信息管理系統(tǒng):);dc.TextOut(120,100+30*i,c_str);infile.close();void CMy1007010103View:OnTechmeninput() / TODO: Add your

60、command handler code heretechnician t1; CDlgInput technician; technician.DoModal(); if(technician.m_strName!=) ofstream infile(employee.txt,ios:out|ios:app) ; t1.SetName(char*)(LPCTSTR) technician.m_strName); t1.Setsex(char*)(LPCTSTR) technician.m_strsex); t1.Sethobit(char*)(LPCTSTR) technician.m_st

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論