C語言職工工資管理系統(tǒng)(共13頁)_第1頁
C語言職工工資管理系統(tǒng)(共13頁)_第2頁
C語言職工工資管理系統(tǒng)(共13頁)_第3頁
C語言職工工資管理系統(tǒng)(共13頁)_第4頁
C語言職工工資管理系統(tǒng)(共13頁)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上昆明理工大學(xué) 程序設(shè)計(jì)基礎(chǔ)課程綜合設(shè)計(jì)實(shí)踐教學(xué)課題報(bào)告課程名稱: c語言程序設(shè)計(jì) 課題名稱: 職工工資管理程序設(shè)計(jì) 組 長: 學(xué)號(hào) 1姓名李雙江組 員: 學(xué)號(hào) 6姓名王洪雨學(xué) 院: 電力工程學(xué)院 專業(yè)班級(jí): 水文與水資源工程 指導(dǎo)教師: 張啟富 昆明理工大學(xué)計(jì)算中心2006 年 6 月 12 日昆明理工大學(xué)計(jì)算中心程序設(shè)計(jì)基礎(chǔ)課程綜合設(shè)計(jì)實(shí)踐教學(xué)課題考核表課題名稱:職工工資管理程序設(shè)計(jì) 學(xué)院:電力工程學(xué)院 專業(yè)班級(jí):水文051 學(xué)號(hào)姓名小組編號(hào)題號(hào)承擔(dān)及完成的內(nèi)容成績備注小組自評(píng)教師評(píng)定1李雙江1. 選項(xiàng)菜單集成各功能函數(shù)模塊2 . 職工工資進(jìn)行排序并存入文件8092

2、6王洪雨1 錄入職工工資信息2. 將排序后的文件輸出并顯示在屏幕上7575設(shè)計(jì)說明與功能描述(基本思路及關(guān)鍵語句說明)該程序首先是對(duì)程序中要產(chǎn)生的一些函數(shù)的定義,再在主函數(shù)中對(duì)它們進(jìn)行調(diào)用。從而形成一套有條理的程序設(shè)計(jì),并且能夠很好的達(dá)到程序設(shè)計(jì)的目的。程序中,我們運(yùn)用了語句,極其指針、文件等,方便的執(zhí)行了對(duì)數(shù)據(jù)的操作。職工信息管理系統(tǒng)提供以下幾個(gè)功能:1錄入職工基本信息:錄入要管理統(tǒng)計(jì)的職工信息。2匯總職工信息:計(jì)算職工的總工資。3排序并將數(shù)據(jù)存入文件:按總工資降序排列并將數(shù)據(jù)存入D盤空間。4輸出數(shù)據(jù)表:將錄入的職工數(shù)據(jù)輸出。 組長簽名: 200 6 年 6 月 12 日教師評(píng)語:按要求完成

3、綜合設(shè)計(jì)課題,符合教學(xué)要求,應(yīng)用能力與實(shí)踐能力有明顯提高 教師簽名:張啟富 2006 年 6 月 16 日 第一部分 系統(tǒng)概述一、程序功能: 隨著社會(huì)的發(fā)展,中小型企業(yè)在我國得到迅速發(fā)展,工資管理系統(tǒng)對(duì)企業(yè)的資金管理,起著越來越重要的作用。本程序就是為了更好更快的管理職建立的工工資而。它從標(biāo)準(zhǔn)輸入設(shè)備(鍵盤)上輸入一批職工工資信息,計(jì)算總工資,并按工資降序排序,最后輸出到文件中,并將其顯示到顯示器上。二、程序算法:從主菜單中選擇相對(duì)應(yīng)的數(shù)字,使程序進(jìn)入不同的程序模塊,用switch實(shí)現(xiàn)其功能,程序共分為五個(gè)模塊,分別為:主函數(shù)、Input( )函數(shù)(輸入函數(shù))、Paixu_fout(rs)函數(shù)

4、(計(jì)算職工工資信息并輸入文件)、Output(rs)輸出函數(shù)(從文件中讀入信息并將其輸出到顯示器)。各函數(shù)主要算法見個(gè)流程圖第二部分 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)三、定義結(jié)構(gòu)體: 定義一個(gè)包括職工信息極其工資基本信息,包括基本工資、獎(jiǎng)金及其津貼,以及總工資的結(jié)構(gòu)體。如下面所所示:structXSchar gh10;char name10;int salary;intreward;intjintie;intsum;cjRS,jd;四、數(shù)組設(shè)計(jì): 程序中定義是兩個(gè)字符型數(shù)組結(jié)構(gòu)和一個(gè)結(jié)構(gòu)體數(shù)組: 字符數(shù)組gh10在結(jié)構(gòu)體中用于保存職工工號(hào),name10用于保存職工姓名,結(jié)構(gòu)體數(shù)組cjRS保存學(xué)生的所有信息。五、函

5、數(shù)定義: 程序中定義了3個(gè)功能函數(shù),它們是輸入職工信息輸入函數(shù)Input();排序并將職工信息輸入文件函數(shù)Paixu_fout(rs);輸出學(xué)生信息函數(shù)Output(int rs)。最后是主函數(shù)main()來調(diào)用以上3個(gè)函數(shù)。主函數(shù)流程圖程序結(jié)束輸入數(shù)據(jù)排序并存檔輸出數(shù)據(jù)退出系統(tǒng)出錯(cuò)判斷客戶選擇主函數(shù)入口第三部分 使用程序說明八、調(diào)試:錯(cuò)誤:原因:main()函數(shù)當(dāng)中循環(huán)次數(shù)多了一個(gè)getchar(),導(dǎo)致必須輸入兩次數(shù)字才可以返回case 1:rs=Input();js(rs);break;case 2:Paixu_fout(rs);printf("t排序后的職工信息已存入D盤中的

6、tlj.txt中n"); getchar();printf("t按任意鍵返回!n");getchar();break;for(i=0;i<rs-1;i+)fprintf(stdout,"%-10s%-10st%4dtt%4dt%4dt%-5dt%4.1fn",cji.xh,,cji.zd,cji.js,cji.xx,cji.sum,cji.ave);修改:case 1:rs=Input();js(rs);break;case 2:Paixu_fout(rs);printf("t排序后的職工信息已存入D盤中的tlj

7、.txt中n"); printf("t按任意鍵返回!n");getchar();break;九、程序測(cè)試:1、 進(jìn)入信息管理界面: 2、輸入職工基本工資信息 3、利用文件將數(shù)據(jù)保存入盤內(nèi)4、輸出職工數(shù)據(jù)5、輸入錯(cuò)誤,直接返回選擇菜單:6、退出系統(tǒng)第四部分、總結(jié)和體會(huì)組長: 李雙江 一個(gè)學(xué)期的學(xué)習(xí),讓我見識(shí)到了苦,還有些許的甜。在懵懂之中,我慢慢的摸索,慢慢的實(shí)踐,我不怕失敗,勇往直前。正是有了這樣的初生牛犢的精神,讓我感到了 很多樂趣。 開始的時(shí)候,真的是什么的不懂,看著天書一般的程序,頭皮都發(fā)麻。有時(shí)候,看著別人順利的讀出程序,寫出自己的小設(shè)計(jì),那種羨慕和失落,

8、那種無奈叫人無法承受。不甘的學(xué)習(xí),不停的努力,我不想放棄! 慢慢的,我能讀程序了,漸漸的,我也不再恐懼和失落了。天書一般的程序,也漸漸的向我展示出它的內(nèi)蘊(yùn)。老師不怕我底子薄,不怕麻煩,將每一道題都講的仔仔細(xì)細(xì),我照著老師的話去做,不斷地去學(xué)習(xí),多花時(shí)間去看。很多的概念性問題,我都一一克服了,于是,在上機(jī)考試中,我順利的答出了題目。 可是,在這次的程序設(shè)計(jì)中,我又感覺到那種失敗的感覺。剛開始我并不是寫的這個(gè)題目。我和組員一起,寫了一個(gè)運(yùn)動(dòng)會(huì)成績管理,好長好長的時(shí)間,我都泡在里面,我不斷的發(fā)現(xiàn)著錯(cuò)誤,不斷的進(jìn)步??墒堑阶詈螅业某绦蜻€是沒能運(yùn)行,手忙腳亂的做了個(gè)小程序,就想您上面所見的,功能很不齊

9、全,遠(yuǎn)沒有我原先預(yù)想的那樣很失落,不過最后我終于認(rèn)識(shí)到一點(diǎn):結(jié)果很重要,但是過程更需重視,我成長了,我也就獲得了。 我希望,在下學(xué)期的等考中,我的成長可以得到體現(xiàn),我的付出不會(huì)落空! 組員:王洪雨: 這次編程作業(yè)雖然對(duì)我們來說比較困難,但是值得高興的,我們努力了,并基本完成了任務(wù)。這次做C語言程序讓我感觸頗深。是首先是由于對(duì)基礎(chǔ)知識(shí)掌握不扎實(shí),以至于剛開始拿著不知道從何下手,這就讓我明白了學(xué)習(xí)的重要性。其次讓我明白的是合作的重要性,我們小組只有兩個(gè)人,設(shè)計(jì)時(shí)的分工就極其重要了,雖然這次我們沒有做好這次題目,但是,不管是在知識(shí)的汲取上,還是我們?cè)诤献骱蛨F(tuán)隊(duì)意識(shí)上都有了很大的收獲。為了做好這次作業(yè)

10、,我們查閱了大量關(guān)于C語言編程的書籍,并接受了很多同學(xué)建議,以求做到精益求精。付出總有回報(bào),即使它不能在現(xiàn)在,也將在不遠(yuǎn)的將來!第五部分、程序源代碼:#include "stdio.h"#define RS 100/定義宏RSstructXSchar gh10;/定義結(jié)構(gòu)體char name10;int salary;intreward;intjintie;intsum;cjRS,jd;/cj用來保存職工工資的基本信息,jd用來檢驗(yàn)輸入成績的范圍和做交換中間變量/輸入圖書館人員的基本信息Input()int i=0;printf("t入職工工資信息:(若要結(jié)束輸入

11、over)n");while(1)/循環(huán)次數(shù)未知,用while來控制printf("t第%d位職工的編號(hào):",i+1);/輸入職工的編號(hào)gets(jd.gh);if(strcmp(jd.gh,"over")=0) return(i+1);break;/檢驗(yàn)輸入值是否為over,若是返回rs=i+1;printf("t工號(hào)為%s職工的姓名:",jd.gh);/用jd來暫時(shí)保存人員信息gets();if(strcmp(,"END")=0) return(i+1);break;/檢驗(yàn)

12、輸入值是否為over,若是返回rs=i+1;printf("t%s職工基本工資:",);while(1) scanf("%d",&jd.salary);/輸入職工的基本工資 if(jd.salary>=0)break;/檢驗(yàn)輸入值合法性 else printf("t輸入錯(cuò)誤,請(qǐng)重試:"); printf("t%s職工的獎(jiǎng)金:",);/輸入職工的獎(jiǎng)金while(1)scanf("%d",&jd.reward); if(jd.reward>=0

13、)break;/檢驗(yàn)輸入值合法性 else printf("t輸入錯(cuò)誤,請(qǐng)重試:");printf("t%s職工的津貼:",);/職工的津貼while(1) scanf("%d",&jd.jintie); if(jd.jintie>=0)break;/檢驗(yàn)輸入值合法性 else printf("t輸入錯(cuò)誤,請(qǐng)重輸:");cji=jd;i+;getchar();/計(jì)算職工工資基本信息函數(shù)js(int rs) int i;FILE *pk;if(pk=fopen("D:tj.txt

14、","w")=NULL)/打開文件printf("文件打開失敗!");exit(0);for(i=0;i<rs-1;i+)/計(jì)算總和 cji.sum=cji.salary+cji.reward+cji.jintie;fprintf(pk,"%-10s%-10s%4d%4d%4d%4dtn",cji.gh,,cji.salary,cji.reward,cji.jintie,cji.sum);fclose(pk);/排序并將人員信息輸入文件Paixu_fout(int rs)FILE *pk;int i,j

15、;if(pk=fopen("G:tlj.txt","w")=NULL)printf("文件打開失敗!");exit(0);for(i=0;i<rs;i+)for(j=0;j<rs-i;j+)if(cjj.sum<=cjj+1.sum)jd=cjj+1;cjj+1=cjj;cjj=jd;fprintf(pk,"%-10s%-20s%4d%4d%4d%4dn",cji.gh,,cji.salary,cji.reward,cji.jintie,cji.sum);fclose(pk);Ou

16、tput(int rs)int i;FILE *pk;if(pk=fopen("D:tlj.txt","r")=NULL)printf("文件打開失敗!");exit(0);printf("ntt職工工資排名如下:nn"); printf("t編號(hào) t 姓名t 基本工資 t 獎(jiǎng)金 津貼 總和 n");for(i=0;i<rs;i+)fscanf(pk,"%-10s%-20s%4c%4d%4d%4dt%4dn",cji.gh,,&cji.salar

17、y,&cji.reward,&cji.jintie,&cji.sum);fprintf(stdout,"%-10s%-8st%-10d%-10d%-10d%-10dtn",cji.gh,,cji.salary,cji.reward,cji.jintie,cji.sum);fclose(pk);main() int rs,c,t=1;while(t) printf("t*本系統(tǒng)為職工工資管理系統(tǒng)* n"); printf("t*歡迎使用本系統(tǒng)* n"); printf("tt 1.錄入員

18、工及工資信息 n");printf("tt 2.職工工資進(jìn)行排序并存入文件 n");printf("tt 3.將排序后的文件輸出并顯示在屏幕上 n");printf("tt 4.退出程序。 n");printf("t* n"); printf("tt請(qǐng)選擇對(duì)應(yīng)編號(hào)(1,2,3, 4)");scanf("%d",&c);getchar();if(c<1|4<c)printf("t輸入錯(cuò)誤!請(qǐng)重輸:n");continue;switch(c)case 1:rs=Inpu

溫馨提示

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