




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、懷化學(xué)院計(jì)算機(jī)系高級(jí)語言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告書簡(jiǎn)單的工資管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)學(xué)生姓名:*學(xué)號(hào):年級(jí)專業(yè)及班級(jí):指導(dǎo)老師及職稱:湖南懷化提交日期: 2010 年 12 月簡(jiǎn)單的工資管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)學(xué)生:指導(dǎo)老師:摘要: 本程序主要是為了訓(xùn)練的自己的基本編程能力,了解信息管理系統(tǒng)的開發(fā)流程,熟悉 C+語言的各種基本操作。 本程序涉及結(jié)構(gòu)體、 單鏈表、 文件等方面的知識(shí)。 通過本程序的訓(xùn)練,能使我們對(duì) C+語言的操作有一個(gè)更深刻的了解,掌握實(shí)現(xiàn)對(duì)員工工資的管理,使我們能運(yùn)用平時(shí)學(xué)到的東西來處理身邊的事情,為進(jìn)一步開發(fā)出高質(zhì)量的管理系統(tǒng)打下堅(jiān)實(shí)的基礎(chǔ)。許多過去有人工處理的繁雜
2、事物開始交付計(jì)算機(jī)來完成。員工工資管理系統(tǒng)可以說是每個(gè)企事業(yè)單位的得力助手, 它利用計(jì)算機(jī)對(duì)員工工資進(jìn)行統(tǒng)一管理,實(shí)現(xiàn)員工工資發(fā)放工資及單位工資管理等工作流程的系統(tǒng)化、規(guī)范化和自動(dòng)化,提高單位的運(yùn)作效率。因此,工資管理系統(tǒng)對(duì)企事業(yè)單位起著越來越重要的作用。關(guān)鍵詞 :;工資管理;排序;查詢;刪除;修改;C+;1 前言C+程序語言設(shè)計(jì)是一門程序設(shè)計(jì)語言,本次課程設(shè)計(jì)是主要運(yùn)用C+程序語言來實(shí)現(xiàn)的,通過此次的設(shè)計(jì)我了解了C+的類和對(duì)象,調(diào)用庫(kù)函數(shù)、引用變量,函數(shù)等的處理,還有就是文件的讀入與讀出,本次程序設(shè)計(jì)的目的是簡(jiǎn)單的工資管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn), 從鍵盤輸入:編號(hào)、姓名、部門、基本工資、獎(jiǎng)金、電話
3、補(bǔ)助、月房租、水電費(fèi) ,統(tǒng)計(jì)每人的應(yīng)發(fā)工資、實(shí)發(fā)工資 , 統(tǒng)計(jì)各部門的應(yīng)發(fā)工資、實(shí)發(fā)工資 , 實(shí)現(xiàn)員工工資發(fā)放工資及單位工資管理等工作流程的系統(tǒng)化、規(guī)范化和自動(dòng)化,提高單位的運(yùn)作效率。在此次的課程設(shè)計(jì)中除了主要是用C+程序語言完成以外, 還運(yùn)用函數(shù)調(diào)用文件的讀入與讀出,還有將一些數(shù)據(jù)進(jìn)行排序、刪除、修改、查詢等基本的算法。字符串和數(shù)值的輸入分別采用了函數(shù)來實(shí)現(xiàn),在函數(shù)中完成輸入數(shù)據(jù)任務(wù),并對(duì)數(shù)據(jù)進(jìn)行條件判斷。通過這次課程設(shè)計(jì)我覺得對(duì)于C+的運(yùn)用更深一層了。2 算法分析開始以可讀寫的方式打開一個(gè)數(shù)據(jù)文件將此文件的內(nèi)容讀出并存入一個(gè)新的單鏈表中調(diào)用 Select()菜單函數(shù)進(jìn)入主界面進(jìn)入 swit
4、ch 函數(shù)輸入09中的一數(shù)值,選擇相應(yīng)操作輸入是否否為 0?是判斷鍵值,調(diào)用相應(yīng)函數(shù),完成相應(yīng)功能是否已對(duì)修改進(jìn)行了存盤?是否調(diào)用 SaveToFile ()函數(shù)進(jìn)行寫數(shù)據(jù)文件結(jié)束3實(shí)現(xiàn)方法采用 C+語言來完成采用 color 函數(shù)對(duì)控制臺(tái)顏色進(jìn)行控制。其主要功能由以下代碼實(shí)現(xiàn)1 )用類定義員工基本信息class YuanGongint ID;ETDepartment()=str)YGj.SET( YGj.GETID() ,YGj.GETName(),YGj.GETDepartment(),YGj.GETBaseSalary()+sub_BaseSalary,YGj.GETReward()+s
5、ub_Reward,YGj.GETTelephoneSubsidies()+sub_TelephoneSubsidies,YGj.GETRoomCharge()+sub_RoomCharge,YGj.GETUtilities()+sub_Utilities,YGj.GETShouldPay()+sub_BaseSalary+sub_Reward+sub_TelephoneSubsidies, YGj.GETPaid()+sub_RoomCharge+sub_Utilities);4)修改部門數(shù)據(jù)DPi.SET(DPi.GETName(),DPi.GETNumOfPeople(),DPi.GET
6、ShouldPay_all()+sub_BaseSalary+sub_Reward+sub_TelephoneSubsidies,DPi.GETPaid_all()+sub_RoomCharge+sub_Utilities);cout修改成功 !n;system(pause);return ;5) 刪除員工信息void Delete(int &Num_D,int &Num_P,DEPARTMENT *DP,YuanGong *YG)int n,i,j,k;system(cls);coutn;ETID()=n) break;if(i=Num_P) cerr 沒有找到該員工 ,請(qǐng)檢查你的輸入!n;
7、system(pause);return;ETName()=YGi.GETDepartment()ETNumOfPeople()=1)ET( DPj.GETName() , DPj.GETNumOfPeople()-1 ,DPj.GETShouldPay_all()-YGi.GETShouldPay() ,DPj.GETPaid_all()-YGi.GETPaid() );ETName()setiosflags(ios:left)setw(8)YGi.GETID()setiosflags(ios:left)setw(6)YGi.GETDepartment()setiosflags(ios:le
8、ft)setw(8)YGi.GETBaseSalary()setiosflags(ios:left)setw(8)YGi.GETReward()setiosflags(ios:left)setw(10)YGi.GETTelephoneSubsidies()setiosflags(ios:left)setw(8)YGi.GETRoomCharge()setiosflags(ios:left)setw(8)YGi.GETUtilities()setiosflags(ios:left)setw(6)YGi.GETShouldPay()setiosflags(ios:left)setw(6)YGi.G
9、ETPaid()endl;();cout保存成功 !n;system(pause);8)主函數(shù) main() 執(zhí)行int main()int NumOfPeople=0;int NumOfDepartment=0;DEPARTMENT *DP=new DEPARTMENTD;YuanGong *YG=new YuanGong P ;welcome();ReadFile(NumOfDepartment,NumOfPeople,DP,YG);doswitch(Select()case 1: InsertNEW(NumOfDepartment,NumOfPeople,DP,YG);break;cas
10、e 2: TypeAllPeople(NumOfPeople,YG);break;case 3: TypeAllDepartment(NumOfDepartment,DP);break; case 4:SortBySalary(NumOfDepartment,NumOfPeople,DP,YG);TypeAllPeople(NumOfPeople,YG );SortByID(NumOfDepartment,NumOfPeople,DP,YG); break;case 5: Modify_Salary(NumOfDepartment,NumOfPeople,DP,YG);break;case 6
11、: Delete(NumOfDepartment,NumOfPeople,DP,YG);break;case 7: Search(NumOfDepartment,NumOfPeople,DP,YG);break;case 8: ChangeALL(NumOfDepartment,NumOfPeople,DP,YG);break;case 9: SaveToFile(NumOfDepartment,NumOfPeople,DP,YG);break;case 0: end_face();break;4調(diào)試問題數(shù)據(jù)在輸出時(shí)因?yàn)閿?shù)據(jù)輸入存在問題,沒有把員工的工資信息全部統(tǒng)計(jì)出來。顯示如下:經(jīng)修改后顯示
12、全部相關(guān)信息,正確信息如下:5. 系統(tǒng)的使用說明書. 功能:完成員工資料、記錄的常用操作,對(duì)員工的相關(guān)資料及記錄進(jìn)行管理。使用方法:當(dāng)用戶運(yùn)行程序時(shí),主函數(shù)會(huì)循環(huán)調(diào)用目錄函數(shù)提示用戶選擇想要的操作,直到用戶輸入0 退出程序,每次顯示目錄都會(huì)進(jìn)行清屏操作,保存界面的簡(jiǎn)單化主界面。1).創(chuàng)建工資檔案當(dāng)用戶選擇操作1 鍵盤輸入個(gè)人記錄時(shí)會(huì)提示用戶輸入員工的各項(xiàng)信息,循環(huán)輸入直到用戶在編號(hào)輸入時(shí)輸入0,返回主界面。在輸入的時(shí)候,如果用戶輸入不合法的信息會(huì)提示用戶并要求其重新輸入該項(xiàng)信息。2). 顯示所有員工應(yīng)發(fā)工資和實(shí)發(fā)工資當(dāng)系統(tǒng)內(nèi)已經(jīng)有信息并且用戶選擇操作2 的時(shí)候,系統(tǒng)會(huì)顯示所有員工的應(yīng)發(fā)工資和實(shí)
13、發(fā)工資,如果沒有員工記錄會(huì)提示相關(guān)信息3). 統(tǒng)計(jì)各部門應(yīng)發(fā)工資和實(shí)發(fā)工資當(dāng)用戶輸入 3 要求查詢部門信息時(shí),系統(tǒng)會(huì)顯示個(gè)部門的應(yīng)發(fā)工資和實(shí)發(fā)工資,如果還沒有部門信息會(huì)提示相關(guān)提示消息4). 按工資排序當(dāng)用戶輸入 4 要求對(duì)員工工資排序時(shí),系統(tǒng)會(huì)提供兩種排序方式:工資的升序排序,當(dāng)無員工信息時(shí)會(huì)顯示相關(guān)信息5).修改工資信息當(dāng)用要求修改刪除添加員工信息并輸入5 時(shí),會(huì)提示用戶輸入員工編號(hào),如果有此員工就顯示此員工的信息。 會(huì)提示用戶選擇所要修改的選項(xiàng)。然后輸入序號(hào)鍵入新值。6)刪除工資信息當(dāng)用戶輸入 6 時(shí),進(jìn)行刪除工資功能。按提示輸入員工編號(hào)刪除。7)查找工資信息當(dāng)用戶輸入 7 時(shí),進(jìn)行查找
14、功能,輸入編號(hào)如果找到則顯示出此編號(hào)員工的相關(guān)信息,否則提示相關(guān)消息8)工資的變動(dòng)當(dāng)用戶輸入 8 時(shí),顯示“輸入修改數(shù)據(jù)的部門” ,按提示輸入部門,然后輸入要修改的選項(xiàng)9).保存所有資料到文件當(dāng)用戶需要對(duì)所操作的信息進(jìn)行存檔操作時(shí)選擇9 。10) .退出系統(tǒng)當(dāng)用戶輸入 0 進(jìn)行退出系統(tǒng)6結(jié)論課程設(shè)計(jì)是我們專業(yè)課程知識(shí)綜合應(yīng)用的實(shí)踐訓(xùn)練,著是我們邁向社會(huì),從事職業(yè)工作前一個(gè)必不少的過程”千里之行始于足下”,通過這次課程設(shè)計(jì),我深深體會(huì)到這句千古名言的真正含義我今天認(rèn)真的進(jìn)行課程設(shè)計(jì),學(xué)會(huì)腳踏實(shí)地邁開這一步,就是為明天能穩(wěn)健地在社會(huì)大潮中奔跑打下堅(jiān)實(shí)的基礎(chǔ)。隨著科學(xué)的發(fā)展和社會(huì)的進(jìn)步,許多過去有人
15、工處理的繁雜事物開始交付計(jì)算機(jī)來完成。員工工資管理系統(tǒng)可以說是每個(gè)企事業(yè)單位的得力助手,它利用計(jì)算機(jī)對(duì)員工工資進(jìn)行統(tǒng)一管理,實(shí)現(xiàn)員工工資發(fā)放工資及單位工資管理等工作流程的系統(tǒng)化、規(guī)范化和自動(dòng)化,提高單位的運(yùn)作效率。參考文獻(xiàn)1 譚浩強(qiáng) .C+程序設(shè)計(jì), - 北京:清華大學(xué)出版社,2伍良俊 .Visual C+課程設(shè)計(jì)與系統(tǒng)開發(fā)案例,- 北京:清華大學(xué)出版社,致謝本報(bào)告是在老師的悉心指導(dǎo)和熱情關(guān)懷下完成的,在此謹(jǐn)向姚老師致以誠(chéng)摯的謝意,祝老師工作順利,身體健康。附錄#include#include#include#include#include#include#define INDEX 姓名編號(hào)部
16、門基本工資獎(jiǎng)金電話補(bǔ)助月房租水電費(fèi)應(yīng)付已付 nusing namespace std;const int P=100;const int D=50;class DEPARTMENT;ET(ID,name,Department,BaseSalary,Reward,TelephoneSubsidies,RoomCharge,Utilities,BaseSalary+Reward+TelephoneSubsidies ,RoomCharge+Utilities);for(i=0;iNum_D;i+)if(Department=DPi.GETName() break;ET(Department,DPi
17、.GETNumOfPeople()+1,DPi.GETShouldPay_all()+BaseSalary+Reward+TelephoneSubsidies,DPi.GETPaid_all()+RoomCharge+Utilities);if(i=Num_D) Num_D+;();cout讀取完成 !n;.endlendl;cout菜單選項(xiàng)endl;cout1.創(chuàng)建工資檔案endl;cout2.每人的應(yīng)發(fā)工資、實(shí)發(fā)工資 endl;cout3.部門的應(yīng)發(fā)工資、實(shí)發(fā)工資endl;cout4.工資的排序endl;cout5.修改工資信息endl;cout6.刪除工資信息endl;cout7.查找工
18、資信息endl;cout8.某條件下對(duì)工資的變動(dòng)endl;cout9.工資信息保存在文本文件endl;cout0.退出endlendl;cout.endlendl;coutchoose;while(choose9);return choose;ET(ID,name,Department,BaseSalary,Reward,TelephoneSubsidies,RoomCharge,Utilities,BaseSalary+Reward+TelephoneSubsidies ,RoomCharge+Utilities);for(i=0;iNum_D;i+)if(Department=DPi.GE
19、TName() break;ET(Department,DPi.GETNumOfPeople()+1,DPi.GETShouldPay_all()+BaseSalary+Reward+TelephoneSubsidies,DPi.GETPaid_all()+RoomCharge+Utilities);if(i=Num_D) Num_D+;coutc;if(c=y|c=Y) InsertNEW(Num_D,Num_P,DP,YG);ETName()setiosflags(ios:left)setw(8)YGi.GETID()setiosflags(ios:left)setw(6)YGi.GETD
20、epartment()setiosflags(ios:left)setw(8)YGi.GETBaseSalary()setiosflags(ios:left)setw(8)YGi.GETReward()setiosflags(ios:left)setw(10)YGi.GETTelephoneSubsidies()setiosflags(ios:left)setw(8)YGi.GETRoomCharge()setiosflags(ios:left)setw(8)YGi.GETUtilities()setiosflags(ios:left)setw(6)YGi.GETShouldPay()seti
21、osflags(ios:left)setw(6)YGi.GETPaid()endl;system(pause);ETName()setiosflags(ios:left)setw(6)DPi.GETNumOfPeople()setiosflags(ios:left)setw(6)DPi.GETShouldPay_all()setiosflags(ios:left)setw(6)DPi.GETPaid_all()endl;system(pause);ETID()=n) break;if(i=Num_P) cerr 沒有找到該員工 ,請(qǐng)檢查你的輸入!n;system(pause);return;E
22、TName()=YGi.GETDepartment()ETNumOfPeople()=1)ET( DPj.GETName() , DPj.GETNumOfPeople()-1 ,DPj.GETShouldPay_all()-YGi.GETShouldPay() ,DPj.GETPaid_all()-YGi.GETPaid() );ETID()coutINDEX;coutsetiosflags(ios:left)setw(6)YGi.GETName()setiosflags(ios:left)setw(8)YGi.GETID()setiosflags(ios:left)setw(6)YGi.GE
23、TDepartment()setiosflags(ios:left)setw(8)YGi.GETBaseSalary()setiosflags(ios:left)setw(8)YGi.GETReward()setiosflags(ios:left)setw(10)YGi.GETTelephoneSubsidies()setiosflags(ios:left)setw(8)YGi.GETRoomCharge()setiosflags(ios:left)setw(8)YGi.GETUtilities()setiosflags(ios:left)setw(6)YGi.GETShouldPay()se
24、tiosflags(ios:left)setw(6)YGi.GETPaid()endl;system(pause);return ;ETID()ETName()setiosflags(ios:left)setw(8)YGi.GETID()setiosflags(ios:left)setw(6)YGi.GETDepartment()setiosflags(ios:left)setw(8)YGi.GETBaseSalary()setiosflags(ios:left)setw(8)YGi.GETReward()setiosflags(ios:left)setw(10)YGi.GETTelephon
25、eSubsidies()setiosflags(ios:left)setw(8)YGi.GETRoomCharge()setiosflags(ios:left)setw(8)YGi.GETUtilities()setiosflags(ios:left)setw(6)YGi.GETShouldPay()setiosflags(ios:left)setw(6)YGi.GETPaid()k;cout BaseSalary;break;case 2:cin Reward;break;case 3:cin TelephoneSubsidies;break;case 4:cin RoomCharge;br
26、eak;case 5:cin Utilities;break;t_s=BaseSalary+Reward+TelephoneSubsidies;t_p=RoomCharge+Utilities; ETName()=Department) DPj.SET( DPj.GETName() , DPj.GETNumOfPeople() , DPj.GETShouldPay_all()+t_s-YGi.GETShouldPay(), DPj.GETPaid_all()+t_p-YGi.GETPaid() );break;ET(ID,Name,Department,BaseSalary,Reward,Te
27、lephoneSubsidies,RoomCharge,Utilities ,t_s,t_p);cout修改成功 !n;system(pause);return ;ETName()setiosflags(ios:left)setw(8)YGi.GETID()setiosflags(ios:left)setw(6)YGi.GETDepartment()setiosflags(ios:left)setw(8)YGi.GETBaseSalary()setiosflags(ios:left)setw(8)YGi.GETReward()setiosflags(ios:left)setw(10)YGi.G
28、ETTelephoneSubsidies()setiosflags(ios:left)setw(8)YGi.GETRoomCharge()setiosflags(ios:left)setw(8)YGi.GETUtilities()setiosflags(ios:left)setw(6)YGi.GETShouldPay()setiosflags(ios:left)setw(6)YGi.GETPaid()endl;();cout保存成功 !n;system(pause);ETName() ;coutstr;for(i=0;ik;ETDepartment()=str)YGj.SET( YGj.GET
29、ID() ,YGj.GETName(),YGj.GETDepartment(),YGj.GETBaseSalary()+sub_BaseSalary,YGj.GETReward()+sub_Reward,YGj.GETTelephoneSubsidies()+sub_TelephoneSubsidies,YGj.GETRoomCharge()+sub_RoomCharge,YGj.GETUtilities()+sub_Utilities,YGj.GETShouldPay()+sub_BaseSalary+sub_Reward+sub_TelephoneSubsidies, YGj.GETPaid()+sub_RoomCharge+sub_Utilities);ET(DPi.GETName(),DPi.GETNumOfPeople(),DPi.GETShouldPay_all()+sub_Bas eSalary+sub_Reward+sub_TelephoneSubsidies,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 產(chǎn)業(yè)園區(qū)入駐合同協(xié)議
- 關(guān)于推進(jìn)跨部門合作項(xiàng)目的工作計(jì)劃
- 關(guān)于采購(gòu)流程的往來文書說明
- 商務(wù)會(huì)議溝通要點(diǎn)及會(huì)議紀(jì)要模板
- 健康管理平臺(tái)的構(gòu)建及運(yùn)營(yíng)規(guī)劃
- 機(jī)器人智能化生產(chǎn)線建設(shè)委托代理合同
- 交通物流調(diào)度管理系統(tǒng)建設(shè)方案
- 房屋預(yù)約買賣合同
- 木材原木購(gòu)銷合同
- 2025年版《認(rèn)識(shí)大熊貓》課件發(fā)布
- 中國(guó)計(jì)量大學(xué)《微機(jī)原理及其應(yīng)用》2021-2022學(xué)年第一學(xué)期期末試卷
- 中國(guó)技能大賽-第45屆世界技能大賽全國(guó)選拔賽“水處理技術(shù)”項(xiàng)目技術(shù)工作文件
- 混凝土工安全教育培訓(xùn)試題及答案
- 臨床家庭化產(chǎn)房開展經(jīng)驗(yàn)分享
- 安徽省六安市裕安區(qū)六安市獨(dú)山中學(xué)2024-2025學(xué)年高一上學(xué)期11月期中生物試題(含答案)
- 低血糖的護(hù)理查房
- GB/T 44718-2024城市軌道交通無障礙運(yùn)營(yíng)服務(wù)規(guī)范
- DB41T 2567-2023 消防技術(shù)服務(wù)機(jī)構(gòu)服務(wù)規(guī)范
- 2024年職工普法教育宣講培訓(xùn)課件
- 音樂鑒賞與實(shí)踐 第一單元第四課音樂的力量(下)
- 《外科護(hù)理學(xué)(第七版)》考試復(fù)習(xí)題庫(kù)-上(單選題)
評(píng)論
0/150
提交評(píng)論