C程序設(shè)計(jì)工資管理系統(tǒng)2_第1頁(yè)
C程序設(shè)計(jì)工資管理系統(tǒng)2_第2頁(yè)
C程序設(shè)計(jì)工資管理系統(tǒng)2_第3頁(yè)
C程序設(shè)計(jì)工資管理系統(tǒng)2_第4頁(yè)
C程序設(shè)計(jì)工資管理系統(tǒng)2_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、沈陽(yáng)航空航天大學(xué)課程設(shè)計(jì)學(xué)號(hào) 2013040401222班級(jí)一34040105姓名指導(dǎo)教師2014 年9月5日沈陽(yáng)航空航天大學(xué)課程設(shè)計(jì)任務(wù)書系: 航空航天工程學(xué)部專業(yè): 飛行器動(dòng)力工程 班級(jí):34040105學(xué)號(hào): 2013040401222 題目:工資管理系統(tǒng) 2一、課程設(shè)計(jì)時(shí)間201415 第 1 學(xué)期第 1 周,即 9 月 1 日9 月 5 日,共計(jì) 1周, 20學(xué)時(shí)。二、課程設(shè)計(jì)內(nèi)容用 C 語(yǔ)言編寫軟件完成以下任務(wù):( 1)輸入職工數(shù)據(jù)(包括:職工號(hào),姓名,基本工資,補(bǔ)貼金額,獎(jiǎng) 勵(lì)金額,扣除金額、實(shí)發(fā)工資等)保存在 data22.txt 文件中。(實(shí)發(fā)工資 不用錄入。注:實(shí)發(fā)工資 =

2、基本工資補(bǔ)貼金額獎(jiǎng)勵(lì)金額 - 扣除金額。)( 2)統(tǒng)計(jì)實(shí)發(fā)工資并更新到 data22.txt 文件中。( 3)統(tǒng)計(jì):各項(xiàng)工資的總金額和平均金額。如:基本工資 補(bǔ)貼金額 獎(jiǎng)勵(lì)金額 扣除金額 實(shí)發(fā)工資 總和 12000 1300 1400 1500 13200 平均 1200 130 140 150 1320 人數(shù): 10( 4)建議使用 freadfwrite 函數(shù)訪問(wèn)文件。三、課程設(shè)計(jì)要求 程序質(zhì)量: 1貫徹結(jié)構(gòu)化程序設(shè)計(jì)思想。 2用戶界面友好,功能明確,操作方便;可以加入其它功能或修飾。 3用戶界面中的菜單至少應(yīng)包括 “職工信息錄入” 、“統(tǒng)計(jì)實(shí)發(fā)工資” “各項(xiàng)統(tǒng)計(jì)”和“退出” 4 項(xiàng)。4代

3、碼應(yīng)適當(dāng)縮進(jìn),并給出必要的注釋,以增強(qiáng)程序的可讀性。 課程設(shè)計(jì)說(shuō)明書:課程結(jié)束后, 上交課程設(shè)計(jì)說(shuō)明書和源程序。 課程設(shè)計(jì)說(shuō)明書的內(nèi) 容參見(jiàn)提供的模板。四、指導(dǎo)教師和學(xué)生簽字指導(dǎo)教師: 學(xué)生簽名: 五、成績(jī)六、教師評(píng)語(yǔ)沈陽(yáng)航空航天大學(xué)設(shè)計(jì)用紙目錄一、需求分析1二、設(shè)計(jì)分析2三、主要界面截圖 5四、技術(shù)要點(diǎn)7五、個(gè)人總結(jié)9六、參考文獻(xiàn) 10七、源程序10i一、需求分析根據(jù)任務(wù)書給定的“課程設(shè)計(jì)內(nèi)容”和“課程設(shè)計(jì)要 求”作如下的需求分析。該系統(tǒng)是一個(gè)較典型的數(shù)據(jù)管理系統(tǒng),其使用者被假 定為某辦公室的職工工資管理人員,系統(tǒng)涉及到企業(yè)誠(chéng) 信、資金安全及職工利益問(wèn)題,所以系統(tǒng)應(yīng)該具有穩(wěn)定、 準(zhǔn)確、功能齊

4、全的特點(diǎn)。1. 穩(wěn)定性分析指系統(tǒng)比較健壯,計(jì)算數(shù)據(jù)準(zhǔn)確,只要是用戶的合理 操作,系統(tǒng)都應(yīng)給出合理正確的回應(yīng), 而不是出現(xiàn)令用戶 感到意外的系統(tǒng)錯(cuò)誤或系統(tǒng)崩潰。2. 主要功能分析按照題目的要求及考慮到用戶操作方便等因素,可定 義以下自定義函數(shù):錄入職工信息函數(shù)(add),計(jì)算實(shí)發(fā)工 資函數(shù)(cal),統(tǒng)計(jì)函數(shù)(tol),查看個(gè)人工資明細(xì)(view) 以及主函數(shù)(main)。以下分別介紹:1、錄入職工信息函數(shù)(add)用戶可以輸入職工的職工號(hào),姓名等必要的信息,并 將這些職工信息存入文件data22.txt中;2、計(jì)算實(shí)發(fā)工資函數(shù)(cal)經(jīng)計(jì)算統(tǒng)計(jì)出每個(gè)職工的實(shí)發(fā)工資,并實(shí)時(shí)存入文件 data2

5、2.txt 中。3、統(tǒng)計(jì)函數(shù)(tol)按照題目的具體要求實(shí)現(xiàn)對(duì)各類金額數(shù)據(jù)的求和,求平均并顯示;4、顯示工資明細(xì)(view此功能用于查看各個(gè)職工的工資明細(xì),可以清楚的看到職工的基本工資,補(bǔ)貼金額,獎(jiǎng)勵(lì)金額,扣除金額及實(shí) 發(fā)工資分別是多少。除上面介紹的功能之外,程序還具有退出功能,可以 在程序的一次運(yùn)行當(dāng)中循環(huán)執(zhí)行所有的功能, 并根據(jù)需要 終止程序的執(zhí)行。沈陽(yáng)航空航天大學(xué)設(shè)計(jì)用紙二、設(shè)計(jì)分析本程序主要由四個(gè)自定義函數(shù)和一個(gè)主函數(shù)組成, 其 中主函數(shù)以菜單的形式調(diào)用其他函數(shù)來(lái)實(shí)現(xiàn)要求的所有 功能。在這些函數(shù)當(dāng)中,增加新職工數(shù)據(jù)函數(shù)和統(tǒng)計(jì)各項(xiàng) 工資的總金額和平均金額是程序中較為核心的部分,下面分別進(jìn)

6、行介紹:2、主要功能模塊框圖(1)錄入數(shù)據(jù)函數(shù)addprintf(請(qǐng)輸入職工數(shù)量”n);seanf( %d”,&n);for(j=0;jnumwork- n ame work-jibe n work-butie work-jia ngli work-kouchu循環(huán)work+Save()圖2錄入數(shù)據(jù)函數(shù)(2)統(tǒng)計(jì)各項(xiàng)工資的總金額和平均金額tolint sum1=0; float ave1=0;int sum2=0; float ave2=0;int sum3=0; float ave3=0;int sum4=0; float ave4=0;int sum5=0; float ave5=0;Fo

7、r(i=0;i n ;i+)Wori.num!=0真假Sum1+=wori.jibe nave1=sum1/ nprintf(總和t%dtt%dtt%dSum2+=wori.butieave2=sum2/ntt%dtt%dn,s um1,sum2,sum3,sSum3+=wori.jia ngliave3=sum3/num4,sum5); printf(平均Sum4+=wori.kouchuave4=sum4/nt%fn,ave1,ave2,Sum5+=wori.shifaave5=sum5/nave3,ave4,ave5);圖3統(tǒng)計(jì)函數(shù)18三、主要界面截圖MMMMHNKMMH MMH NKM

8、MWMMHNKMMMMMHMIMHMKMMM MXI1 NMMMH MMH MKB4H*耳曹耳務(wù)轉(zhuǎn)w務(wù)耳蔘耳嗎苗葺If;耳嗎苗葺耳務(wù)耳蓼WUPfW務(wù)耳* *MGONGZLGUANLIXITONGM*ftKM-M-WM我的長(zhǎng)i工責(zé)巷理至埼小工藥Debug毎洌e曲All 戶均肚盤 a” pro. by BAI SONG請(qǐng)按回車鍵進(jìn)人系統(tǒng)-M-BL專統(tǒng)查退鬼工數(shù)握保存到文件e: data22. t沌疋MVkW*M*圖4程序主界面0攏的長(zhǎng)設(shè)工磴轉(zhuǎn)垂蠢口SSlObu飢昔理.亡企*妊4 一重看職工個(gè)/工資汕旺* 0-退出KKHKMNMMMMM M KT M K M M K M M MM K M M K M

9、 M W M M M M K M M W H X M M M M MM M N IrfMKMMK穆輸入職工數(shù)量111請(qǐng)依次輸入職工的職工號(hào).姓名,基本工赍補(bǔ)貼金頷.獎(jiǎng)同噲額,扣除金瓠:91 liu bUU &UU &UU GUM02 uany 2SB 200 2&Q 2BG R3 2h4R9 ISO 100 100 10004 sun 3e0 390 369 300 H5 hs. 70U ?UU TflU 7tHRB song 弓靦 BBQ ESH BBS R? a:i 600 6胴 600 6朗B8 TDnr 200 260 200 200 HY uui 4tltJ -1UU 4W 1UUX

10、Mtaxt薊KM.t金MM亠22均平00中MH沖開的工數(shù)工工個(gè)工壽工K-義各職圖5職工數(shù)據(jù)輸入界面H |f 1甘姓名liuX1t : data22-txt I dat &22 . txt交件中 So平均金額0 - in圖6計(jì)算實(shí)發(fā)工資函數(shù)并顯示I P:攏的饒?jiān)O(shè)衛(wèi)5旦就孑.工迅D亡血昔淫,e肘liifi 査著職工個(gè)人工謚明M:冥搖屛養(yǎng)抵擁罷沌弭攝冥抵冥竝:M舅:擁擡樣犧:M買民娛抵屛冥堆擁冥淹擁抵;崔建 丫件 e:data22.txt data22 件中 *初平均金額 *0AR0如3?0.ft0l00fl3?0.000Mfl3?0,00nft0fl叭職工數(shù)握籬到來(lái)件總:ata22.txt 社-各

11、項(xiàng)工資的苴崟瓠和平均金額清職工個(gè)天工鋪堀圖7統(tǒng)計(jì)各項(xiàng)工資的總金額和平均金額界面口 I同T-1-S 和明 杯更忌浚 J茁工 嬰資- 工工個(gè) 項(xiàng)工 鑒各眼 人岀工號(hào)?8910姓名基本工資 liu yn z han 3( sun bai 盤on算 qi gong im jirig50B20B180300700500G002RH40020B* 1. * 2, * 氛 4. w 0.M#K扣除金額5 as4CM#M*M*M-ftk 葡 n w,r*沙22均補(bǔ)貼金額500200180HHM7SB500&082H040BS00獎(jiǎng)勵(lì)金頷5002B81083607005B06002湘4002B0100訕7005

12、80eaa”04EH29B實(shí)發(fā)工資 lose 408 200 遜 1400 1000 1200 400 800 4flB墜P數(shù)握:保磚到y(tǒng)件B Z at哼總 實(shí)發(fā)工賁并夏新邇1就心2 rtXt交件中 各項(xiàng)工資曲意金輪和平均金額 職工個(gè)人工謚明細(xì)int num; char n ame10; int jibe n;int butie;int jia ngli;int kouchu; int shifa;worSIZE;圖8職工工資明細(xì)查詢界面四、技術(shù)要點(diǎn)1、結(jié)構(gòu)體的應(yīng)用定義了結(jié)構(gòu)體用來(lái)描述職工的工號(hào)、姓名以及各項(xiàng)工 資的金額。具體的定義如下:struct work/定義結(jié)構(gòu)體/定義職工號(hào)為整形/定

13、義職工姓名為字符串?dāng)?shù)組/定義基本工資為整形/定義補(bǔ)貼金額為整形/定義獎(jiǎng)勵(lì)金額為整形/定義扣除金額為整形/定義實(shí)發(fā)金額為整形2、文件操作包括了文件的寫入和讀取兩個(gè)方面。文件的寫入操 作,用于保存錄入的職工數(shù)據(jù),也用于保存所修改的數(shù)據(jù)。 例如如下程序段用于保存錄入的職工信息:void save()FILE *fp;/定義文件型指針變量int i;if(fp=fopen(e:data22.txt,w+)=NULL)/ 以讀寫方式建立并打開文件data22.txtprin tf(ca nnot ope n this filen);return;for(i=0;iSIZE;i+)if(fwrite(&w

14、ori,sizeof(struct work),1,fp)!=1)/ 向文件中寫入職工信息prin tf(file write errorn);fclose(fp);/ 關(guān)閉文件以下程序段則用于讀取以寫入并保存的職工信:void read()FILE *fp;/定義文件型指針變量int i;if(fp=fopen(e:data22.txt,r+)=NULL)/ 以讀寫方式打開文件data22.txtprin tf(ca nnot ope n this filen);return;for(i=0;iSIZE;i+)if(fread(&wori,sizeof(struct work),1,fp)!

15、=1)/ 讀入文件中的職工信息prin tf(file read error n);fclose(fp);/ 關(guān)閉文件3、錄入職工信息職工信息包括職工號(hào),姓名,基本工資,補(bǔ)貼金額,獎(jiǎng)勵(lì)金額, 扣除金額和實(shí)發(fā)金額,本函數(shù)的功能是把職工信息寫入到文件中。 在程序中建立一個(gè)文件data22.txt。定義一個(gè)結(jié)構(gòu)體變量,輸入職 工的基本信息把職工信息寫入到文件中。之后再次輸入下一個(gè)職工 的編號(hào),直到達(dá)到循環(huán)次數(shù)自動(dòng)退出此函數(shù)。void add()聲明自定義函數(shù)int i,n;printf(請(qǐng)輸入職工數(shù)量n);sca nf(%d,&n);printf(請(qǐng)依次輸入職工的職工號(hào),姓名,基本工資,補(bǔ)貼金額,

16、獎(jiǎng)勵(lì)金額,扣除金額:n);for(i=0;i n ;i+)sca nf(%d%s%d%d%d%d,&wori. nu m,wori. name,&wori.jiben ,&wori.butie,&wori.jia ngli,&wori.kouchu);/ 輸入職工數(shù)據(jù)save();/調(diào)用文件儲(chǔ)存函數(shù),將數(shù)據(jù)存入文件printf(” 已保存到文件 data22.txt 中n);五、個(gè)人總結(jié)經(jīng)過(guò)了短短一周的C語(yǔ)言課程設(shè)計(jì),我對(duì)C語(yǔ)言有了更 進(jìn)一步的了解。懂得了將C程序模塊化的好處。用主函數(shù) 調(diào)用子函數(shù)的方法,可以把一個(gè)大的程序分成幾個(gè)小的程 序,這樣不僅降低了程序的難度還使程序的編輯思路更加 清晰

17、明了。在編制程序的過(guò)程中,我也遇到了許多較難解 決的問(wèn)題,例如:文件數(shù)據(jù)的儲(chǔ)存和讀取,語(yǔ)法錯(cuò)誤的查 找以及實(shí)現(xiàn)要求的C語(yǔ)句的編寫等問(wèn)題。不過(guò)在老師的幫 助和指導(dǎo)下,我逐個(gè)擊破了這些問(wèn)題。其中,我覺(jué)得統(tǒng)計(jì)各項(xiàng)工資的總金額和平均金額這項(xiàng)要求是最復(fù)雜的,因?yàn)樗婕暗降臄?shù)據(jù)比較多,編寫起來(lái)比較麻煩,費(fèi)時(shí)費(fèi)力。 但是經(jīng)過(guò)我的努力,我最終攻克了它,這也讓我更加堅(jiān)信 有志者事竟成的道理。總的來(lái)說(shuō),這次C語(yǔ)言課程設(shè)計(jì)的綜合訓(xùn)練讓我把以 前學(xué)到的理論知識(shí)在實(shí)際生活中得到了應(yīng)用,也讓我學(xué)會(huì) 了如何才能精益求精。六、參考文獻(xiàn)1譚浩強(qiáng).C程序設(shè)計(jì)(第三版)北京清華大學(xué)出版社2 道客巴巴 七、源程序#include#i

18、nclude#define SIZE 10 void topic();void menu();void add();void save();void read();void view();void cal();void tol();struct workint num;char name10;int jiben;int butie;int jiangli;int kouchu;int shifa;worSIZE;void main()int k;topic();printf(”請(qǐng)按回車鍵進(jìn)入系統(tǒng)); getchar();while(1)menu();scanf(%d,&k);switch(k)

19、case 1:add();break;case 2:cal();break;case 3:tol();break;case 4:view();break;case 0:return;defa ult: printf(你輸入的編號(hào)不正確!n); void topic()printf( *printf(*n);printf(*n);printf(*GONGZIGUANLIXITONG*n);printf(*n);printf(*n);printf(*n);printf( *printf(All rights are pro. by BAI SONGn);printf(*n);void menu()

20、prin tf(*n);printf(*1.輸入職工數(shù)據(jù),保存到文件e:data22.txt*n);printf(*2.統(tǒng)計(jì)實(shí)發(fā)工資并更新到data22.txt文件中*n);printf(*3.統(tǒng)計(jì)各項(xiàng)工資的總金額和平均金額*n);printf(*4.查看職工個(gè)人工資明細(xì)*n);printf(*0.退出*n);prin tf(*n);void add()int i,n;printf(”請(qǐng)輸入職工數(shù)量n);scanf(%d,&n);printf(請(qǐng)依次輸入職工的職工號(hào),姓名,基本工資,補(bǔ)貼金額,獎(jiǎng)勵(lì)金額,扣除金額:n);for(i=0;in;i+)scanf(%d%s%d%d%d%d,&wori

21、.num,,&wori.jiben,&wori.butie,&wori.jiangli,&wori.kouchu);save();printf(已保存到文件 data22.txt 中 n); void cal()read();printf(姓名t實(shí)發(fā)工資n);int i;for(i=0;iSIZE;i+)wori.shifa=wori.jiben+wori.butie+wori.jiangli-wori.kouchu; printf(%st%dn,,wori.shifa);save();void save()FILE *fp;int i;if(fp=fopen(e:data22.txt,w+)=NULL)printf(cannot open this filen); return;for(i=0;iSIZE;i+)if(fwrite(&wori,sizeof(struct work),1,fp)!=1)printf(file write errorn);fclose(fp); void read()FILE *fp;int i;if(fp=fopen(e:data22.txt,r+)=NULL)printf(cannot open this filen);return;for(i=0;iSIZ

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論