版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 課 程 設(shè) 計(jì) 報(bào) 告 書</p><p> 題 目: 統(tǒng)計(jì)工資 </p><p> 系 別: 計(jì)算機(jī)科學(xué)與應(yīng)用 </p><p><b> 目錄</b></p><p><b> 統(tǒng)計(jì)工資系統(tǒng)</b></p>&l
2、t;p><b> 1:需求分析3</b></p><p><b> 2:概要設(shè)計(jì)4</b></p><p><b> 3:詳細(xì)設(shè)計(jì)4</b></p><p> 3.1:職工工資信息瀏覽模塊4</p><p> 3.2:添加職工工資信息模塊4</p
3、><p> 3.3:統(tǒng)計(jì)職工工資總合模塊5</p><p> 3.4:按名字查詢職工工資信息模塊6</p><p> 3.5:按卡號查詢職工工資信息模塊6</p><p> 3.6:功能選擇........................................................................
4、....7</p><p><b> 4:調(diào)試分析7</b></p><p><b> 5:測試結(jié)果7</b></p><p><b> 6:總結(jié)9</b></p><p> 指導(dǎo)教師評語:10</p><p><b> 工資
5、信息管理系統(tǒng)</b></p><p><b> 1:需求分析</b></p><p><b> 設(shè)計(jì)要求:</b></p><p> 使用結(jié)構(gòu)數(shù)組設(shè)計(jì)一個公司職員的數(shù)據(jù)結(jié)構(gòu),使用下述的結(jié)構(gòu)定義:</p><p> struct employee{</p><p
6、><b> int age;</b></p><p> char name[15];</p><p> double salary;</p><p><b> };</b></p><p> 在主函數(shù)里構(gòu)造一個數(shù)組company,用來存放職工信息。</p><p&
7、gt; 設(shè)計(jì)update函數(shù),用來對company中指定職員的信息進(jìn)行更改。要求先按照name查詢到相應(yīng)的職員,然后修改并保存。</p><p> 設(shè)計(jì)一個read函數(shù),用來向company中錄入職員信息,并顯示結(jié)果。</p><p> 編寫mean函數(shù)求平均工資。</p><p> 應(yīng)該能對全體職工或大于某一年齡的職工工資求和并計(jì)算平均值。</p&g
8、t;<p> 編寫total函數(shù)對工資求和。</p><p> 應(yīng)該能對全體職工或某一年齡段職工的工資求和。</p><p><b> 選做:</b></p><p> 從文件中讀數(shù)據(jù)存入數(shù)組</p><p> 將數(shù)組的內(nèi)容保存至文件</p><p> 根據(jù)題目要求,應(yīng)當(dāng)
9、把職工工資信息用結(jié)構(gòu)體形式輸入,再定義一個全局變量和文件指針進(jìn)行整個程序的運(yùn)行,然后把職工工資信息送到文件中,所以應(yīng)該提供一個結(jié)構(gòu)體和文件的輸入輸出等操作;在程序中需實(shí)現(xiàn)職工工資瀏覽,查詢,統(tǒng)計(jì)等功能的操作,所以需要建立相應(yīng)的模塊來實(shí)現(xiàn);另外還需提供鍵盤式選擇菜單實(shí)現(xiàn)功能,在運(yùn)行時達(dá)到所要目的。</p><p><b> 2.概要設(shè)計(jì)</b></p><p> 本
10、程序的流程圖如下:</p><p><b> 3:詳細(xì)設(shè)計(jì)</b></p><p> 職員工資信息結(jié)構(gòu)體:</p><p> 包括職工的姓名、銀行卡好、工作月份、應(yīng)發(fā)工資、實(shí)發(fā)工資、水費(fèi)、電費(fèi)、稅。</p><p> 3.1:職工工資信息瀏覽模塊</p><p><b> 具體
11、實(shí)現(xiàn)如下:</b></p><p> void PrintInformation()//瀏覽職工工資信息 </p><p><b> {</b></p><p> struct staff temp;</p><p> if((fp=fopen("wages","rb
12、"))==NULL)</p><p><b> {</b></p><p> printf("cannot open the file!");</p><p><b> exit(0);</b></p><p><b> }</b><
13、/p><p> while(fread(&temp,sizeof(struct staff),1,fp)==1) printf_face();</p><p> fclose(fp);</p><p><b> }</b></p><p> 3.2:添加職工工資信息模塊</p><p&g
14、t;<b> 具體實(shí)現(xiàn)如下:</b></p><p> void Increase()//添加職工工資信息 </p><p><b> {</b></p><p> if((fp=fopen("wages","ab+"))==NULL)</p><p>
15、;<b> {</b></p><p> printf("cannot open the file!");</p><p><b> exit(0);</b></p><p><b> }</b></p><p> printf("\n
16、 請輸入要==添加的工資信息: \n");</p><p> printf("\n 姓名 銀行卡號 月份 應(yīng)發(fā)工資 水費(fèi) 電費(fèi) \n ");</p><p> scanf("%s%s%d%f%f%f",temp.Name,temp.CardNumber,&temp.Month,&temp.SPWages,&
17、temp.Water,&temp.Electrical);</p><p> if(temp.SPWages<=800) temp.Tax=0;</p><p> if((temp.SPWages>800.0)&&(temp.SPWages<1400.0))</p><p> temp.Tax=(temp.SPWage
18、s-800)*0.05;</p><p> if(temp.SPWages>1400){temp.Tax=(temp.SPWages-1400)*0.1;}</p><p> temp.APWages=temp.SPWages-temp.Water-temp.Electrical-temp.Tax;</p><p> fwrite(&temp,s
19、izeof(struct staff),1,fp);</p><p> fclose(fp);</p><p><b> }</b></p><p> 3.3:統(tǒng)計(jì)職工工資總合模塊</p><p><b> 具體實(shí)現(xiàn)如下:</b></p><p> void Sta
20、tistics()//統(tǒng)計(jì)某職工工資總合</p><p><b> {</b></p><p> struct staff temp;</p><p> char tempname[10]; </p><p> float sum=0;</p><p> int monthstart=0
21、,monthover=0;</p><p> printf("\n 輸入姓名 起始月份 終止月份 \n:");</p><p> scanf("%s%d%d", tempname, &monthstart,&monthover);</p><p> if((fp=fopen("wage
22、s","rb"))==NULL);</p><p><b> {</b></p><p> printf("cannot open the file!")</p><p><b> exit(0);</b></p><p><b>
23、 }</b></p><p> while(fread(&temp,sizeof(struct staff),1,fp)==1)</p><p><b> {</b></p><p> if(strcmp(temp.Name,tempname)==0)/判斷是否是該職工/</p><p><
24、;b> {</b></p><p> if(temp.Month>=monthstart&&temp.Month<=monthover)</p><p><b> {</b></p><p> sum+=temp.APWages;</p><p><b>
25、 }</b></p><p><b> }</b></p><p><b> }</b></p><p> printf("%d 月到 %d 月的工資總和 %f",monthstart,monthover,sum);</p><p> fclose(fp)
26、;</p><p><b> }</b></p><p> 3.4:按名字查詢職工工資信息模塊</p><p> 具體實(shí)現(xiàn)如下:void NameSearch()//按名字查詢某職工工資信息</p><p><b> {</b></p><p> char tem
27、pname[10];</p><p> struct staff temp;</p><p> printf("\n 輸入姓名:");</p><p> scanf("%s",tempname);</p><p> if((fp=fopen("wages","r
28、b"))==NULL)</p><p><b> {</b></p><p> printf("cannot open the file!");</p><p><b> exit(0);</b></p><p><b> }</b><
29、;/p><p> while(fread(&temp,sizeof(struct staff),1,fp)==1)</p><p> if(strcmp(temp.Name,tempname)==0)</p><p><b> {</b></p><p> printf_face();</p>
30、<p><b> }</b></p><p><b> }</b></p><p> fclose(fp);</p><p><b> }</b></p><p> 3.5:按卡號查詢職工工資信息模塊</p><p><b>
31、; 具體實(shí)現(xiàn)如下:</b></p><p> void CardNumberSearch()//按卡號查詢某職工工資信息</p><p><b> {</b></p><p> char tempCardNumber[10];</p><p> struct staff temp;</p>
32、;<p> printf("\n 輸入卡號:");</p><p> scanf("%s",tempCardNumber); </p><p> if((fp=fopen("wages","rb"))==NULL)</p><p><b> {<
33、/b></p><p> printf("cannot open the file!");</p><p><b> exit(0);</b></p><p><b> }</b></p><p> while(fread(&temp,sizeof(stru
34、ct staff),1,fp)==1) /***讀文件中資料**/</p><p><b> { </b></p><p> if(strcmp(temp.CardNumber,tempCardNumber)==0) /**判斷是否是該卡號**/</p><p><b> {</b></p><
35、p> printf_face();</p><p><b> } </b></p><p><b> } </b></p><p> fclose(fp);</p><p><b> }</b></p><p><b> 3.
36、6:功能選擇</b></p><p><b> 具體實(shí)現(xiàn)如下:</b></p><p> int Search()</p><p><b> {</b></p><p><b> Int n;</b></p><p><b>
37、; while(1)</b></p><p> printf("\n1. 按照卡號查詢: \n ");</p><p> printf("\n2. 按照姓名查詢: \n ");</p><p> printf("\n0. 返回上級目錄: \n");</p><p&g
38、t; scanf("%d",&n);</p><p><b> switch(n)</b></p><p><b> {</b></p><p> case 1:CardNumberSearch();break;</p><p> case 2:NameSear
39、ch();break;</p><p> case 0:return 0;break; </p><p><b> } </b></p><p><b> } </b></p><p><b> }</b></p><p><b>
40、4:調(diào)試分析</b></p><p> 在調(diào)試過程中,主要遇到以下幾個問題;</p><p> 由于瀏覽和查詢模塊中多定義了局部變量,且與全局變量同名將全局變量屏蔽,以至于這些模塊不能達(dá)到預(yù)期效果,總是只輸出最近一次的數(shù)據(jù),經(jīng)過修改后將其刪除,達(dá)到了所要的效果。使程序得以執(zhí)行。到目前程序中還有一小毛病,就是計(jì)算稅金是實(shí)數(shù)雙精度與單精度轉(zhuǎn)換存在不足。</p>&
41、lt;p><b> 5:測試結(jié)果</b></p><p> 1. 添加工資信息:</p><p> 2. 瀏覽工資信息:</p><p> 3. 統(tǒng)計(jì)工資信息:</p><p> 4. 查詢工資信息:</p><p> 0. 退出系統(tǒng): 1</p><p>
42、; 請輸入要==添加的工資信息:</p><p> 姓名 銀行卡號 月份 應(yīng)發(fā)工資 水費(fèi) 電費(fèi)</p><p> wanglei 05507101 6 5000 25 35</p><p> 1. 添加工資信息:</p><p> 2. 瀏覽工資信息:</p><p> 3. 統(tǒng)計(jì)工資信息
43、:</p><p> 4. 查詢工資信息:</p><p> 0. 退出系統(tǒng): 1</p><p> 請輸入要==添加的工資信息:</p><p> 姓名 銀行卡號 月份 應(yīng)發(fā)工資 水費(fèi) 電費(fèi)</p><p> wanglei 05507101 7 5100 20 40</p>
44、<p> 1. 添加工資信息:</p><p> 2. 瀏覽工資信息:</p><p> 3. 統(tǒng)計(jì)工資信息:</p><p> 4. 查詢工資信息:</p><p> 0. 退出系統(tǒng): 2</p><p> 姓名 銀行卡號 月份 應(yīng)發(fā)工資 水費(fèi) 電費(fèi) 稅 實(shí)發(fā)工資</
45、p><p> wanglei 05507101 6 5000.00 25.00 35.00 360.00 4580.00</p><p> 姓名 銀行卡號 月份 應(yīng)發(fā)工資 水費(fèi) 電費(fèi) 稅 實(shí)發(fā)工資</p><p> wanglei 05507101 7 5100.00 20.00 40.00 370.00 4
46、670.00</p><p> 1. 添加工資信息:</p><p> 2. 瀏覽工資信息:</p><p> 3. 統(tǒng)計(jì)工資信息:</p><p> 4. 查詢工資信息:</p><p> 0. 退出系統(tǒng): 3</p><p> 輸入姓名 起始月份 終止月份</p>
47、<p> :wanglei 6 7</p><p> 6 月到 7 月的工資總和 9250.0000001. 添加工資信息:</p><p> 2. 瀏覽工資信息:</p><p> 3. 統(tǒng)計(jì)工資信息:</p><p> 4. 查詢工資信息:</p><p> 0. 退出系統(tǒng):
48、 4</p><p> 1. 按照卡號查詢:</p><p> 2. 按照姓名查詢:</p><p> 0. 返回上級目錄:</p><p><b> 1</b></p><p> 輸入卡號:05507101</p><p> 姓名 銀行卡號 月份 應(yīng)發(fā)工資
49、 水費(fèi) 電費(fèi) 稅 實(shí)發(fā)工資</p><p> wanglei 05507101 6 5000.00 25.00 35.00 360.00 4580.00</p><p> 姓名 銀行卡號 月份 應(yīng)發(fā)工資 水費(fèi) 電費(fèi) 稅 實(shí)發(fā)工資</p><p> wanglei 05507101
50、7 5100.00 20.00 40.00 370.00 4670.00</p><p> 1. 按照卡號查詢:</p><p> 2. 按照姓名查詢:</p><p> 0. 返回上級目錄:</p><p><b> 2</b></p><p> 輸入姓名:wa
51、nglei</p><p> 姓名 銀行卡號 月份 應(yīng)發(fā)工資 水費(fèi) 電費(fèi) 稅 實(shí)發(fā)工資</p><p> wanglei 05507101 6 5000.00 25.00 35.00 360.00 4580.00</p><p> 姓名 銀行卡號 月份 應(yīng)發(fā)工資 水費(fèi) 電費(fèi) 稅 實(shí)發(fā)工資</p&g
52、t;<p> wanglei 05507101 7 5100.00 20.00 40.00 370.00 4670.00</p><p> 1. 按照卡號查詢:</p><p> 2. 按照姓名查詢:</p><p> 0. 返回上級目錄:</p><p><b> 0</b>
53、</p><p> 1. 添加工資信息:</p><p> 2. 瀏覽工資信息:</p><p> 3. 統(tǒng)計(jì)工資信息:</p><p> 4. 查詢工資信息:</p><p> 0. 退出系統(tǒng): 0</p><p> Press any key to continue</p&
54、gt;<p><b> 6:總結(jié)</b></p><p> 通過學(xué)習(xí)和練習(xí)C程序的設(shè)計(jì)基礎(chǔ),了解了一些關(guān)于C的知識。在設(shè)計(jì)過程中,好多處困惑、疑問,有是會很煩,甚至不想再做,但必須做好,所以耐著性子做好了。此時感覺有一點(diǎn)點(diǎn)成就感,也學(xué)到了一些知識。</p><p><b> 指導(dǎo)教師評語:</b></p><
55、;p> 程序成績: </p><p> 報(bào)告成績: </p><p> 綜合成績: </p><p> 指導(dǎo)教師姓名: </p><p> 批 改 日 期: 年 月
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計(jì)算機(jī)科學(xué)與技術(shù)課程設(shè)計(jì)
- java課程設(shè)計(jì)-模擬科學(xué)計(jì)算機(jī)
- 計(jì)算機(jī)科學(xué)基礎(chǔ)課程設(shè)計(jì)
- 計(jì)算機(jī)科學(xué)基礎(chǔ)課程設(shè)計(jì)
- 計(jì)算機(jī)科學(xué)與技術(shù)系
- 計(jì)算機(jī)應(yīng)用基礎(chǔ)課程設(shè)計(jì)
- 計(jì)算機(jī)科學(xué)與編程導(dǎo)論課程設(shè)計(jì)參考設(shè)計(jì)題目
- 計(jì)算機(jī)科學(xué)與編程導(dǎo)論課程設(shè)計(jì)參考設(shè)計(jì)題目
- 計(jì)算機(jī)科學(xué)與編程導(dǎo)論課程設(shè)計(jì)參考設(shè)計(jì)題目
- 計(jì)算機(jī)科學(xué)與技術(shù)課程設(shè)計(jì)報(bào)告---年歷顯示
- 計(jì)算機(jī)原理課程設(shè)計(jì)
- 024計(jì)算機(jī)科學(xué)與技術(shù)系
- 計(jì)算機(jī)科學(xué)與工程系
- 計(jì)算機(jī)課程設(shè)計(jì)
- 計(jì)算機(jī)控制及其應(yīng)用課程設(shè)計(jì)
- 《計(jì)算機(jī)算法設(shè)計(jì)與分析》課程設(shè)計(jì)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)-- 模型計(jì)算機(jī)的設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)組成原理課程設(shè)計(jì)——模型計(jì)算機(jī)的設(shè)計(jì)與實(shí)現(xiàn)
- 溫度控制系統(tǒng)計(jì)算機(jī)控制課程設(shè)計(jì)
- 計(jì)算機(jī)圖形課程設(shè)計(jì)報(bào)告
評論
0/150
提交評論