




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、實用標準文案學號學年第學期數據結構課程設計報告題目:人事工資管理系統(tǒng)專業(yè):數字媒體技術班級 :姓名 :指導教師:成績 :計算機與信息工程系年 月日1、設計目的 22、設計內容與要求 21.1設計內容 22.2設計要求 23、總流程圖設計 34、程序詳細功能設計 45、程序調試 76、設計小結 77、參考文獻 8附錄 9精彩文檔1、設計目的在計算機中建立相應的數據結構,利用程序實現工資的輸入、查詢、增、刪、改、統(tǒng)計、輸出等操作。進一步掌握利用C語言進行程序設計的能力;進一步理解和運用結構化程序設 計的思想和方法;初步掌握開發(fā)一個小型實用系統(tǒng)的基本方法;學會調試一個較長程序的基本方法;學會利用流程
2、圖表示算法。工資管理系統(tǒng)的設計與實現,此次程序設計主要利用c 語言的基礎知識開發(fā)一個簡單的職工工資管理系統(tǒng)。工資管理系統(tǒng)是一個企業(yè)不可缺少的一部分,它利用計算機對職工工資進行統(tǒng)一管理,實現工資管理工作的系統(tǒng)化、規(guī)范化和自動化,為企業(yè)提高工作效率。2、設計內容與要求2.1 設計內容主要利用c 語言的文件操作能力設計開發(fā)一個小型的管理信息系統(tǒng),至少具有如下功能:對職工信息的錄入、修改或刪除,通過職工姓名或工號進行查找,并逐項列出相信的職工工資信息,另外也可以查看所有職工目前的工資狀況。有一個文本菜單來調用各個功能的函數及一個主菜單來提示用戶如何操作。2.2 設計要求在計算機中建立相應的數據結構,利
3、用程序實現工資的輸入、查詢、增、刪、改、統(tǒng)計、輸出等操作。3、總體流程圖設計2退出精彩文檔4、程序詳細功能設計1、設計一個能夠記錄公司職工工資的數據結構,每條記錄包括:職工號,姓名, 基本工資,職務工資,津貼。2、應用文件保存工資管理數據。3、新增:能將所有輸入的職工工資數據保存到文件中,并可選擇繼續(xù)輸入或退出4、查看:查看所有職工信息,包括職工號,姓名,基本工資,職務工資,津貼。45、查找:輸入職工的職工號或姓名,并在文件中查找。若找到,則顯示該職工的工資詳情;否則提示未找到。無論查找成功否,應還可選擇繼續(xù)查找或退出。6、刪除:輸入職工的職工號,并在文件中查找。若找到,提示是否確定刪除。若
4、選擇是,則刪除文件中該職工信息;若選擇否,則取消。若未找到則提示無此職工 信息。無論查找成功否,應還可選擇繼續(xù)查找或退出。精彩文檔7、修改:輸入職工的職工號在文件中查找。若找到,顯示該職工的所有信息,否8、統(tǒng)計:分類匯總并輸出所有職工的總工資,并計算出平均工資9、退出:退出程序75、程序調試注 =請選擇;H M M M: y 昂口 T 土里 希 ,充M MM-M M MM息息息息心統(tǒng)數信系存者出信信信信工信 工工工工工工一 只只只只只只 5-BIB3- 加暫查刪統(tǒng)修保作退程序調試的任務是排除程序中的錯誤,使程序能順利地運行并得到預期的效果。程序的調試階段不僅要發(fā)現和消除語法上的錯誤,還要發(fā)現和
5、消除邏輯錯誤和 運行錯誤。要正確利用編輯時提示的錯誤信息。調試階段出現了很多的問題,主要如下:1、在定義和運用數據類型時出現問題,不清楚字符串的輸出用s,而錯用為Co2、忘記“;”或把“;”用錯誤的輸入法輸入,造成的錯誤。3、大括號混亂造成錯誤。4、用文件保存職工信息時,對printf不熟悉,造成使用格式錯誤,輸出內容 不符合,通過仔細核對書上的格式才改掉。5、在讀取信息時,不會用 scanf,是程序的運行結果混亂,造成職工信息錯 位,或是直接輸出0.00等。6、設計小結通過這幾天的努力,職工工資管理系統(tǒng)的設計已基本完成。 在本次課程設計中, 我充分領略了 C語言功能的強大,包括函數、數組、指
6、針、結構體、文件等。 精彩文檔職工工資管理系統(tǒng)是一個很實用并且使用廣泛的操作系統(tǒng)。此系統(tǒng)可以減少很多工作量,做到設計合理, 便于使用 , 易于操作; 界面友好 , 容錯性高, 可在很短的時間內 , 查找出所需的職工工資資料, 提高工作效率。該系統(tǒng)具有添加、顯示、查詢、修改、刪除等基本功能,以方便對工資的各項管理操作。每一條記錄包括一個職工的工號、姓名、工資等信息,系統(tǒng)的各個功能模塊都用函數的形式來實現, 可以將職工信息保存在文件中,并從文件中讀取出來。在本次課程設計中,我也發(fā)現了自己很多的不足,并學到了許多的知識。對以前課本中學到的知識有了更深刻的理解,和靈活的運用。不再像以前一樣,知識淺顯的
7、明白,死板的套用。編寫程序的過程,讓我感覺到了無限的快樂,不僅僅是因為可以將以前學到的相關知識靈活運用,還因為在這個過程中學到了太多以前所沒有掌握的東西。最后我還掌握到了寫復雜程序的技巧,在寫大程序時應遵守“自頂向下,逐步細化,模塊化”的方法進行設計; c 語言提供了豐富的數據庫和各種功能的函數,我們要善于使用,使我們的程序達到最簡潔的這將對我以后的c 程序學習產生重要的影響。通過這次程序設計,使我加深了對 C語言的認識,進一步熟悉了對 C語言功能 的靈活運用,而且加深了我對程序的理解和編寫能力,通過文獻資料和網絡資料的幫助,使我對C語言程序設計這一基礎學科又一次加深了認識,也意識到了其具有的
8、強大功能和發(fā)展前景。這會對以后的學習有所幫助。7、參考文獻1譚浩強.C程序設計(第三版)北京:清華大學出版社 2006.3.2王為青等.C語言高級編程及實例剖析北京:人民郵電出版社 2007.3.3黃明等.C語言課程設計北京:電子工業(yè)出版社 2006.3.8附錄源程序#include <stdio.h>#include <stdlib.h>#include <string.h> struct workerchar name30;char ID10;int salary1,salary2,salary3;int dq(struct worker wo);voi
9、d show();void bc(struct worker wo);void add();void see();void search();void ghcz();void xmcz();void del();void xmsc();void ghsc();void statistics();void modify();void ghxg();void xmxg();void reserve();void back();void author();struct worker wo100; / 保存所有的職工信息int Number=0; / 記錄總的職工人數void main()int ch
10、oose=0;while(true)show();printf("tt=> 請選擇:");scanf("%d",&choose);system("cls");switch(choose)case 0: exit(0);/退出break;case 1: add();back();添加職工信息break;case 2: see();back();/查盲職工信息break;case 3: search();back();/ 查找職工信息break;case 4: del();back();/刪除職工信息break;case 5
11、: statistics();back();/統(tǒng)計職工工資精彩文檔break;case 6: modify();back();/修改職工信息break;case 7:reserve();back();/保存數據break;case 8:author();back();/作者信息break;default:break;fflush(stdin);getchar();system("cls");int dq(struct worker wo口)FILE *fp=NULL;int i=0;fp=fopen("C:worker.dat","rb&quo
12、t;);while(fread(&woi,sizeof(struct worker),1,fp)i+;fclose(fp);return i;void show() printf("n");printf("t*職工工資管理系統(tǒng)*nn");printf("t* *nn");printf("tAAAAAAAAAAAAAAA1 printf("tAAAAAAAAAAAAAAA2 printf("tAAAAAAAAAAAAAAA3 printf("tAAAAAAAAAAAAAAA4 printf
13、("tAAAAAAAAAAAAAAA5 printf("tAAAAAAAAAAAAAAA6 printf("tAAAAAAAAAAAAAAA7 printf("tAAAAAAAAAAAAAAA8 printf("tAAAAAAAAAAAAAAA0添加職工信息 AAAAAAAAAAAAAAAAA'n"); 查看職工信息 AAAAAAAAAAAAAAAAA'n"); 查找職工信息 AAAAAAAAAAAAAAAAA'n"); 刪除職工信息 AAAAAAAAAAAAAAAAA'n"
14、;); 統(tǒng)計職工工資 AAAAAAAAAAAAAAAAA'n"); 修改職工信息 AAAAAAAAAAAAAAAAA'n"); 保存數據 AAAAAAAAAAAAAAAAA'n"); 作者信息 AAAAAAAAAAAAAAAAA'n"); 退出系統(tǒng) AAAAAAAAAAAAAAAAA'n'n");printf("t* *n");void bc(struct worker *wo)FILE *fp=NULL;fp=fopen("C:worker.dat",&q
15、uot;ab+");fwrite(wo,sizeof(struct worker),1,fp);fclose(fp);添加職工信息void add()int numberTemp=0;10int i=0;struct worker temp;printf(" 請輸入要添加職工個數:");scanf("%d",&numberTemp);for(i=0;i<numberTemp;i+)printf(" 輸入第%d個職工信息n",i+1);printf(" 姓名:");scanf("%s
16、",);printf(" 工號:");scanf("%s",temp.ID);printf(" 基本工資:");scanf("%d",&temp.salary1);printf(" 職務工資:");scanf("%d",&temp.salary2);printf(" 津貼: ");scanf("%d",&temp.salary3);woNumber+=temp; / 寫入到數組bc(&
17、amp;temp); / 寫入到文件printf(" 添加成功n");/查看職工信息void see()int i=0;printf(" 以下是全部職工n");printf("t 姓名 t 工號 t 基本工資t 職務工資t 津貼 n");while(i<Number)printf("t%st%st%dtt%dtt%dn",,woi.ID,woi.salary1,woi.salary2,woi.salary3); i+;/查找職工信息void search()int n=0;printf(&qu
18、ot;1 按姓名查找n");printf("2 按工號查找n");scanf("%d",&n);switch(n)case 7: xmcz();break;case 8: ghcz();break;default: printf(" 輸入錯誤!n");break;void xmcz()/ 按姓名查找char name30;int i=0;printf(" 請輸入要查找職工姓名:");scanf("%s",name);精彩文檔system("cls");pri
19、ntf("t 姓名 t 工號 t 基本工資t 職務工資t 津貼 n");for (i=0;i<Number;i+)if (strcmp(name,)=0)printf("t%st%st%dtt%dtt%dn",,woi.ID,woi.salary1,woi.salary2,woi.salary3);void ghcz()/ 按工號查找char id10;int i=0;printf(" 請輸入要查找職工工號:");scanf("%s",id);system("cls&
20、quot;);printf("t 姓名 t 工號 t 基本工資t 職務工資t 津貼 n");for (i=0;i<Number;i+)if (strcmp(id,woi.ID)=0)printf("t%st%st%dtt%dtt%dn",,woi.ID,woi.salary1,woi.salary2,woi.salary3);/刪除職工信息void del()int n=0;printf("1 按姓名刪除n");printf("2 按工號刪除n");scanf("%d",&
21、amp;n);switch(n)case 9: xmsc();break;case 10: ghsc();break;void xmsc()/ 按姓名刪除FILE *fp=NULL;char name30;int i=0;int j=0;printf(" 請輸入要刪除的職工姓名:");scanf("%s",name);for(i=0;i<Number;i+)if (strcmp(name,)=0)for (j=i;j<Number-1;j+)woj=woj+1;Number-;12/將剩余數據寫入文件擦除以前的數據fp=fop
22、en("C:/worker.dat","wb");for (i=0;i<Number;i+)fwrite(&woi,sizeof(struct worker),1,fp);fclose(fp);printf(" 刪除成功;n");void ghsc()/ 按工號刪除FILE *fp=NULL;char id60;int i=0;int j=0;printf(" 請輸入要刪除的職工工號:");scanf("%s",id);for(i=0;i<Number;i+)if (strc
23、mp(id,woi.ID)=0)for (j=i;j<Number-1;j+)woj=woj+1;Number-;/將剩余數據寫入文件擦除以前的數據fp=fopen("C:/worker.dat","wb");for (i=0;i<Number;i+)fwrite(&woi,sizeof(struct worker),1,fp);fclose(fp);printf(" 刪除成功;n");/統(tǒng)計職工工資void statistics()int i=0;double s=0.0;double sum100;for(i=
24、0;i<Number;i+)sumi=woi.salary1+woi.salary2+woi.salary3;printf("%s 的總工資為:%fn",,sumi);for(i=0;i<Number;i+)s+=sumi;printf(" 平均工資為:%fn",s/Number);精彩文檔/修改職工信息void modify()int mode=0;printf(" 請選擇修改查找方式n");printf("1 按姓名查找修改n");printf("2 按工號查找修改n&qu
25、ot;);scanf("%d",&mode);switch(mode)case 11: xmxg();break;case 12: ghxg();break;default: printf(" 輸入錯誤!n");break;void xmxg()/ 按姓名修改FILE *fp=NULL;char name30;int i=0;printf(" 請輸入要修改的職工姓名:");scanf("%s",name);for (i=0;i<Number;i+)if (strcmp(name,);e
26、lsebreak;printf("t 姓名 t 工號 t 基本工資t 職務工資t 津貼 n");printf("t%st%st%dtt%dtt%dn",,woi.ID,woi.salary1,woi.salary2,woi.salary3);printf(" 請重新輸入該職工信息");printf(" 姓名:");scanf("%s",);printf(" 工號:");scanf("%s",woi.ID);printf(&q
27、uot; 基本工資:");scanf("%d",&woi.salary1);printf(" 職務工資:");scanf("%d",&woi.salary2);printf(" 津貼: ");scanf("%d",&woi.salary3);/信息修改后重新更新文件里面的數據以保持數據一致性fp=fopen("C:/worker.dat","wb");for (i=0;i<Number;i+)fwrite(&
28、woi,sizeof(struct worker),1,fp);fclose(fp);void ghxg()/ 按工號修改FILE *fp=NULL;char id30;int i=0;14printf("請輸入要修改的職工工號:");scanf("%s",id);for (i=0;i<Number;i+) (if (strcmp(id,woi.ID);elsebreak;printf("t姓名t工號t基本工資t職務工資t津貼n");printf("t%st%st%dtt%dtt%dn",,woi.ID,woi.salar
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國絕緣制品市場十三五規(guī)劃與投資戰(zhàn)略研究報告
- 2025-2030年中國紅木市場競爭格局及發(fā)展趨勢分析報告
- 2025-2030年中國精密減速器市場發(fā)展現狀及前景趨勢分析報告
- 2025-2030年中國碲行業(yè)運行狀況及發(fā)展趨勢分析報告
- 2025年遼寧省安全員C證考試(專職安全員)題庫附答案
- 2025-2030年中國皮帶輸送機市場運行狀況及發(fā)展前景分析報告
- 2025-2030年中國電解銅行業(yè)發(fā)展?jié)摿σ?guī)劃研究報告
- 重慶郵電大學《電腦輔助設計》2023-2024學年第二學期期末試卷
- 成都信息工程大學《藝用人體解剖學》2023-2024學年第二學期期末試卷
- 泰山學院《財政政策與貨幣政策》2023-2024學年第二學期期末試卷
- 數字化賦能小學語文中段習作教學的有效策略探究
- 新教材背景下思政教育在高中英語課中的滲透與應用分析
- 機械拆除舊房施工方案
- 獨家投放充電寶協(xié)議書范文范本
- P氣瓶充裝模擬考試題及答案
- 社區(qū)獲得性肺炎(1)護理病歷臨床病案
- 新人教版高中數學必修第一冊-3.3 冪函數【課件】
- 生物基有機硅材料的研究進展及前景展望
- 國有企業(yè)保密管理制度
- 一年級上冊數學試題-期中試卷五 蘇教版(含答案)
- 鄉(xiāng)村振興背景下農業(yè)碩士產教融合培養(yǎng)模式的創(chuàng)新
評論
0/150
提交評論