工資信息管理系統(tǒng)_第1頁
工資信息管理系統(tǒng)_第2頁
工資信息管理系統(tǒng)_第3頁
工資信息管理系統(tǒng)_第4頁
工資信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

-來源網(wǎng)絡(luò)-來源網(wǎng)絡(luò)-來源網(wǎng)絡(luò)-來源網(wǎng)絡(luò)精心整理、題目要求工資信息管理系統(tǒng)【要求】該系統(tǒng)能夠?qū)崿F(xiàn)工資信息管理。系統(tǒng)包括錄入、瀏覽、查詢計等功能。其中錄入功能要求能夠添加新的工資信息到文件;覽功能要求能按照工資卡號、姓名分類瀏覽,提供分屏顯示;排序功能,排序后按照工資卡號升序或?qū)嵃l(fā)工資降序輸出;査詢功能要求能夠按照工資卡號、姓名査詢;統(tǒng)計功能要求能夠按照月份累計統(tǒng)計某職工在某時間段實發(fā)工資總金額?!咎崾尽课募幸恍袛?shù)據(jù)對應(yīng)一個職工工資信息工資信息的數(shù)據(jù)結(jié)構(gòu)采用結(jié)構(gòu)體數(shù)組,一個數(shù)組元素對應(yīng)一條工資單記錄工資單信息包括工資卡號、姓名、月份、應(yīng)發(fā)工資、水費、電費、稅金、實發(fā)工資等實發(fā)工資=應(yīng)發(fā)工資-水費-電費-稅金,其中稅金的計算方法為應(yīng)發(fā)工資<800元,稅金=0800<應(yīng)發(fā)工資<1400元,稅金=(應(yīng)發(fā)工資-800)*5%應(yīng)發(fā)工資>1400元,稅金=(應(yīng)發(fā)工資-1400)*10%另:課程實習(xí)報告的參考格式精心整理題目編號寫出系統(tǒng)總設(shè)計的思路、功能模塊劃分。給出合理的測試數(shù)據(jù)及運行結(jié)果,要求能夠體現(xiàn)程序的正確性和完備性及對錯誤輸入的處理??偨Y(jié)算法或系統(tǒng)的優(yōu)缺點,給出算法或系統(tǒng)進(jìn)一步改進(jìn)的設(shè)想。在附錄中給出源代碼,附錄二、需求分析根據(jù)題目要求,由于工資單信息是存放在文件中,所以應(yīng)提供文件的輸入、輸出等操作;在程序中需要瀏覽學(xué)生的信息,應(yīng)提供錄入、瀏覽、査詢、統(tǒng)計等操作;另外還應(yīng)提供鍵盤式選擇菜單實現(xiàn)功能選擇。三、總體設(shè)計根據(jù)上面的需求分析,可以將這個系統(tǒng)的設(shè)計分為以下幾個模塊:數(shù)據(jù)輸入,數(shù)據(jù)添加,數(shù)據(jù)瀏覽,數(shù)據(jù)査詢,數(shù)據(jù)統(tǒng)計。精心整理四、詳細(xì)設(shè)計1.主函數(shù)主函數(shù)提供輸入、處理和輸出部分的函數(shù)調(diào)用。其中各功能模塊用菜單方式選擇。[流程圖]圖二主函數(shù)模塊功能流程圖[程序]main。/********************主函數(shù)**********************/{intn,w;/*變量n保存選擇菜單數(shù)字,w判斷輸入的數(shù)字是否在功能菜單應(yīng)對數(shù)字的范圍內(nèi)*/do{puts("\t\t**********MENU*************************\n\n");puts("\t\t\t\t1.Enternewdata");puts("\t\t\t\t2.addnewdata");puts("\t\t\t\t3?Browseall");puts("\t\t\t\t4.Searchbyname");puts("\t\t\t\t5.Searchbynum");puts("\t\t\t\t6.Countgongzi");puts("\t\t\t\t7.Exit");puts("\n\n\t\t**********************************\n");printf("Choiceyournumber(1-7):[]\b\b");-來源網(wǎng)絡(luò)精心整理scanf("%d",&n);if(n<l||n>7){w=1;getchar();}/*對選擇的數(shù)字作判斷*/elsew=0;}while(w==1);switch(n){case1:enter();break;/*輸入模塊*/case2:add();break;/*添加模塊*/case3:browse();break;/*瀏覽模塊*/case4:search_name();break;/*查詢模塊*/case5:search_num();break;/*查詢模塊*/case6:count();break;/*統(tǒng)計模塊*/case7:exit(0);break;/*退出*/}/*其中4和5兩個模塊式在查詢要求的基礎(chǔ)上加上的模塊*/}2.各功能模塊設(shè)計輸入函數(shù)【分析】單獨看各數(shù)據(jù)信息,姓名是字符型,可以采用字符型數(shù)組;工資號和月份是整數(shù),采用整型;實發(fā)工資,水費,電費,稅金,應(yīng)發(fā)工資有可能是小數(shù)可采用實型。數(shù)據(jù)信息存放在文件中,一條記錄對應(yīng)一個職工的工資單信息,既符合習(xí)慣也方便信息管理同時把職工的工資卡號,姓名,月份,應(yīng)發(fā)工資,水費,電費,精心整理稅金,實發(fā)工資作為結(jié)構(gòu)體成員,用結(jié)構(gòu)體數(shù)組存放若干個職工的工資信息。structgz{intnum;charname[20];intmonth;longys;longss;longwf;longef;longtax;}g[N];/*g[N]中每個數(shù)組元素對應(yīng)一個職工*/【流程圖】圖三輸入模塊流程圖【程序】enter()-來源網(wǎng)絡(luò)精心整理{inti,n;printf("Howmanygongzixinxi(0-%d)?:",N-1);scanf("%d",&n);printf("\nEnterdatanow\n\n");for(i=0;i<n;i++){printf("\nInput%dthgongzirecord?\n",i+1);input(i);}sort。;if(i!=O)save(n);printf_back();}添加模塊【分析】該模塊的功能是用戶需要增加新的職工工資信息記錄,從鍵盤輸入并逐條寫入到原來的輸入文件中,注意采用追加而不是覆蓋的方式?!玖鞒虉D】精心整理圖四添加模塊流程圖【程序】add(){inti,n,m,k;FILE*fp;n=load();printf("Hoemangpeopleareyouwanttoadd(0-%d):",N-nT);scanf("%d",&m);k=m+n;for(i=n;i<k;i++){printf("\ninput%dthsalaryrecord.\n",i-n+1);input(i);}sort();save(k);-來源網(wǎng)絡(luò)精心整理printf_back();}瀏覽模塊【分析】該模塊的功能是顯示所有職工工資信息記錄【流程圖】【程序】browse。{inti,n;n=load();printf_face();for(i=0;i<n;i++){if(i%10==0){printf("\n\nPassanykeytocontiune...");getch();puts("\n\n");}printf_one(i);printf("\n");-來源網(wǎng)絡(luò)-來源網(wǎng)絡(luò)-來源網(wǎng)絡(luò)-來源網(wǎng)絡(luò)-來源網(wǎng)絡(luò)精心整理}printf("\tThereare%drecord.\n",n);printf("\nPassanykeytoback");getch();menu();}按姓名査找模塊【分析】該模塊的功能是根據(jù)輸入的職工姓名查找對應(yīng)的工資信息記錄。【流程圖】圖六按姓名查找模塊流程圖【程序】search_name(){inti,n,k,w1=1;structgzs;n=load();do{k=-1;printf("\n\nEnternamethatyouwanttosearch!name");scanf("%s",);printf_face();for(i=0;i<n;i++)精心整理if(strcmp(,g[i].name)==0){k=i;printf_one(k);}if(k==-1){printf("\n\nNoexist!please");printf("\n\nAreyouagain?\n\t1).Again2)Noandback[]\b\b");scanf("%d",&w1);}}wh訂e(k==-1&&w1==1);menu。;}按工資卡號查找模塊【分析】該模塊的功能是根據(jù)輸入的職工工資卡號査找對應(yīng)的工資信息記錄?!玖鞒虉D】圖七按工資卡號査找模塊流程圖【程序】search_num(){inti,n,k,w1=1;structgzs;n=load();do{k=-1;精心整理printf("\n\nEnternumberthatyouwanttosearch!number");scanf("%d",&s.num);printf_face();for(i=0;i<n;i++)if(s.num==g[i].num){k=i;printf_one(k);}if(k==T){printf("\n\nNoexist!please");printf("\n\nAreyouagain?\n\t1)?Again2)Noandback[]\b\b");scanf("%d",&w1);}}wh訂e(k==-1&&w1==1);menu。;}統(tǒng)計模塊【分析】該模塊的功能是根據(jù)用戶輸入的職工姓名和所統(tǒng)計的月份來計算得出某個時間段的工資總額?!玖鞒虉D】精心整理圖八統(tǒng)計模塊流程圖【程序】count。{inti,j,k,n,sum=0;charname[20];n=load();printf("\nEntertheenployer'sname:[]\t\t");scanf("%s",name);printf("\nEnterthefirstmonthtocount!month:[]\t\t");scanf("%d",&j);printf("\nEnterthelastmonthtocount!month:[]\t\t");scanf("%d",&k);for(i=0;i<n;i++)if(strcmp(name,g[i].name)==0&&g[i].month>=j&&g[i].month<=k){printf_one(i);-來源網(wǎng)絡(luò)-來源網(wǎng)絡(luò)-來源網(wǎng)絡(luò)-來源網(wǎng)絡(luò)-來源網(wǎng)絡(luò)精心整理sum=sum+g[i].ss;}printf("\ntheresultofcount:sum=%d\n",sum);menu();3.公共函數(shù)(1)排序函數(shù)sort?!境绦颉縮ort。{inti,j,n;structgzt;n=load();for(i=0;i<n;i++)for(j=i+1;j<n;j++)if(g[i]?num>g[j].num){t=g[i];g[i]=g[j];g[j]=t;}2)輸入函數(shù)input(inti)程序】input(inti)精心整理{scanf("%d%s%d%ld%ld%ld",&g[i].num,g[i].name,&g[i].month,&g[i].ys,&g[i].wf,&g[i].ef);tax(i);}保存函數(shù)save(intn)【程序】save(intn){FILE*fp;inti;if((fp=fopen("salary.txt","w"))==NULL){printf("\nCannotopenfile\n");returnNULL;}for(i=0;i<n;i++)if(g[i]?num!=O)if(fwrite(&g[i],sizeof(structgz),1,fp)!=1)printf("filewriteerror\n");fclose(fp);}稅金計算函數(shù)tax(inti)【程序】tax(inti){精心整理if(g[i].ys<800)g[i].tax=0;elseif(800<g[i].ys&&g[i].ys<1400)g[i].tax=((g[i].ys-800)*5/100);elseg[i].tax=((g[i].ys-1400)*5/100);g[i].ss=g[i].ys-g[i].wf-g[i].ef-g[i].tax;}加載函數(shù)load()【程序】load(){FILE*fp;inti;if((fp=fopen("salary.txt","r"))==NULL){printf("\nCannotopenfile\n");returnNULL;}for(i=0;!feof(fp);i++)fread(&g[i],sizeof(structgz),1,fp);fclose(fp);return(iT);}顯示數(shù)據(jù)結(jié)構(gòu)項目的函數(shù)printf_face()printf_face(){printf("\nnumnamemonthyswfefsstax\n");}精心整理顯示一個記錄的函數(shù)printf_one(inti){printf("%5d%10s%5d%10ld%10ld%10ld%10ld%10ld",g[i].num,g[i].name,g[i].month,g[i].ys,g[i].wf,g[i].ef,g[i].ss,g[i].tax);}一個任務(wù)結(jié)束時的選擇瀏覽還是返回的函數(shù)printf_back(){intk,w;printf("\n\n\tSuccessful?\n\n");printf("Whatdoyouwanttodo?\n\n\t1)?Browseallnow2)?Back

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論