人事管理課程名稱語言程序設(shè)計人事管_第1頁
人事管理課程名稱語言程序設(shè)計人事管_第2頁
人事管理課程名稱語言程序設(shè)計人事管_第3頁
人事管理課程名稱語言程序設(shè)計人事管_第4頁
人事管理課程名稱語言程序設(shè)計人事管_第5頁
免費預(yù)覽已結(jié)束,剩余33頁可下載查看

付費下載

下載本文檔

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

文檔簡介

第一部分課程設(shè) 、名稱、內(nèi) 第二部分需求分 第三部分程序總體設(shè)計思 第四部分程序詳細設(shè) 系統(tǒng)功能模塊說 各功能模塊設(shè) 數(shù)據(jù)模 此模塊源程序及說 函數(shù)流程 模塊運行界 模 此模塊源程序及說 函數(shù)流程 模塊運行界 增添功能模 此模塊源程序及說 函數(shù)流程 模塊運行界 刪除模塊設(shè) 此模塊源程序及說 函數(shù)流程 模塊運行界 查詢模塊設(shè) 此模塊源程序及說 函數(shù)流程 模塊運行界 修改模塊設(shè) 此模塊源程序及說 函數(shù)流程 模塊運行界 統(tǒng)計模塊設(shè) 此模塊源程序及說 函數(shù)流程 模塊運行界 排序模塊設(shè) 此模塊源程序及說 函數(shù)流程 模塊運行界 第五部分程序設(shè)計心 遇到的問題及解決方 本程序優(yōu) 本程序缺 第一部分課程設(shè)計、名稱、內(nèi)《C語言課程設(shè)計與學(xué)習(xí)指導(dǎo)》第96頁23名稱:人事管某高校主要有:在職(行政教師 一般員工)退休和臨時工?,F(xiàn)在需要這些的人事信息,內(nèi)容包職務(wù) 政治面貌 查詢功能:能根據(jù)和進行查詢統(tǒng)計功能:能根據(jù)多種參數(shù)進行統(tǒng)計(在職人 高學(xué)歷高人(以上,排序功能:按照來院時間進行排序保存功能:能對輸入的數(shù)據(jù)進行相應(yīng)的第二部分需求分析根據(jù)題目要求由于人事信息存放在文件中而且此程序要求具有顯示、查詢、增添刪除、修改并將改動內(nèi)容在原文件中。項組成因此需要建立結(jié)構(gòu)體來這些信息因為此程序需要多重選擇,所以要建立完備的鍵盤式選擇菜單實現(xiàn)用戶的功能選擇。第三部分程序總體設(shè)計思路是:1.讀入文本文檔數(shù)據(jù);2.選擇功能板塊;3.向文本文檔數(shù)據(jù)。讀入文本文檔第四部分程序詳細設(shè)計VoidsaddvoiddelVoideditvoidstatVoidsortvoidcheck數(shù)據(jù)模思路數(shù)據(jù)需要從文本文檔中,因此應(yīng)先建立結(jié)構(gòu)體,然后運用結(jié)構(gòu)體中的數(shù)據(jù)讀入dos窗口中,供用戶瀏覽struct{charnum[10];charname[10];charsex[2];charage[10];charduty[10];chartitle[10];charpolitic[10];char charkinds_of_staff[10];注:以上程序段就是建立結(jié)構(gòu)體,用以員工信息int{FILE*fp;inti,j;{printf("\nCannotopen}/*注:以上是用指向文件的指針fp打開文件。fscanf(fp,"%s%s%s%s%s%s%s%s%s%s%s",&sta[i].num,&sta[i].name,/*注:以上程序段是將文本數(shù)據(jù)賦值給staff結(jié)構(gòu)體,并關(guān)閉文件。printf("%s%s%s%s%s%s%s%s%s%s%s\n",sta[i].num,sta[i].name,/*注:通過循環(huán)將結(jié)構(gòu)體中的數(shù)據(jù)輸入到窗口中。returni;/*返回文本文檔中的個數(shù)}開開找到void(int{int printf("1.add\n2.delete\n3.check\n4.edit\n5.statistics\n6.sort\n");/*完成選擇菜單的顯示printf("Pleaseinputyourchoice:");{printf("Thisiswrongnumber,pleaseinputagain!\n");printf("Pleaseinputyourchoice:");/*容錯功能{case1:add();break;case2:del(j);break;casecase4:edit(j);break;case5:stat(j);break;case6:sort(}}顯顯示菜單選用用戶輸入選提示錯輸入選項是否合理 NY進入功能子函考慮的是用戶需要增添幾位的信息因此需要提示scanf語句將這些信息賦給結(jié)構(gòu)體變量sa(模塊中的文件追加將結(jié)構(gòu)體的信息讀入文本文檔中進行。void{intprintf("How doyouwantto/*提示用戶需要輸入幾位員工的信息printf("pleaseinput:");{/*通過for循環(huán)實現(xiàn)多組數(shù)據(jù)對結(jié)構(gòu)體變量的賦值}/*將增添的信息通過此子函數(shù)入文本文檔}提至文提至文該首先請用戶輸入需要刪除的的然后顯示被刪除的詳細信息;提示用戶是否需要刪除此用戶信息若“否則要求用戶重新輸入若“是找出存放需被刪除的結(jié)構(gòu)體變量sta[],然后將sta+的信息賦給sta[],依次循環(huán)賦值;然后用sa()函數(shù)的只寫將修改后的結(jié)構(gòu)體變量信息在原文本文檔中最后voiddel(int{intf,k,i=0;charprintf("pleaseinputthenumberyouwanttodelete:");}/*查詢出被刪除用戶結(jié)構(gòu)體變量的位置printf("%s%s%s%s%s%s%s%s%s%s/*以下循環(huán)用于用戶來確定是否刪除此用戶信息while(f==2){printf("pleaseinputthenumberyouwanttodelete:");}printf("%s%s%s%s%s%s%s%s%s%s%s\n",sta[i].num,sta[i].name,}{sta[k]=sta[k+1];/*通過循環(huán)覆蓋被刪除用戶的信息save(j);}/*刪除后的信息}否顯示將被刪除用戶信否顯示將被刪除用戶信 被刪是戶選擇時,由用戶輸入需要查詢的,因為在結(jié)構(gòu)體中將定義為字符型數(shù)組因此需要使用strcmp()語句進void{intprintf("1.number\\n");printf("pleasechoice:");{printf("Thisiswrongchoice,pleaseinputagain!\n");printf("Pleaseinputyourchoice:");{case1:num();break;case2:name();break;}voidnum(){intprintf("pleaseinputyournumber:");while(strcmp(j,sta[i].num)!=0)/*進行字符串比較}printf("%s%s%s%s%s%s%s%s%s%s%s\n",sta[i].num,sta[i].name,sta[i].sex,sta[}/*顯示被查詢者信息

注:按查詢的子函數(shù)的查詢方式與按查詢的方式基本相同,因此不再列舉。顯顯示菜單選(1,2或者其他按按查21【思路】此模塊用于用戶對已經(jīng)在文本中存在的信息進行修改因此首先要求用戶輸入被修改的系統(tǒng)通過進行查詢并顯示出此的詳細信息進入修改環(huán)節(jié)在界面顯示菜單提示用戶要修改此的哪一類信息由用戶動的數(shù)據(jù)通過scanf輸入到存放此人信息的結(jié)構(gòu)體中的相應(yīng)項目,對原數(shù)據(jù)進行覆蓋。然后通過sae()函數(shù)將改voidedit({inti=0,b;charprintf("pleaseinputthenumberyouwanttomodify:");while(strcmp(a,sta[i].num)!=0)/*查找出要修改的的信息 printf("%s%s%s%s%s%s%s%s%s%s%s\n",sta[i].num,sta[i].name, ing_time\n10.duty_time\n11.kinds_of_staff\n");/*菜單顯示printf("yourchoiceis");{printf("Thisiswrongchoice,pleaseinputagain!\n");printf("Pleaseinputyourchoice:");{case1:scanf("%s",&sta[i].num);break;case2:scanf("%s",&sta[i].name);break;case3:scanf("%s",&sta[i].sex);break;case4:scanf("%s",&sta[i].age);break;case5:scanf("%s",&sta[i].duty);break;case6:scanf("%s",&sta[i].title);break;case7:scanf("%s",&sta[i].politic);break;case8:scanf("%s",&sta[i].wenpin);break;casecasecase11:scanf("%s",&sta[i].kinds_of_staff);break;/*輸入用戶要修改的信}save(j);/*對已修改的信息進行}界面顯示詳細信系統(tǒng)判斷輸入是否合理Y對對對對對對對改對對改對改對改,N在職人數(shù)黨員人數(shù)女工人數(shù)高學(xué)歷高人數(shù)要求進行統(tǒng)計并顯示信息;首先還是在界面顯示出供用戶選擇的菜單,同樣要設(shè)計容錯功能;對在職人數(shù)的統(tǒng)計,因為類別除了退休均在職,所以根據(jù)此條件可統(tǒng)計出在職信息;對黨員數(shù),則只需要求sta.poltc=artysta[.se=f即可;對于高學(xué)歷只需使結(jié)構(gòu)體中文憑項中為或博士或者使結(jié)構(gòu)體中項中為教授或即可。voidstat(int{intprintf("whichdoyouwanttousetoprintf("1.female\n2.partymember\n3.onthejob\n4.advancedacademicprintf("yourwhile(n>4||n<1)/*提供容錯功能{printf("Inputtingiswrong,pleaseinputagain.\n");printf("whichdoyouwanttousetocount:");}switch(n)/*根據(jù)用戶選擇調(diào)用子函數(shù){case1:fem(j);break;case2:part(j);break;case3:jo(j);break;case4:adv(j);break;}}/*對女工人數(shù)進行統(tǒng)計的子函數(shù)voidfem(int{intn=0,i=0;char{printf("%s%s%s%s%s%s%s%s%s%s%s\n",sta[n].num,sta[n].name,}printf("thenumberoffemaleis}/*對黨員人數(shù)進行統(tǒng)計的子函數(shù)voidpart(int{intn=0,i=0;chara[50]={'p','a','r','t','y'};{printf("%s%s%s%s%s%s%s%s%s%s%s\n",sta[n].num,sta[n].name,}printf("thenumberofpartyis}/*對在職人數(shù)進行統(tǒng)計的子函數(shù)voidjo(int{intn=0,i=0,j=0;chara[50]={'t','u','i','x','i','u'};for(j=0;j<k;j++)if(sta[j].num==0)break;{printf("%s%s%s%s%s%s%s%s%s%s%s\n",sta[n].num,sta[n].name,}printf("thenumberofonthejobis}/*對有高學(xué)歷高文憑的進行統(tǒng)計voidadv(int{ for(j=0;j<k;j++)if(sta[j].num==0)break;{printf("%s%s%s%s%s%s%s%s%s%s%s\n",sta[n].num,sta[n].name,}printf("thenumberofadvancedacademicdegreesis}容錯功能進行判斷NY1234按女工人數(shù)統(tǒng)計并顯按黨員人數(shù)進行統(tǒng)計按在職人數(shù)進行統(tǒng)計按高文憑高學(xué)歷進行統(tǒng)計并【思路】對于排序功能,系統(tǒng)要求能根據(jù)及來院時間進行排序能然后進入子程序按排序只需將相鄰兩結(jié)構(gòu)排序與按排的方法相同。voidsort(intj)/*排序功能板塊{int printf("pleasechoice:");{printf("Thisiswrongchoice,pleaseinputagain!\n");printf("Pleaseinputyourchoice:");switch(a)/*選擇并進入子函數(shù){case

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論