數(shù)據(jù)結(jié)構(gòu)工資管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第1頁
數(shù)據(jù)結(jié)構(gòu)工資管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第2頁
數(shù)據(jù)結(jié)構(gòu)工資管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第3頁
數(shù)據(jù)結(jié)構(gòu)工資管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第4頁
免費(fèi)預(yù)覽已結(jié)束,剩余16頁可下載查看

付費(fèi)下載

下載本文檔

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

文檔簡介

1、. .學(xué)號(hào)學(xué)年第學(xué)期數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告題目:人事工資管理系統(tǒng)專業(yè):數(shù)字媒體技術(shù)班級(jí):姓名:指導(dǎo)教師:成績:a.12221.122.2233445767789word 專業(yè)資料1、設(shè)計(jì)目的在計(jì)算機(jī)中建立相應(yīng)的數(shù)據(jù)結(jié)構(gòu),利用程序?qū)崿F(xiàn)工資的輸入、查詢、增、刪、改、統(tǒng)計(jì)、輸出等操作。進(jìn)一步掌握利用C 語言進(jìn)行程序設(shè)計(jì)的能力; 進(jìn)一步理解和運(yùn)用結(jié)構(gòu)化程序設(shè)計(jì)的思想和方法;初步掌握開發(fā)一個(gè)小型實(shí)用系統(tǒng)的基本方法;學(xué)會(huì)調(diào)試一個(gè)較長程序的基本方法;學(xué)會(huì)利用流程圖表示算法。工資管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),此次程序設(shè)計(jì)主要利用c 語言的基礎(chǔ)知識(shí)開發(fā)一個(gè)簡單的職工工資管理系統(tǒng)。工資管理系統(tǒng)是一個(gè)企業(yè)不可缺少的一部分,它

2、利用計(jì)算機(jī)對(duì)職工工資進(jìn)行統(tǒng)一管理,實(shí)現(xiàn)工資管理工作的系統(tǒng)化、 規(guī)化和自動(dòng)化,為企業(yè)提高工作效率。2、設(shè)計(jì)容與要求2.1 設(shè)計(jì)容主要利用 c 語言的文件操作能力設(shè)計(jì)開發(fā)一個(gè)小型的管理信息系統(tǒng),至少具有如下功能:對(duì)職工信息的錄入、修改或刪除,通過職工姓名或工號(hào)進(jìn)行查找,并逐項(xiàng)列出相信的職工工資信息,另外也可以查看所有職工目前的工資狀況。有一個(gè)文本菜單來調(diào)用各個(gè)功能的函數(shù)及一個(gè)主菜單來提示用戶如何操作。2.2.2 設(shè)計(jì)要求在計(jì)算機(jī)中建立相應(yīng)的數(shù)據(jù)結(jié)構(gòu),利用程序?qū)崿F(xiàn)工資的輸入、查詢、增、刪、改、統(tǒng)計(jì)、輸出等操作。3、總體流程圖設(shè)計(jì)職工工資管理系統(tǒng)輸顯查刪添修保文退入示找除加改存件出職職職職職職職中工工

3、工工工工工讀信信信信信信信取息息息息息息息word 專業(yè)資料開始主菜單選擇操作選擇 1選擇 2選擇 3選擇 4選擇 5選擇 6選擇 7選擇 8選擇 0輸入職工信息輸出職工信息按姓名查找職工信息按工號(hào)按姓名增加職工信息按工號(hào)刪除職工信息按姓名按工資從高到低按工號(hào)保存數(shù)據(jù)從文件中讀取退出結(jié)束4、程序詳細(xì)功能設(shè)計(jì)1、設(shè)計(jì)一個(gè)能夠記錄公司職工工資的數(shù)據(jù)結(jié)構(gòu),每條記錄包括:職工號(hào),姓名,基本工資,職務(wù)工資,津貼。2、應(yīng)用文件保存工資管理數(shù)據(jù)。3、新增:能將所有輸入的職工工資數(shù)據(jù)保存到文件中,并可選擇繼續(xù)輸入或退出。4.開始定義數(shù)據(jù)類型numberTemp,ii<numberTemp輸出職工信息i+

4、添加成功結(jié)束4、查看:查看所有職工信息,包括職工號(hào),姓名,基本工資,職務(wù)工資,津貼。開始定義 i=0i<Number輸出職工信息結(jié)束5 、查找:輸入職工的職工號(hào)或姓名,并在文件中查找。若找到,則顯示該職工的工資詳情;否則提示未找到。無論查找成功否,應(yīng)還可選擇繼續(xù)查找或退出。word 專業(yè)資料開始定義 n=0輸入 n如果 n=1按姓名查找如果 n=2終止按工號(hào)查找輸入錯(cuò)誤終止終止結(jié)束6 、刪除:輸入職工的職工號(hào),并在文件中查找。若找到,提示是否確定刪除。若選擇是,則刪除文件中該職工信息;若選擇否,則取消。若未找到則提示無此職工信息。無論查找成功否,應(yīng)還可選擇繼續(xù)查找或退出。開定義 n=0輸

5、入 n如果 n=1按姓名刪除如果 n=2終止按工號(hào)刪除終止結(jié)7 、修改:輸入職工的職工號(hào)在文件中查找。若找到,顯示該職工的所有信息,否則提示無此職工信息。無論查找成功否,應(yīng)還可選擇繼續(xù)查找或退出。6.開始定義 mode=0輸入 mode如果 mode=1按姓名修改如果 mode=2終止按工號(hào)修改輸入錯(cuò)誤終止終止結(jié)束8、統(tǒng)計(jì):分類匯總并輸出所有職工的總工資,并計(jì)算出平均工資。開始定義 i=0For 函數(shù)初始值i=0i<Number循環(huán)體輸出員工總工資i+For 函數(shù)初始值i=0i<Number循環(huán)體i+輸出員工平均工資結(jié)束9、退出:退出程序。word 專業(yè)資料5、程序調(diào)試程序調(diào)試的任

6、務(wù)是排除程序中的錯(cuò)誤,使程序能順利地運(yùn)行并得到預(yù)期的效果。程序的調(diào)試階段不僅要發(fā)現(xiàn)和消除語法上的錯(cuò)誤,還要發(fā)現(xiàn)和消除邏輯錯(cuò)誤和運(yùn)行錯(cuò)誤。要正確利用編輯時(shí)提示的錯(cuò)誤信息。調(diào)試階段出現(xiàn)了很多的問題,主要如下:1、 在定義和運(yùn)用數(shù)據(jù)類型時(shí)出現(xiàn)問題,不清楚字符串的輸出用s,而錯(cuò)用為 c。2、 忘記“;”或把“;”用錯(cuò)誤的輸入法輸入,造成的錯(cuò)誤。3、 大括號(hào)混亂造成錯(cuò)誤。4、 用文件保存職工信息時(shí),對(duì)printf 不熟悉,造成使用格式錯(cuò)誤,輸出容不符合,通過仔細(xì)核對(duì)書上的格式才改掉。5、 在讀取信息時(shí),不會(huì)用 scanf,是程序的運(yùn)行結(jié)果混亂, 造成職工信息錯(cuò)位,或是直接輸出 0.00 等。6、設(shè)計(jì)小結(jié)

7、通過這幾天的努力, 職工工資管理系統(tǒng)的設(shè)計(jì)已基本完成。在本次課程設(shè)計(jì)中,8.我充分領(lǐng)略了 C 語言功能的強(qiáng)大,包括函數(shù)、數(shù)組、指針、結(jié)構(gòu)體、文件等。職工工資管理系統(tǒng)是一個(gè)很實(shí)用并且使用廣泛的操作系統(tǒng)。此系統(tǒng)可以減少很多工作量,做到設(shè)計(jì)合理 ,便于使用 ,易于操作 ;界面友好 ,容錯(cuò)性高 ,可在很短的時(shí)間 , 查找出所需的職工工資資料 ,提高工作效率。該系統(tǒng)具有添加、顯示、查詢、修改、刪除等基本功能, 以方便對(duì)工資的各項(xiàng)管理操作。 每一條記錄包括一個(gè)職工的工號(hào)、姓名、工資等信息,系統(tǒng)的各個(gè)功能模塊都用函數(shù)的形式來實(shí)現(xiàn) ,可以將職工信息保存在文件中,并從文件中讀取出來。在本次課程設(shè)計(jì)中,我也發(fā)現(xiàn)了

8、自己很多的不足,并學(xué)到了許多的知識(shí)。對(duì)以前課本中學(xué)到的知識(shí)有了更深刻的理解,和靈活的運(yùn)用。不再像以前一樣,知識(shí)淺顯的明白,死板的套用。編寫程序的過程,讓我感覺到了無限的快樂,不僅僅是因?yàn)榭梢詫⒁郧皩W(xué)到的相關(guān)知識(shí)靈活運(yùn)用,還因?yàn)樵谶@個(gè)過程中學(xué)到了太多以前所沒有掌握的東西。最后我還掌握到了寫復(fù)雜程序的技巧,在寫大程序時(shí)應(yīng)遵守“自頂向下,逐步細(xì)化,模塊化”的方法進(jìn)行設(shè)計(jì); c 語言提供了豐富的數(shù)據(jù)庫和各種功能的函數(shù),我們要善于使用,使我們的程序達(dá)到最簡潔的這將對(duì)我以后的 c 程序?qū)W習(xí)產(chǎn)生重要的影響。通過這次程序設(shè)計(jì), 使我加深了對(duì) C 語言的認(rèn)識(shí), 進(jìn)一步熟悉了對(duì) C 語言功能的靈活運(yùn)用,而且加深了

9、我對(duì)程序的理解和編寫能力,通過文獻(xiàn)資料和網(wǎng)絡(luò)資料的幫助,使我對(duì) C 語言程序設(shè)計(jì)這一基礎(chǔ)學(xué)科又一次加深了認(rèn)識(shí),也意識(shí)到了其具有的強(qiáng)大功能和發(fā)展前景。這會(huì)對(duì)以后的學(xué)習(xí)有所幫助。7、參考文獻(xiàn)1譚浩強(qiáng) . C 程序設(shè)計(jì)(第三版)北京:清華大學(xué)出版社2006.3.word 專業(yè)資料2 王為青等 .C 語言高級(jí)編程及實(shí)例剖析北京:人民郵電出版社2007.3.3 黃明等 .C 語言課程設(shè)計(jì) 北京:電子工業(yè)出版社2006.3.附錄源程序#include <stdio.h>#include <stdlib.h>#include <string.h>struct worker

10、char name30;char ID10;int salary1,salary2,salary3;int dq(struct worker wo);void 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 auth

11、or();struct worker wo100; /保存所有的職工信息int Number=0; /記錄總的職工人數(shù)void main()int choose=0;while(true)show();printf("tt=>請(qǐng)選擇: ");scanf("%d",&choose);system("cls");switch(choose)case 0: exit(0);/退出break;case 1: add();back();/ 添加職工信息10.break;case 2: see();back();/ 查看職工信息br

12、eak;case 3: search();back();/查找職工信息break;case 4: del();back();/ 刪除職工信息break;case 5: statistics();back();/ 統(tǒng)計(jì)職工工資break;case 6: modify();back();/ 修改職工信息break;case 7:reserve();back();/ 保存數(shù)據(jù)break;case 8:author();back();/ 作者信息break;default:break;fflush(stdin);getchar();system("cls");int dq(stru

13、ct worker wo)FILE *fp=NULL;int i=0;fp=fopen("C:/worker.dat","rb");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("t1添加職工信息n");printf("t2查看職工信息

14、n");word 專業(yè)資料printf("t3查找職工信息n");printf("t4刪除職工信息n");printf("t5統(tǒng)計(jì)職工工資n");printf("t6修改職工信息n");printf("t7保存數(shù)據(jù)n");printf("t8作者信息n");printf("t0退出系統(tǒng)nn");printf("t* *n");void bc(struct worker *wo)FILE *fp=NULL;fp=fopen(&q

15、uot;C:/worker.dat","ab+");fwrite(wo,sizeof(struct worker),1,fp);fclose(fp);/ 添加職工信息void add()int numberTemp=0;int i=0;struct worker temp;printf(" 請(qǐng)輸入要添加職工個(gè)數(shù):");scanf("%d",&numberTemp);for(i=0;i<numberTemp;i+)printf(" 輸入第 %d 個(gè)職工信息 n",i+1);printf(&qu

16、ot; 姓名: ");scanf("%s",);printf(" 工號(hào): ");scanf("%s",temp.ID);printf(" 基本工資: ");scanf("%d",&temp.salary1);printf(" 職務(wù)工資: ");scanf("%d",&temp.salary2);printf(" 津貼: ");scanf("%d",&temp.sal

17、ary3);woNumber+=temp; /寫入到數(shù)組bc(&temp); /寫入到文件printf(" 添加成功 n");/ 查看職工信息void see()12.int i=0;printf(" 以下是全部職工n");printf("t姓名 t 工號(hào) t 基本工資 t 職務(wù)工資 t 津貼 n");while(i<Number)printf("t%st%st%dtt%dtt%dn",,woi.ID,woi.salary1,woi.salary2,woi.salary3);i+;/

18、查找職工信息void search()int n=0;printf("1按姓名查找 n");printf("2按工號(hào)查找 n");scanf("%d",&n);switch(n)case 1: xmcz();break;case 2: ghcz();break;default: printf("輸入錯(cuò)誤 !n");break;void xmcz()/按姓名查找char name30;int i=0;printf(" 請(qǐng)輸入要查找職工姓名:");scanf("%s",n

19、ame);system("cls");printf("t姓名 t 工號(hào) t 基本工資 t 職務(wù)工資 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()/按工號(hào)查找char id10;int i=0;printf(" 請(qǐng)輸入要查找職工工號(hào):");scanf(&quo

20、t;%s",id);word 專業(yè)資料system("cls");printf("t姓名 t 工號(hào) t 基本工資 t 職務(wù)工資 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(&

21、quot;2按工號(hào)刪除 n");scanf("%d",&n);switch(n)case 1: xmsc();break;case 2: ghsc();break;void xmsc()/按姓名刪除FILE *fp=NULL;char name30;int i=0;int j=0;printf(" 請(qǐng)輸入要?jiǎng)h除的職工姓名:");scanf("%s",name);for(i=0;i<Number;i+)if (strcmp(name,)=0)for (j=i;j<Number-1;j+)wo

22、j=woj+1;Number-;/ 將剩余數(shù)據(jù)寫入文件擦除以前的數(shù)據(jù)fp=fopen("C:/worker.dat","wb");for (i=0;i<Number;i+)fwrite(&woi,sizeof(struct worker),1,fp);14.fclose(fp);printf(" 刪除成功 ;n");void ghsc()/ 按工號(hào)刪除FILE *fp=NULL;char id60;int i=0;int j=0;printf(" 請(qǐng)輸入要?jiǎng)h除的職工工號(hào):");scanf("

23、%s",id);for(i=0;i<Number;i+)if (strcmp(id,woi.ID)=0)for (j=i;j<Number-1;j+)woj=woj+1;Number-;/ 將剩余數(shù)據(jù)寫入文件擦除以前的數(shù)據(jù)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)計(jì)職工工資void statis

24、tics()int i=0;double s=0.0;double sum100;for(i=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);/ 修改職工信息word 專業(yè)資料void modify()int mode=0;printf(" 請(qǐng)選擇修改查找方式n");pri

25、ntf("1按姓名查找修改n");printf("2按工號(hào)查找修改n");scanf("%d",&mode);switch(mode)case 1: xmxg();break;case 2: ghxg();break;default: printf("輸入錯(cuò)誤 !n");break;void xmxg()/按姓名修改FILE *fp=NULL;char name30;int i=0;printf(" 請(qǐng)輸入要修改的職工姓名:");scanf("%s",name);fo

26、r (i=0;i<Number;i+)if (strcmp(name,);elsebreak;printf("t 姓名 t 工號(hào) t 基本工資 t 職務(wù)工資 t 津貼 n"); printf("t%st%st%dtt%dtt%dn",,woi.ID,woi.salary1,woi.salary2,woi. salary3);printf(" 請(qǐng)重新輸入該職工信息");printf(" 姓名: ");scanf("%s",);printf(&q

27、uot; 工號(hào): ");scanf("%s",woi.ID);printf(" 基本工資: ");scanf("%d",&woi.salary1);printf(" 職務(wù)工資: ");scanf("%d",&woi.salary2);printf(" 津貼: ");scanf("%d",&woi.salary3);/ 信息修改后重新更新文件里面的數(shù)據(jù)以保持?jǐn)?shù)據(jù)一致性fp=fopen("C:/worker.dat&

28、quot;,"wb");for (i=0;i<Number;i+)fwrite(&woi,sizeof(struct worker),1,fp);fclose(fp);16.void ghxg()/按工號(hào)修改FILE *fp=NULL;char id30;int i=0;printf(" 請(qǐng)輸入要修改的職工工號(hào):");scanf("%s",id);for (i=0;i<Number;i+)if (strcmp(id,woi.ID);elsebreak;printf("t 姓名 t 工號(hào) t 基本工資 t 職務(wù)工資 t 津貼 n&q

溫馨提示

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