




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 課程設(shè)計學(xué) 號 _班 級 _ 姓 名 _指導(dǎo)教師 _ 年 月 日課程設(shè)計任務(wù)書一、課程設(shè)計題目:某企業(yè)職工工資管理系統(tǒng)二、課程設(shè)計工作自2007年7月9日起至2007年7月15日止三、課程設(shè)計內(nèi)容:用c語言編寫軟件完成以下任務(wù):1 錄入職工信息;2 對職工按工資排序并顯示; 3 能夠增加新職工數(shù)據(jù)并按工資高低排序。四、課程設(shè)計要求:程序質(zhì)量:l 貫徹結(jié)構(gòu)化程序設(shè)計思想。l 用戶界面友好,功能明確,操作方便;可以加以其它功能或修飾。l 用戶界面中的菜單至少應(yīng)包括“職工信息錄入”、“按工資排序”、“插入新職工并按工資高低排序”、“退出”4項。l 代碼應(yīng)適當(dāng)縮進(jìn),并給出必要的注釋,以增強(qiáng)程序的可讀
2、性。課程設(shè)計說明書:課程結(jié)束后,上交課程設(shè)計說明書(打印稿和電子稿),其內(nèi)容如下:l 封面l 課程設(shè)計任務(wù)書l 目錄l 需求分析(分析題目的要求)l 程序流程圖(總體流程圖和主要功能模塊流程圖)l 核心技術(shù)的實現(xiàn)說明及相應(yīng)程序段l 個人總結(jié)l 參考資料l 源程序及適當(dāng)?shù)淖⑨屩笇?dǎo)教師:_員工簽名:_目錄一、程序設(shè)計題目1二、需求分析1三、程序流程圖3四、核心技術(shù)的實現(xiàn)方法、程序段及注釋7五、個人總結(jié)10六、參考文獻(xiàn)10七、源程序11一、程序設(shè)計題目某企業(yè)職工工資管理,具體要求如下:1、錄入職工信息2、對職工按工資排序并顯示3、能夠增加新職工數(shù)據(jù)并按工資高低排序4、退出注:每個員工數(shù)據(jù)至少應(yīng)該包括
3、工號、姓名、工資,員工數(shù)據(jù)要保存在worker.dat文件中。二、需求分析經(jīng)過對程序設(shè)計題目的分析可知,整個程序的設(shè)計實現(xiàn)大致分為四個模塊,其中每一個模塊對應(yīng)一個函數(shù),他們的功能分別是:錄入職工信息函數(shù)(shuru),工資排序并顯示函數(shù)(sore),增加新職工數(shù)據(jù)函數(shù)(add),主函數(shù)(main)。1、錄入職工信息函數(shù) 主要實現(xiàn)程序最初運行時員工數(shù)據(jù)的錄入;2、工資排序并顯示函數(shù) 實現(xiàn)的功能是按照工資由多到少對員工的數(shù)據(jù)進(jìn)行排序,把排序后的文件保存到sore.dat文件中,并打印目前所有的有效員工記錄信息;3、增加新職工數(shù)據(jù)函數(shù) 按插入新職工并按工資高低排序;4、主函數(shù) 實現(xiàn)的是程序界面的設(shè)計
4、和各功能函數(shù)的調(diào)用;除上面介紹的功能之外,程序還具有退出功能,可以在程序的一次運行當(dāng)中循環(huán)執(zhí)行所有的功能,并根據(jù)需要終止程序的執(zhí)行。每一個員工記錄都包含工號、姓名、工資,在程序當(dāng)中,將員工記錄類型定義為結(jié)構(gòu)體類型,添加以及追加的員工信息直接寫入worker.dat文件中,其他函數(shù)每次對員工記錄的訪問,其數(shù)據(jù)來源都是worker.dat文件,這樣做不但可以保證員工數(shù)據(jù)的一致性,而且可以對員工數(shù)據(jù)進(jìn)行永久保存,保證每次運行程序都可以采用原來的數(shù)據(jù)。三、程序流程圖1、 程序總體結(jié)構(gòu)圖圖1程序總體結(jié)構(gòu)圖2、具體功能框圖(1) 錄入職工信息函數(shù) shuru圖2錄入職工信息函數(shù)(2)工資排序并顯示函數(shù) s
5、ore圖3工資排序并顯示函數(shù)(3)增加新職工數(shù)據(jù)函數(shù)(add)圖4增加新職工數(shù)據(jù)函數(shù)四、核心技術(shù)的實現(xiàn)方法、程序段及注釋本程序主要由三個自定義函數(shù)和一個主函數(shù)組成,其中主函數(shù)以菜單的形式調(diào)用其他函數(shù)來實現(xiàn)要求的所有功能。在這些函數(shù)當(dāng)中,工資排序并顯示函數(shù)和增加新職工數(shù)據(jù)函數(shù)是程序中較為核心的部分,下面分別進(jìn)行說明。1、工資排序并顯示函數(shù) 工資排序使用冒泡法,將結(jié)構(gòu)體中的數(shù)據(jù)按照工資由多到少的順序排序,把排序后的結(jié)果保存打印到屏幕上,并將結(jié)果保存到sore.dat文件中。具體的程序段如下:void sore(int n) int i,j=1;struct worker temp;file *fp
6、1;for(i=0;in-1;i+)for(j=0;jn-1-i;j+) if(worj.gongziworj+1.gongzi) strcpy(temp.num,worj.num); strcpy(,); temp.gongzi=worj.gongzi; strcpy(worj.num,worj+1.num); strcpy(,worj+1.name); worj.gongzi=worj+1.gongzi; strcpy(worj+1.num,temp.num); strcpy(worj+1.name,); worj+1
7、.gongzi=temp.gongzi; if(fp1=fopen(sore.dat,wb)=null) printf(打開文件失??!); exit(0); printf(序號 工號 姓名 工資n); for(i=0;in;i+) fwrite(&wori,sizeof(struct worker),1,fp1);if(wori.gongzi=wori+1.gongzi) printf(%3d%5s%5s%8.2fn,j,wori.num,,wori.gongzi);else printf(%3d%5s%5s%8.2fn,j+,wori.num,,wori.
8、gongzi); fclose(fp1);2、增加新職工數(shù)據(jù)函數(shù)該函數(shù)的核心內(nèi)容是增加新的員工信息,保存到結(jié)構(gòu)體中,并調(diào)用sore()函數(shù)將增加后的員工信息重新進(jìn)行排序。最后把增加后的總?cè)藬?shù)返回給主函數(shù)。具體程序段如下:int add(int n)int i,j;file *fp;if(fp=fopen(worker.dat,rb+)!=null) printf(請輸入要追加的員工數(shù)量,按回車鍵確認(rèn):); scanf(%d,&j); for(i=1;i=j;i+) printf(n請輸入第%d個員工的工號、姓名、工資,并按回車鍵確認(rèn):n,i); scanf(%s%s%f,&worn+i-1.n
9、um,&worn+,&worn+i-1.gongzi); fwrite(&worn+i-1,sizeof(struct worker),1,fp); sore(n+j);return (n+j);五、個人總結(jié)通過這幾天的實習(xí),我對vc 6.0軟件有了新的認(rèn)識,對c語言的應(yīng)用也有了一定能力, 通過這次課程設(shè)計我學(xué)到了以前沒有掌握的很多知識,同時,我對學(xué)過的知識又進(jìn)一步熟練掌握了。我想這次課程設(shè)計對我未來的學(xué)習(xí)一定會有很大的幫助。六、參考文獻(xiàn)1 譚浩強(qiáng)c程序設(shè)計北京:清華大學(xué)出版社,20052 劉成等c語言程序設(shè)計實驗指導(dǎo)與習(xí)題集北京:中國鐵道出版社,2006七、源程序#inclu
10、de #include #define n 5struct workerchar num20;char name10;float gongzi;worn;int shuru()int i,n;file *fp;if(fp=fopen(worker.dat,wb)=null)printf(文件打開失敗);exit(0); printf(請輸入要錄入的員工數(shù)量,按回車鍵確認(rèn):); scanf(%d,&n); for(i=1;i=n;i+) printf(n請輸入第%d個員工的工號、姓名、工資,并按回車鍵確認(rèn):n,i);scanf(%s%s%f,&wori-1.num,&,&w
11、ori-1.gongzi); if(fwrite(&wori-1,sizeof(struct worker),1,fp)!=1)printf(文件保存失??!n); fclose(fp);return (n);void sore(int n) int i,j=1;struct worker temp;file *fp1;for(i=0;in-1;i+)for(j=0;jn-1-i;j+) if(worj.gongziworj+1.gongzi) strcpy(temp.num,worj.num); strcpy(,); temp.gongzi=worj.gon
12、gzi; strcpy(worj.num,worj+1.num); strcpy(,worj+1.name); worj.gongzi=worj+1.gongzi; strcpy(worj+1.num,temp.num); strcpy(worj+1.name,); worj+1.gongzi=temp.gongzi; if(fp1=fopen(sore.dat,wb)=null) printf(打開文件失??!); exit(0); printf(序號 工號 姓名 工資n); for(i=0;in;i+) fwrite(&wori,sizeof(struct
13、 worker),1,fp1);if(wori.gongzi=wori+1.gongzi) printf(%3d%5s%5s%8.2fn,j,wori.num,,wori.gongzi);else printf(%3d%5s%5s%8.2fn,j+,wori.num,,wori.gongzi); fclose(fp1);int add(int n)int i,j;file *fp;if(fp=fopen(worker.dat,rb+)!=null) printf(請輸入要追加的員工數(shù)量,按回車鍵確認(rèn):); scanf(%d,&j); for(i=1;i=j;i+) printf(n請輸入第%d個員工的工號、姓名、工資,并按回車鍵確認(rèn):n,i); scanf(%s%s%f,&worn+i-1.num,&worn+,&worn+i-1.gongzi); fwrite(&worn+i-1,sizeof(struct worker),1,fp); sore(n+j);return (n+j);main()int i,n=0;printf(*n);printf(*n);printf(*歡迎使用員工工資管理系統(tǒng)*n);printf(*n);pr
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 加強(qiáng)個人職業(yè)技能提升的步驟計劃
- 班級工作計劃安排方案
- 開展班級技能培訓(xùn)的路徑計劃
- 2025年紡織染整助劑:凈洗劑項目發(fā)展計劃
- 2025年紡織、服裝、鞋帽批發(fā)服務(wù)項目發(fā)展計劃
- 2025年錘紋漆合作協(xié)議書
- 承包合同屬于勞務(wù)合同
- 關(guān)于項目延期原因的書面解釋報告
- 礦山合作協(xié)議跟承包協(xié)議
- 關(guān)于辦公資源調(diào)配的通知
- 邯鄲市垃圾填埋場封場方案
- 2020閩教版信息技術(shù)四年級(下冊)全冊教案
- 美國房地產(chǎn)市場特征、框架與周期演變
- introduction to pipeline pilot在處理數(shù)據(jù)中的一些應(yīng)用
- 光伏發(fā)電工程施工組織設(shè)計施工工程光伏發(fā)電工程光伏發(fā)電施工組織設(shè)計
- 11鋼的表面淬火解析
- 導(dǎo)數(shù)應(yīng)用舉例
- 第三講文獻(xiàn)的形成與流布1
- 《電力勘測設(shè)計管理制度》修編大綱
- ISO14001風(fēng)險和機(jī)遇評估分析報告
- 《費曼學(xué)習(xí)法》PPT課件
評論
0/150
提交評論