版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、學(xué)校:中國(guó)地址大學(xué)學(xué)院:工程學(xué)院班級(jí)序號(hào):05507101學(xué)號(hào):姓名:王雷指導(dǎo)老師:劉文中C 語言程序設(shè)計(jì)編程實(shí) 踐是 學(xué)習(xí) C 語言程 序設(shè)計(jì)的 一重要 環(huán)節(jié) ,為 提高學(xué) 生程 序設(shè)計(jì)能力,通過課堂和上機(jī)實(shí)踐練習(xí)使學(xué)生的程序設(shè)計(jì)能力上一臺(tái)階。通過前四單元溫顧而知新、庖丁解牛、舉一反三、熟能生巧等過程的練習(xí)設(shè)計(jì)下面一個(gè)完整的程序1、題目要求 設(shè)計(jì)“工資信息管理系統(tǒng)” 要求: 該系統(tǒng)能夠?qū)崿F(xiàn)工資信息管理。系統(tǒng)包括錄入,瀏覽,查詢,統(tǒng)計(jì) 等功能。錄入功能要求:能夠添加新的工資信息到文件; 瀏覽功能要求:能夠按照工資卡號(hào),姓 名分類瀏覽,提 供分屏 顯示; 有排序功能,排序后按照工資卡號(hào)升序或?qū)嵃l(fā)
2、工資降序輸出; 查詢功能要求:能 夠按照 工資 卡號(hào),姓名 查詢; 統(tǒng)計(jì)功能要求:能夠按照月份累計(jì)統(tǒng)計(jì)某職工在某時(shí)間段發(fā)工資總金 額。職工數(shù)據(jù)如下:姓名 銀行 卡 號(hào) 月 份 應(yīng)發(fā) 工 資 水 費(fèi) 電 費(fèi) 稅金 實(shí) 發(fā)工資wanglei0550710165000.0025.0035.00360.00 4580.00wanglei0550710175100.0020.0040.00370.00 4670.002、分析:根據(jù)題目要求,應(yīng)當(dāng)把職工工資信息用結(jié)構(gòu)體形式輸入,再定義一個(gè)全局變量和文件指針進(jìn)行整個(gè)程序的運(yùn)行,然后把職工工資信 息送 到文 件中,所 以應(yīng)該提供 一個(gè) 結(jié)構(gòu)體 和文 件的輸入輸
3、出等 操作; 在程序中需實(shí)現(xiàn)職工工資瀏覽,查詢,統(tǒng)計(jì)等功能的操作,所以需 要建 立相 應(yīng)的模塊來實(shí)現(xiàn);另 外還 需提供 鍵盤 式選擇菜單實(shí)現(xiàn) 功能, 在運(yùn)行時(shí)達(dá)到所要目的。3、總體設(shè)計(jì):根據(jù)題目要求,可以將系統(tǒng)分為六個(gè)模塊:1) 職工 工資信息 瀏覽模塊;2) 添加 工工資信 息模塊;3) 統(tǒng)計(jì) 職工工資 總合模塊;4) 按名 字查詢職 工工資信息 模塊 ;5) 按卡 號(hào)查詢職 工工資信息 模塊 ;6) 功能 選擇工資信息管理系職工 工資 信息 瀏覽 模塊添加 職工 資信 息模 塊統(tǒng)計(jì) 職工 工資 總合 模塊按名 字查 詢職 工工 資信 息按卡 號(hào)查 詢職 工工 資信 息功能 選擇4、詳細(xì)設(shè)計(jì)
4、:#include #include #include#include/ 頭函數(shù)名職員工資信息結(jié)構(gòu)體 */* 包括職工的姓名、銀行卡好、工作月份、應(yīng)發(fā)工資、實(shí)發(fā)工資、水費(fèi)、電費(fèi)、稅*/struct staff/ 職員工資信息結(jié)構(gòu)體char Name10;char CardNumber10;int Month;float SPWages;float APWages;float Water;float Electrical;float Tax;FILE *fp;/ 定義文件指針 =全局變量struct staff temp;void printf_face()/ 輸出函數(shù)printf(n 姓名 銀
5、行卡號(hào) 月份 應(yīng)發(fā)工資 水費(fèi) 電費(fèi) 稅 實(shí)發(fā)工資 n );printf(%s %s %d %.2f %.2f %.2f %.2f %.2fn,temp.Name,temp.Card Number,temp.Month,temp.SPWages,temp.Water,temp.Electrical,temp.Tax,temp.APWages); 瀏覽職工工資信息 =模塊 */void PrintInformation()/ 瀏覽職工工資信息開始struct staff temp;if(fp=fopen(wages,rb)=NULL)所查職工信息閱讀資料,判斷是否是定義結(jié)構(gòu)體全局變量,打開文件Np
6、rintf(cannot open the file!);exit(0);while(fread(&temp,sizeof(struct staff),1,fp)=1) printf_face();fclose(fp);開始 結(jié)束二、/* 添加職工工資信息 =模塊 */void Increase()/ 添加職工工資信息mp.SPWages1printf(cannot open the file!);exit(0);printf(nprintf(ntemp.SPWages=800計(jì)算稅金計(jì)算稅金添加到職工信息中計(jì)算稅金請(qǐng)輸入要 =添加的工資信息 : n);姓名 銀行卡號(hào)輸出月份 應(yīng)發(fā)工資 水費(fèi)
7、電費(fèi) n結(jié) 束);scanf(%s%s%d%f%f%f,temp.Name,temp.CardNumber,&temp.Month,&temp.SPWages,&temp.Water,&temp.Electrical);if(temp.SPWages800.0)&(temp.SPWages1400)temp.Tax=(temp.SPWages-1400)*0.1;temp.APWages=temp.SPWages-temp.Water-temp.Electrical-temp.Tax;開 始struct staff temp;sum+=temp.APWag輸出char tempname10;f
8、loat sum=0;int monthstart=0,monthover=0;printf(n 輸入姓名 起始月份 終止月份 n:); scanf(%s%d%d, tempname, &monthstart,&monthover); if(fp=fopen(wages,rb)=NULL)printf(cannot open the file!)結(jié)束exit(0);while(fread(&temp,sizeof(struct staff),1,fp)=1)if(strcmp(temp.Name,tempname)=0)/* 判斷是否是該職工 */ if(temp.Month=monthsta
9、rt&temp.Month=monthover) sum+=temp.APWages;printf(%d 月到 %d 月的工資總和 %f,monthstart,monthover,sum);fclose(fp);開始struct staff temp;printf(n輸入姓名 :);scanf(%s,tempname);if(fp=fopen(wages,rb)=NULL)printf(cannot open the file!);exit(0);while(fread(&temp,sizeof(struct staff),1,fp)=1) /*讀文件中資料 */ 開始if(strcmp(te
10、mp.Name,tempname)=0) /*判斷是否是該姓名 */printf_face();fclose(fp);五、/* 按卡號(hào)查詢某職工工資信息 =模塊 */ void CardNumberSearch()/ 按卡號(hào)查詢某職工工資信息char tempCardNumber10;struct staff temp;printf(n輸入卡號(hào) :);scanf(%s,tempCardNumber); if(fp=fopen(wages,rb)=NULL)printf(cannot open the file!);exit(0);while(fread(&temp,sizeof(struct
11、staff),1,fp)=1) /*讀文件中資料 */if(strcmp(temp.CardNumber,tempCardNumber)=0) /* 判斷是否是該 卡號(hào)*/printf_face();=模塊2fclose(fp);/* 職工工資信息查詢 int Search()int n;while(1)按卡號(hào)查詢按姓名查詢printf(n1.按照卡號(hào)查詢 : n );printf(n2. 按照姓名查詢 : n );printf(n0. 返回上級(jí)目錄 : n);輸出switch(n)scanf(%d,&n);case 1:CardNumberSearch();break;case 2:Name
12、Search();break;case 0:return 0;break;七、功能選擇 =模塊 */void ShowMenu()int n;開始添加工資信息 : n);while(1) printf(1.printf(2. 瀏覽工資信息 : n );printf(3.統(tǒng)計(jì)工資信息: n )printf(4.查詢工資信息: n);printf(0.退出系統(tǒng) : );scanf(%d,&n);switch(n)case 1:Increase();break;根據(jù) n 值調(diào)用各功能模塊函數(shù)case 2:PrintInformation();break;case 3:Statistics();bre
13、ak;case 4:Search();break;case 0:exit(0);break;主函數(shù) */*void main()ShowMenu();運(yùn)行結(jié)果可以達(dá)到要求的目的 運(yùn)行結(jié)果:1. 添加工資信息2. 瀏覽工資信息 :3. 統(tǒng)計(jì)工資信息 :4. 查詢工資信息 :0. 退出系統(tǒng) : 1請(qǐng)輸入要 =添加的工資信息 : 姓名 銀行卡號(hào) 月份 應(yīng)發(fā)工資 水費(fèi) 電費(fèi)wanglei 05507101 6 5000 25 351. 添加工資信息 :2. 瀏覽工資信息 :3. 統(tǒng)計(jì)工資信息 :4. 查詢工資信息 :0. 退出系統(tǒng) : 1請(qǐng)輸入要 =添加的工資信息 : 姓名 銀行卡號(hào) 月份 應(yīng)發(fā)工資
14、水費(fèi) 電費(fèi)wanglei 05507101 7 5100 20 401. 添加工資信息 :2. 瀏覽工資信息 :3. 統(tǒng)計(jì)工資信息 :4. 查詢工資信息 :0. 退出系統(tǒng) : 2實(shí)發(fā)工資姓名 銀行卡號(hào) 月份 應(yīng)發(fā)工資 水費(fèi) 電費(fèi) 稅wanglei 05507101 6 5000.00 25.00 35.00 360.00 4580.00實(shí)發(fā)工資姓名 銀行卡號(hào) 月份 應(yīng)發(fā)工資 水費(fèi) 電費(fèi) 稅 wanglei 05507101 7 5100.00 20.00 40.00 370.00 4670.001. 添加工資信息 :2. 瀏覽工資信息 :3. 統(tǒng)計(jì)工資信息 :4. 查詢工資信息 :0. 退出系
15、統(tǒng) : 3輸入姓名 起始月份 終止月份:wanglei 6 76 月到 7 月的工資總和 9250.0000001. 添加工資信息 :2. 瀏覽工資信息 :3. 統(tǒng)計(jì)工資信息 :4. 查詢工資信息 :0. 退出系統(tǒng) : 41. 按照卡號(hào)查詢 :2. 按照姓名查詢 :0. 返回上級(jí)目錄 :1輸入卡號(hào) :05507101姓名 銀行卡號(hào) 月份 應(yīng)發(fā)工資 水費(fèi) 電費(fèi) 稅實(shí)發(fā)工資wanglei 05507101 6 5000.00 25.0035.00360.004580.00姓名 銀行卡號(hào) 月份 應(yīng)發(fā)工資水費(fèi)電費(fèi)稅 實(shí)發(fā)工資wanglei 05507101 7 5100.00 20.0040.0037
16、0.004670.001. 按照卡號(hào)查詢 :2. 按照姓名查詢 :0. 返回上級(jí)目錄 :2輸入姓名 :wanglei姓名 銀行卡號(hào)月份 應(yīng)發(fā)工資水費(fèi)電費(fèi)稅實(shí)發(fā)工資wanglei 055071016 5000.00 25.0035.00360.004580.00姓名 銀行卡號(hào)月份 應(yīng)發(fā)工資水費(fèi)電費(fèi)稅實(shí)發(fā)工資wanglei 055071017 5100.00 20.0040.00370.004670.001. 按照卡號(hào)查詢2. 按照姓名查詢0. 返回上級(jí)目錄01. 添加工資信息2. 瀏覽工資信息3. 統(tǒng)計(jì)工資信息4. 查詢工資信息0. 退出系統(tǒng) : 0Press any key to continue
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度智能倉儲(chǔ)車間自動(dòng)化解決方案承包合同4篇
- 2025年度綠化苗木品種研發(fā)與推廣合作合同4篇
- 2025年度廠房通風(fēng)空調(diào)系統(tǒng)安裝合同文本4篇
- 2025建設(shè)科技攻關(guān)項(xiàng)目合同
- 山東省2025年度設(shè)備租賃合同租賃期限
- 2025投資合作合同協(xié)議書范本
- 導(dǎo)演同影視公司就2025年度電影執(zhí)導(dǎo)及編劇合同3篇
- 2025版天然氣管道設(shè)計(jì)施工購銷合同范本3篇
- 二零二五年度互聯(lián)網(wǎng)項(xiàng)目履約保證金合同范本4篇
- 二零二五版水暖工程監(jiān)理與驗(yàn)收服務(wù)合同3篇
- 電纜擠塑操作手冊(cè)
- 浙江寧波鄞州區(qū)市級(jí)名校2025屆中考生物全真模擬試卷含解析
- IATF16949基礎(chǔ)知識(shí)培訓(xùn)教材
- 【MOOC】大學(xué)生創(chuàng)新創(chuàng)業(yè)知能訓(xùn)練與指導(dǎo)-西北農(nóng)林科技大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 勞務(wù)派遣公司員工考核方案
- 基礎(chǔ)生態(tài)學(xué)-7種內(nèi)種間關(guān)系
- 2024年光伏農(nóng)田出租合同范本
- 《阻燃材料與技術(shù)》課件 第3講 阻燃基本理論
- 2024-2030年中國(guó)黃鱔市市場(chǎng)供需現(xiàn)狀與營(yíng)銷渠道分析報(bào)告
- 招標(biāo)監(jiān)督報(bào)告
- 項(xiàng)目立項(xiàng)申請(qǐng)書
評(píng)論
0/150
提交評(píng)論