版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(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)告書(shū)學(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ù)部門(mén): PAGEREF _Toc344146973 h 2 HYPERLINK l _Toc344146974 3.銷(xiāo)售部門(mén): PAGEREF _Toc344146974 h 2 HYPERLINK l _Toc344146975 4.財(cái)務(wù)部門(mén): 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 四、過(guò)程展示: PAGEREF _Toc344146978 h 3 HYPERLINK l _Toc344146979 1)總經(jīng)理: PAGEREF _Toc344146979 h 3 HYPERLINK l _Toc344146980 2)銷(xiāo)售經(jīng)理(銷(xiāo)售員) PAGEREF _Toc344146980 h 6 HYPERLINK l _Toc344146981 3)技術(shù)員 PAGEREF _Toc344146981 h 6 HYPERLINK l _Toc344146982 4)人力資源部門(mén)員工 PAGEREF _Toc34
4、4146982 h 6 HYPERLINK l _Toc344146983 5)財(cái)務(wù)部門(mén)員工: 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類(lèi)的源
5、代碼顯示: PAGEREF _Toc344146993 h 24課程設(shè)計(jì)的目的:為了解決公司職工信息的多樣性和數(shù)據(jù)的混亂與繁雜,實(shí)現(xiàn)信息存取,查詢(xún),方便公司在信息方面有清晰的管理,提高公司的運(yùn)營(yíng)效率,本系統(tǒng)可以實(shí)現(xiàn)以上的功能。概念設(shè)計(jì)總體關(guān)系圖:公司員工管理系統(tǒng)技術(shù)部門(mén)銷(xiāo)售部門(mén)財(cái)務(wù)部門(mén)人力資源部門(mén)總經(jīng)理工資輸出員工信息輸入技術(shù)員銷(xiāo)售經(jīng)理工資信息輸出銷(xiāo)售員信息上傳員工信息刪除總經(jīng)理:總經(jīng)理是負(fù)責(zé)公司的大小事務(wù)的,所以總經(jīng)理獨(dú)立擁有查詢(xún)員工工資的權(quán)利,總經(jīng)理還可以獨(dú)立輸入個(gè)人信息到系統(tǒng)中,方便財(cái)務(wù)部門(mén),人力資源部門(mén)等信息的統(tǒng)計(jì)。技術(shù)部門(mén):技術(shù)部門(mén)是由技術(shù)員組成的,技術(shù)員是技術(shù)部門(mén)的主要成員,所以技
6、術(shù)員在技術(shù)部門(mén)內(nèi)是特殊的存在,同樣技術(shù)部門(mén)也擁有獨(dú)立信息輸入輸出的權(quán)利。銷(xiāo)售部門(mén):銷(xiāo)售部門(mén)由銷(xiāo)售經(jīng)理和銷(xiāo)售員組成,銷(xiāo)售部門(mén)也是有獨(dú)立的信息輸入輸出的權(quán)利,方便部門(mén)的信息統(tǒng)計(jì)和人員信息的查看。財(cái)務(wù)部門(mén):財(cái)務(wù)部門(mén)是公司財(cái)務(wù)統(tǒng)計(jì)的部門(mén),掌管公司資金動(dòng)向,還有員工工資發(fā)放,所以我給財(cái)務(wù)部門(mén)設(shè)置了工資查詢(xún)的功能,讓每個(gè)公司成員進(jìn)入財(cái)務(wù)部查詢(xún)自己的工資,同時(shí)財(cái)務(wù)部要負(fù)責(zé)把員工的工資信息上傳到系統(tǒng)中去的功能。人力資源管理部:主要功能是對(duì)員工信息的管理,所以在人力資源部門(mén)中可以實(shí)現(xiàn)隊(duì)員工的信息持續(xù)添加的功能,方便了人力資源部的員工的工作了。同時(shí)還可以實(shí)現(xiàn)對(duì)人員信息的刪除,因?yàn)槿肆Y源管理部門(mén)是管理人員流動(dòng)的大
7、部門(mén),每個(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)之后找到自己所在的部門(mén),比如你是銷(xiāo)售員,那么就是銷(xiāo)售部門(mén)的,那么就點(diǎn)擊銷(xiāo)售部門(mén)-銷(xiāo)售員-個(gè)人信息輸入;點(diǎn)擊個(gè)人信息輸入之后會(huì)彈出一個(gè)提示對(duì)話(huà)窗口,此時(shí)你可以上傳自己的個(gè)人信息到系統(tǒng)當(dāng)中。同上,如果你是總經(jīng)理,那么就點(diǎn)擊進(jìn)入總經(jīng)理的鏈接-個(gè)人信息輸入(個(gè)人信息輸出,員工工資查看);點(diǎn)擊個(gè)人信息輸入會(huì)彈出與上一個(gè)輸入一樣的個(gè)人信息輸入對(duì)話(huà)框,里面有信息選
8、項(xiàng)若干,進(jìn)行填寫(xiě)按確定就會(huì)對(duì)你所輸入的信息進(jìn)行存儲(chǔ),如果存儲(chǔ)完畢后要查看個(gè)人信息,可以點(diǎn)擊個(gè)人信息輸出查看。其他部門(mén)比如技術(shù)部門(mén),銷(xiāo)售部門(mén)也是同樣的功能。就不介紹了?,F(xiàn)在介紹財(cái)務(wù)部門(mén)的查詢(xún)工資的功能實(shí)現(xiàn):查詢(xún)工資首先要人力資源部門(mén)完成信息上傳之后,同時(shí)還要必須是本公司員工,才能被查詢(xún)到,查詢(xún)的條件是以姓名方式查找的,只要信息正確就可以顯示到你所要的工資還有你所得的薪資水平。還有一個(gè)可以查詢(xún)到員工的工資,就是總經(jīng)理,總經(jīng)理可以查詢(xún)到所有員工的工資,點(diǎn)擊總經(jīng)理的員工工資查看就可以了。登陸界面用戶(hù)驗(yàn)證員工信息管理部門(mén)管理查詢(xún)管理退出系統(tǒng)登陸成功登陸失敗過(guò)程展示: 登陸系統(tǒng):要進(jìn)行正確的身份驗(yàn)證后才可
9、以登陸系統(tǒng),在登錄窗口中輸入正確的用戶(hù)名,密碼。本系統(tǒng)的用戶(hù)名為:1007010103,密碼1007010103:登陸對(duì)話(huà)框輸入密碼后:點(diǎn)擊登陸會(huì)彈出以下對(duì)話(huà)框:提示對(duì)話(huà)框點(diǎn)擊確定:總經(jīng)理:點(diǎn)擊總經(jīng)理會(huì)出現(xiàn)下拉菜單項(xiàng)有個(gè)人信息輸入,個(gè)人信息輸出,還有員工資金查看;點(diǎn)擊個(gè)人信息輸入出現(xiàn)如下對(duì)話(huà)框:(對(duì)話(huà)框有四個(gè)選項(xiàng),其中職業(yè)有四個(gè)下拉項(xiàng),包括,總經(jīng)理,銷(xiāo)售經(jīng)理,技術(shù)員,銷(xiāo)售員,在職業(yè)項(xiàng)中選擇你的職業(yè)。)輸入個(gè)人信息點(diǎn)擊確定就可以實(shí)現(xiàn)信息保存。比如輸入姓名為:張三,興趣愛(ài)好是:排球,性別:男,職業(yè)是總經(jīng)理;輸入完后出現(xiàn)提示你的信息輸入完畢。再點(diǎn)擊個(gè)人信息輸出就會(huì)查看到自己的信息:第三個(gè)功能是員工的
10、工資查看,要查看員工工資首先要在主菜單中的信息上傳之后才能實(shí)現(xiàn), 現(xiàn)在就講一下信息上傳的功能:點(diǎn)擊員工信息管理系統(tǒng)再點(diǎn)擊信息上傳后會(huì)彈出一下窗口:本窗口設(shè)置了姓名必能為空的功能,如果不填寫(xiě)姓名就會(huì)彈出如下窗口:點(diǎn)擊時(shí)就會(huì)彈出上面的窗口繼續(xù)填寫(xiě),如果否就會(huì)退出。我們把信息設(shè)置如下:總經(jīng)理:李斯;銷(xiāo)售經(jīng)理:趙高;銷(xiāo)售員:葉子;技術(shù)員:高山;工作時(shí)間:100;銷(xiāo)售員銷(xiāo)售額:20000;公司銷(xiāo)售額:1000000點(diǎn)擊確定會(huì)彈出提示框:信息提示上傳成功。再點(diǎn)擊總經(jīng)理的員工工資查看就會(huì)顯示出來(lái):銷(xiāo)售經(jīng)理(銷(xiāo)售員)點(diǎn)擊主菜單的銷(xiāo)售部門(mén)會(huì)出現(xiàn)兩項(xiàng)選擇:銷(xiāo)售經(jīng)理和銷(xiāo)售員.如果是銷(xiāo)售經(jīng)理(銷(xiāo)售員)會(huì)有兩項(xiàng)選擇:個(gè)
11、人信息輸入,個(gè)人信息輸出。點(diǎn)擊個(gè)人信息輸入會(huì)有一個(gè)如總經(jīng)理一樣的對(duì)話(huà)框:功能實(shí)現(xiàn)和總經(jīng)理的差不多就不一一介紹了可以參照總經(jīng)理所講的,只是少了一項(xiàng)總經(jīng)理的功能就是員工工資查看。技術(shù)員點(diǎn)擊主菜單的技術(shù)部門(mén)會(huì)出現(xiàn)一項(xiàng)選擇:技術(shù)員點(diǎn)擊技術(shù)員會(huì)有兩項(xiàng)選擇:個(gè)人信息輸入,個(gè)人信息輸出。點(diǎn)擊個(gè)人信息輸入會(huì)有一個(gè)如總經(jīng)理一樣的對(duì)話(huà)框:功能實(shí)現(xiàn)和總經(jīng)理的差不多就不一一介紹了可以參照總經(jīng)理所講的,只是少了一項(xiàng)總經(jīng)理的功能就是員工工資查看。人力資源部門(mén)員工人力資源部門(mén)的功能新建立一項(xiàng)功能,可以追加信息輸入。點(diǎn)擊人力資源部門(mén)時(shí)會(huì)有三項(xiàng)選擇:人員信息輸入,工資信息輸出,信息刪除,人力資源部門(mén)的這三個(gè)功能是必不可少的人員
12、的流動(dòng)是人力資源部門(mén)掌管的,有了這三個(gè)功能可以方便部門(mén)對(duì)信息的管理提高效益:點(diǎn)擊人員信息輸入:個(gè)人信息輸入框出現(xiàn)信息輸入框,填寫(xiě)公司員工的信息:李斯,興趣愛(ài)好是:打籃球,性別:男,職業(yè)是總經(jīng)理。此信息是通過(guò)人力資源部門(mén)上傳的信息所以填寫(xiě)完后會(huì)出現(xiàn)一個(gè)提示框:點(diǎn)擊是,會(huì)彈出信息輸入對(duì)話(huà)框:信息輸入對(duì)話(huà)框可以實(shí)現(xiàn)繼續(xù)添加,但是我設(shè)置了重復(fù)添加四次,因?yàn)槁殬I(yè)只有四種職業(yè)。繼續(xù)添加如下信息:高山,排球,女,銷(xiāo)售經(jīng)理;趙高,乒乓球,男,技術(shù)員,葉子,網(wǎng)球,女,銷(xiāo)售員;點(diǎn)擊確定保存信息。保存之后會(huì)彈出對(duì)話(huà)框提示內(nèi)存不足;內(nèi)存不足對(duì)話(huà)框不能再繼續(xù)添加信息了。信息的查看可以在各部門(mén)中的個(gè)人信息輸出查看到!看到
13、的信息如下所示:點(diǎn)擊工資信息輸出:在主窗口里會(huì)出現(xiàn)如下內(nèi)容:點(diǎn)擊信息刪除:如果信息有錯(cuò)誤,比如下面信息,技術(shù)員趙高的愛(ài)好不是乒乓球,而是排球,要求刪除掉:那么就點(diǎn)擊信息刪除。會(huì)彈出一個(gè)對(duì)話(huà)框:刪除提示窗口輸入刪除的人的姓名“趙高”,點(diǎn)擊確定,又會(huì)出現(xiàn)一個(gè)對(duì)話(huà)框,取消就會(huì)退出;信息刪除對(duì)話(huà)框信息顯示說(shuō)已經(jīng)刪除了。打開(kāi)主窗口,單擊一項(xiàng)個(gè)人信息輸出會(huì)看到:刪除信息顯示頁(yè)面顯示的內(nèi)容變成這樣了,趙高的信息刪除了。財(cái)務(wù)部門(mén)員工:如果進(jìn)入財(cái)務(wù)部門(mén),里面可以查詢(xún)個(gè)人工資選項(xiàng),但是首先要填寫(xiě)自己的職業(yè)選項(xiàng),通過(guò)信息核對(duì)正確后就會(huì)進(jìn)入姓名查詢(xún),查詢(xún)到了你的信息就會(huì)顯示出來(lái)。點(diǎn)擊后會(huì)出現(xiàn)如下對(duì)話(huà)框職業(yè)選擇對(duì)話(huà)框提
14、示先選擇你的職業(yè):比如你是總經(jīng)理,總經(jīng)理的姓名是:李斯,點(diǎn)擊總經(jīng)理一項(xiàng),會(huì)彈出一個(gè)對(duì)話(huà)框提示你的信息:職業(yè)信息驗(yàn)證對(duì)話(huà)框點(diǎn)擊是,就可以查詢(xún)到工資了:月薪提示對(duì)話(huà)框顯示出總經(jīng)理的工資水平是80000/月,選擇其他的信息比如銷(xiāo)售員,葉子的工資;點(diǎn)擊銷(xiāo)售員的職業(yè)選項(xiàng),彈出對(duì)話(huà)框:職業(yè)信息驗(yàn)證對(duì)話(huà)框點(diǎn)擊是,出現(xiàn)一個(gè)姓名查詢(xún)窗口:工資查詢(xún)對(duì)話(huà)框填寫(xiě)號(hào)自己的姓名:葉子,點(diǎn)擊確定:點(diǎn)擊是可以顯示信息,如果否就會(huì)不顯示;點(diǎn)擊是工資信息顯示對(duì)話(huà)框出現(xiàn)了信息顯示,里面有你的名字和薪資水平,級(jí)別是一級(jí),代表是最高的。提升空間:其實(shí)程序里面有幾個(gè)優(yōu)點(diǎn)我覺(jué)比較滿(mǎn)意的就是我把員工信息輸入框中的這也用了ComboBox類(lèi)的
15、組合框讓信息規(guī)定在了四個(gè)職業(yè)的選項(xiàng),讓信息更清楚不含糊。還有工資查詢(xún)的職業(yè)選擇,我是用了單選按鈕來(lái)實(shí)現(xiàn)這也選擇,這樣的設(shè)置保證了信息的完整性,不會(huì)因?yàn)檫@也復(fù)雜而讓信息難以處理。但是程序還存在很多的不足,首先在數(shù)據(jù)顯示方面不夠清晰,其實(shí)我們可以建立以數(shù)據(jù)庫(kù),在庫(kù)中建立員工信息表,部門(mén)信息表,用表格的形式輸出數(shù)據(jù)更加美觀實(shí)用,同時(shí)還可以給數(shù)據(jù)庫(kù)建立一個(gè)登錄名,或多個(gè)登陸,只要是公司的員工就可以登錄輸入自己的個(gè)人信息,另外每個(gè)部門(mén)都建立獨(dú)立的表,可以給表設(shè)置對(duì)員工的權(quán)限。員工一般只有查看的功能,而人力資源部門(mén)可以對(duì)信息進(jìn)行添加,修改,刪除的權(quán)限。然后程序不能很好的完成刪除的功能,還有相關(guān)的修改功能也
16、沒(méi)實(shí)現(xiàn),這是我要加強(qiáng)此程序功能的方向。感想與總結(jié):花了很多時(shí)間在這個(gè)程序上,雖然最后還是留下很多不足,可是我覺(jué)得結(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)很多問(wèn)題,這時(shí)你會(huì)花很多時(shí)間去該,要是改不好就是前工盡棄了。然后就是學(xué)好一門(mén)計(jì)算機(jī)語(yǔ)言很重要的,不然就會(huì)在程序編寫(xiě)時(shí)候很吃虧。不過(guò)我好自豪,因?yàn)槲业某绦螂m簡(jiǎn)單但是我是認(rèn)真的作者
17、的,而且是自己設(shè)計(jì)的,一個(gè)小小的系統(tǒng)花了我不少的努力,我也會(huì)繼續(xù)加強(qiáng)計(jì)算機(jī)語(yǔ)言的學(xué)習(xí)。部分源代碼展示:1, employee類(lèi)為基類(lèi)派生出來(lái)了salesman類(lèi),salesmanager類(lèi),technician類(lèi),manager類(lèi),頭文件代碼如下:/employee.hclass employeeprotected:char sex5;/性別char hobit10;/愛(ài)好char name20;/姓名char job20;/工作類(lèi)型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ù)人員類(lèi)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/兼職推銷(xiāo)員類(lèi)protected:float CommRate;/按銷(xiāo)售額提取酬金的百分比f(wàn)loat sales;/當(dāng)月銷(xiāo)售額public:salesman();salesman()/構(gòu)造函數(shù)void Setsales(float sl); /設(shè)置銷(xiāo)售額函數(shù)void pay();/計(jì)算月薪函數(shù)void promote(int);/升級(jí)函數(shù);class manager:virtual public employee/經(jīng)理類(lèi)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 /銷(xiāo)售經(jīng)理類(lèi)public:salesmanager();/構(gòu)造函數(shù)void pay();/計(jì)算月薪函數(shù)void promote(int);/升級(jí)函數(shù)salesmanager();2,類(lèi)成員函數(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)用基類(lèi)升級(jí)函數(shù),升2級(jí)salesman:salesman()CommRate=0.04f;/銷(xiāo)售提成比例4%void salesman:Setsales(float sl)sales=sl;/設(shè)置銷(xiāo)售額void salesman:pay()accumPay=sales*CommRate;/月薪=銷(xiāo)售提成void salesman:promote(int)employee:promot
25、e(0); /調(diào)用基類(lèi)升級(jí)函數(shù),升0級(jí)manager:manager()monthlyPay=80000;/固定月薪8000元void manager:pay()accumPay=monthlyPay;/月薪總額即固定月薪數(shù)void manager:promote(int )employee:promote(3);/調(diào)用基類(lèi)升級(jí)函數(shù),升3級(jí)salesmanager:salesmanager()monthlyPay=5000;CommRate=0.005f;void salesmanager:pay()accumPay=monthlyPay+CommRate*sales; /月薪=固定月薪+銷(xiāo)售
26、提成void salesmanager:promote(int)employee:promote(2);/調(diào)用基類(lèi)升級(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)新的部分:人力資源部門(mén)的人員信息輸入代碼此代碼是實(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(), 愛(ài)好: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; /聲明查詢(xún)對(duì)話(huà)框?qū)ο骾f(ed.DoModal()=IDOK)/調(diào)用查詢(xún)對(duì)話(huà)框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; /聲明查詢(xún)對(duì)話(huà)框?qū)ο骾f(ed.DoModal()=IDOK)/調(diào)用查詢(xún)對(duì)話(huà)框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; /聲明查詢(xún)對(duì)話(huà)框?qū)ο骾f(ed.DoModal()=IDOK)/調(diào)用查詢(xún)對(duì)話(huà)框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)/與查詢(xún)名比較flag=TRUE;name_str+=被查詢(xún)到,要顯示該人員信息嗎?; if(MessageBox(name_str,提示對(duì)話(huà)框,100)=IDYES)CDl
33、ginfomation pDlg;/聲明顯示對(duì)話(huà)框?qū)ο髉Dlg.m_strInfoName = ed.m_strQueryName;pDlg.m_strInfomationSalary = c_str;pDlg.DoModal();/調(diào)用顯示對(duì)話(huà)框;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(),愛(ài)好:m1.Gethobit() endl; infile.close(); MessageBox(信息存儲(chǔ)完畢!,存儲(chǔ)信息對(duì)話(huà)框);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; /聲明查詢(xún)對(duì)話(huà)框?qū)ο骾f(ed.DoModal()=IDOK)/調(diào)用查詢(xún)對(duì)話(huà)框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)/與查詢(xún)名比f(wàn)lag=1;ai=i;infile.close();if(flag=0) MessageBox(查詢(xún)無(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類(lèi)的源代碼
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ù)超過(guò)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(), 愛(ài)好:m1.Gethobit()endl; infile.close(); MessageBox(信息存儲(chǔ)完畢!,存儲(chǔ)信息對(duì)話(huà)框);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(), 愛(ài)好:m2.Gethobit()endl; infile.close(); MessageBox(信息存儲(chǔ)完畢!,存儲(chǔ)信息對(duì)話(huà)框);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(),愛(ài)好:m3.
58、Gethobit() endl; infile.close(); MessageBox(信息存儲(chǔ)完畢!,存儲(chǔ)信息對(duì)話(huà)框);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ú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 信用合作社互聯(lián)網(wǎng)金融業(yè)務(wù)監(jiān)管考核試卷
- 寵物飼料適口性改善研究考核試卷
- 2024鴨苗配送加盟代理合同范本(含養(yǎng)殖廢棄物無(wú)害化處理)3篇
- 化工企業(yè)危機(jī)管理與應(yīng)對(duì)考核試卷
- 農(nóng)業(yè)金屬工具的力學(xué)性能測(cè)試考核試卷
- 鐵板輸送機(jī)課課程設(shè)計(jì)
- 2025年全球及中國(guó)法律顧問(wèn)服務(wù)平臺(tái)行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 船舶工程課程設(shè)計(jì)
- 電子計(jì)數(shù)器課程設(shè)計(jì)
- 課程設(shè)計(jì)理念 大學(xué)體育
- 公路工程施工現(xiàn)場(chǎng)安全檢查手冊(cè)
- 公司組織架構(gòu)圖(可編輯模版)
- 1汽輪機(jī)跳閘事故演練
- 陜西省銅川市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)
- 禮品(禮金)上交登記臺(tái)賬
- 北師大版七年級(jí)數(shù)學(xué)上冊(cè)教案(全冊(cè)完整版)教學(xué)設(shè)計(jì)含教學(xué)反思
- 2023高中物理步步高大一輪 第五章 第1講 萬(wàn)有引力定律及應(yīng)用
- 青少年軟件編程(Scratch)練習(xí)題及答案
- 浙江省公務(wù)員考試面試真題答案及解析精選
- 系統(tǒng)性紅斑狼瘡-第九版內(nèi)科學(xué)
- 全統(tǒng)定額工程量計(jì)算規(guī)則1994
評(píng)論
0/150
提交評(píng)論