c語言課程設(shè)計報告---職工工資管理系統(tǒng)_第1頁
已閱讀1頁,還剩26頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課程設(shè)計報告</b></p><p><b>  題 目: </b></p><p>  設(shè) 計 者: </p><p><b>  專業(yè)班級: </b></p><p>  學(xué) 號: </p><

2、;p>  指導(dǎo)教師: </p><p><b>  所屬院系: </b></p><p>  2011年6月30日</p><p><b>  目錄</b></p><p>  本次課題的基本內(nèi)容和要求..........................................

3、...............</p><p>  軟件設(shè)計整體規(guī)劃及方案……...………...………………………………………</p><p>  程序功能簡介……...…...……………………………………………………………..</p><p>  操作方法(流程)……...…………………………………………………………………..</p><p&g

4、t;  各模塊的功能及程序說明……...………………………………………………….</p><p>  試驗結(jié)果(包括輸入數(shù)據(jù)和輸出結(jié)果)……...……………………………</p><p>  設(shè)計體會……...…………………………………………………………………………….</p><p>  源代碼……...…………………………………………………………………………………

5、</p><p>  參考文獻……...…………………………………………………………………………….</p><p>  一、本次課題的基本內(nèi)容和基本要求:</p><p>  基本內(nèi)容:運用C語言進行編程設(shè)計一個職工工資管理系統(tǒng)的程序,很好地實現(xiàn)該系統(tǒng)的各項功能。熟練運用turbo c,完成本次實驗。</p><p>  基本要求:本次“C

6、語言程序設(shè)計實踐”課程設(shè)計,是基于“C語言程序設(shè)計基礎(chǔ)”課程學(xué)習(xí)內(nèi)容的重要實踐環(huán)節(jié),其主要目的在于,通過綜合程序課程設(shè)計,培養(yǎng)和提高學(xué)生的獨立分析問題、解決實際問題的能力和計算機語言編程能力。本次課程設(shè)計時間為2周,要求每位同學(xué)在為期兩周的時間段內(nèi),獨立完成相關(guān)設(shè)計題所規(guī)定的任務(wù),</p><p>  合理安排時間。安排情況如下:</p><p>  1、閱讀設(shè)計題目、任務(wù)內(nèi)容,規(guī)劃設(shè)計進

7、度,并進行軟件的各相關(guān)功能模塊的規(guī)劃設(shè)計(1天)。</p><p>  2、在Turbo C環(huán)境下,用結(jié)構(gòu)化程序設(shè)計思想進行C語言程序設(shè)計、功能模塊調(diào)試(7-9天)。其中菜單及登錄界面的設(shè)計(1天), 各子函數(shù)的設(shè)計(4-5天),采用分文件的方法并上機不斷進行調(diào)試和修改(2-3天)。</p><p>  3、進行課程設(shè)計報告編寫與整理(2天)。</p><p>

8、;  二、軟件整體規(guī)劃及方案</p><p>  閱讀好設(shè)計題目和要求后,設(shè)計算法,采用分文件的形式,使各功能得到更好的實現(xiàn)。以主函數(shù),采取分模塊化,使各模塊獨立。進行結(jié)構(gòu)化分析,其指導(dǎo)思想為自頂向下、逐步求精、單入口/單出口,基本原則是抽象和功能的分解。對于較為復(fù)雜問題的大型程序開發(fā),應(yīng)采取“自頂向下、逐步細化和模塊化”的設(shè)計方法,模塊化程序設(shè)計是結(jié)構(gòu)化程序設(shè)計方法在開發(fā)大型程序中的應(yīng)用</p>

9、<p>  所謂“自頂向下,逐步細化、逐步求精”就是在對于給定問題進行透徹的了解和詳細的分析的基礎(chǔ)上,把問題分解成若干個按順序執(zhí)行的邏輯部分,稱為“模塊”。每個子任務(wù)如果仍很復(fù)雜,還可以再分解為若干個子任務(wù)。如此逐層分解,對于每個模塊的設(shè)計都采用這種“自頂向下、逐步細化”的方法,將它們分解成為基本結(jié)構(gòu)為止,就如同寫文章先擬出題目和中心內(nèi)容,再確定分為幾大部分,每一大部分又分哪幾節(jié),每一節(jié)分為幾段,每一段包括哪幾個意思,這就是“

10、自頂向下,逐步細化”的方法。</p><p>  當(dāng)一個程序的規(guī)模比較龐大,層次和模塊比較多時,不要每次都將所有模塊按順序執(zhí)行一遍,最好在每一層,至少在最高幾層都設(shè)一個“菜單”。為方便用戶操作,“菜單”技術(shù)已廣泛使用在計算機的系統(tǒng)軟件中,具體做法是:程序首先把各功能說明及相應(yīng)代號以菜單形式顯示在屏幕上,然后由用戶在鍵盤上輸入所選的功能代號,程序自動轉(zhuǎn)去調(diào)用相應(yīng)的功能模塊進行處理。</p><p

11、><b>  三、程序功能簡介</b></p><p>  1. 輸入記錄:將每一個職工的姓名、ID號以及基本工資、職務(wù)工資、崗位津貼、醫(yī)療保險、公積金的數(shù)據(jù)作為一個記錄。該軟件能建立一個新的數(shù)據(jù)文件或給已建立好的數(shù)據(jù)文件增加記錄。</p><p>  2. 顯示記錄:根據(jù)用戶提供的記錄或者根據(jù)職工姓名顯示一個或幾個職工的各項工資及平均工資。</p>

12、<p>  3. 修改記錄:可以對數(shù)據(jù)文件的任意記錄進行修改并在修改前后對記錄內(nèi)容進行顯示。</p><p>  4. 查找記錄:可以對數(shù)據(jù)文件的任意記錄的數(shù)據(jù)進行查找并在查找前后對記錄內(nèi)容進行顯示。</p><p>  5. 刪除記錄:可刪除數(shù)據(jù)文件中的任意記錄。</p><p>  6. 恢復(fù)記錄:能恢復(fù)被刪除的人已記錄。</p>&

13、lt;p>  7. 添加記錄:可以在數(shù)據(jù)文件中添加記錄并添加記錄后對記錄內(nèi)容進行顯示。</p><p>  8. 統(tǒng)計:(A)計算各項工資平均工資及總工資,(B)統(tǒng)計符合指定條件(如職工工資前三項之和在2000元以上、2000~1500元、1500~1000元)以內(nèi)的工資職工人數(shù)及占總職工人數(shù)的百分比。(C)按字符表格形式打印全部職工工資信息表即平均工資(包括各項總的平均工資)。</p>&l

14、t;p>  9.保存數(shù)據(jù)文件功能。</p><p>  經(jīng)過逐層逐塊、不斷細化、求精過程,編寫程序并進行測試、驗證,可以逐個模塊地分開調(diào)試,并通過文件包含或用工程文件的形式進行逐步聯(lián)合調(diào)試。將一些頭文件放入一個HEAD的文件中,變量的定義放入HEAD2的文件中,自定義函數(shù)的聲明放入DECLARATION的文件中,各個子函數(shù)文件放入FUNCTION的文件中。</p><p><b

15、>  四、操作方法</b></p><p>  進入版本信息界面后,敲擊enter鍵進入主菜單。</p><p>  然后根據(jù)主菜單進行操作,選擇功能1為輸入信息。功能2 為輸出信息,敲任意鍵返回。</p><p>  返回主菜單后,選擇3為修改功能,根據(jù)提示用戶可以選擇通過ID號或姓名進行修改。</p><p>  功能4

16、為查詢功能,可通過ID號、姓名、基本工資、職務(wù)工資、津貼、醫(yī)療保險、公積金來查詢。其中會有提示用戶繼續(xù)查詢的功能,按1繼續(xù)查詢,按2則返回主菜單。</p><p>  功能5為刪除功能,用戶根據(jù)提示信息,輸入ID號先查找出該項信息,然后會提示用戶是否確認刪除,選擇1為確認,0為返回,敲任意鍵返回主菜單。</p><p>  功能6為恢復(fù)函數(shù),實現(xiàn)將刪除的信息恢復(fù)回來。</p>

17、<p>  功能7為添加函數(shù),根據(jù)提示輸入另外的職工的信息,在進行選擇是否繼續(xù)添加,1為是,0為返回。</p><p>  功能8為統(tǒng)計功能,用戶可看到原始信息,查看工資在1000~1500的選擇1,1500~2000的選擇2,2000以上的選擇3,選擇完畢后用戶會看到該范圍內(nèi)的人數(shù)及比例,還有會先輸出總的各項工資平均值,再提示是否繼續(xù)統(tǒng)計,1為繼續(xù),0為返回主菜單。</p><p

18、>  返回主菜單后,選擇0 為退出程序。</p><p>  五、各模塊的功能及程序說明</p><p>  1.main函數(shù)中主要顯示菜單并進行調(diào)用函數(shù)操作。</p><p>  2.input函數(shù)主要是讓用戶往系統(tǒng)中輸入職工的相關(guān)信息,在調(diào)用保存函數(shù)save和save2保存到兩個文件employee_list、worker_txt(備份文件)中。其中保存到

19、worker_txt中是備份數(shù)據(jù)。</p><p>  3.diplay函數(shù)是用來顯示用戶輸入的信息,以便用戶觀察。</p><p>  4.modfiy函數(shù)是用來讓用戶修改輸入或原有的信息,然后在調(diào)用save和save2函數(shù)將數(shù)據(jù)保存起來。并且用戶可以選擇不同的方式對數(shù)據(jù)信息進行修改,可以用輸入ID號或職工的姓名來進行數(shù)據(jù)修改。</p><p>  5.searc

20、h函數(shù)是供用戶查詢信息用的。也有很多方式供用戶選擇,用戶可以通過選擇職工的ID號、姓名、基本工資、職務(wù)工資、津貼、醫(yī)療保險、公積金來對職工信息進行查詢。</p><p>  6.delete函數(shù)是幫助用戶將不需要的信息及時刪除,用戶根據(jù)職工的ID號來刪除信息。然后只調(diào)用save函數(shù),對該操作進行保存。</p><p>  7.recover函數(shù)是幫助用戶將誤刪的信息恢復(fù),通過將worker

21、_txt中的數(shù)據(jù)信息復(fù)制到文件employee_list中來實現(xiàn)恢復(fù),然后再調(diào)用save函數(shù)進行保存。</p><p>  8.add函數(shù)是用來添加職工信息的。用戶可以輸入多條信息添加到該系統(tǒng)中,然后在調(diào)用save和save2函數(shù)對數(shù)據(jù)信息進行保存并備份。</p><p>  9.save、save2函數(shù)都為保存函數(shù),每次操作是但需要保存時對兩者進行調(diào)用,但在刪除函數(shù)中只能調(diào)用save函數(shù)

22、,因為備份文件中的數(shù)據(jù)信息是用來恢復(fù)刪除信息用的。</p><p>  10.load、load2函數(shù)為導(dǎo)出函數(shù),在每次要用到數(shù)據(jù)信息是要調(diào)用這兩個函數(shù),并且當(dāng)進行recover函數(shù)時只能調(diào)用load2函數(shù),將備份中的數(shù)據(jù)信息保存到employee_list中,從而達到恢復(fù)功能。</p><p>  11.將一些程序中的頭文件都包含到head文件中。將變量的定義放到head2文件之中,其中

23、包括全局變量和結(jié)構(gòu)體等等。再將自定義函數(shù)聲明放入到declaration文件中,然后把含有子函數(shù)定義過程的文件都放入function文件中。</p><p>  六、試驗結(jié)果(包括輸入數(shù)據(jù)和輸出結(jié)果)</p><p>  輸入數(shù)據(jù)及界面如上圖所示。</p><p>  輸出的數(shù)據(jù)如上圖所示,各職工的信息都以顯示出來。</p><p><

24、b>  七、設(shè)計體會</b></p><p>  為期兩周的課程設(shè)計已經(jīng)結(jié)束了,經(jīng)過了一個學(xué)期的C語言學(xué)習(xí),我已經(jīng)在C語言程序設(shè)計方面有了更多的了解和體會。這次的課程設(shè)計對我來說是一次考驗,雖然在期間又遇到過不少問題,但在老師、室友和同學(xué)的幫助下,我還是完成了這次實驗。經(jīng)過了兩周的時間,我對其中的知識點又鞏固了一下,并且能較好掌握不熟練的部分,比如文件的使用,將程序份文件化能很好的在調(diào)試過程中對

25、語句進行修改,如果不分文件的話,在修改的時候會因為程序太長而帶來麻煩。</p><p>  起初,我比較迷茫,因為在文件方面自己不太熟悉,不知道如何使用,這讓我在比較頭疼,經(jīng)過一天的時間,通過看書以及這方面的資料和向同學(xué)求助,最后我還是弄懂了,心里挺開心的。在子函數(shù)我遇到了一個很大問題,就是對恢函數(shù)不知如何下手,我有想過用添加函數(shù)直接加進去,還有與同學(xué)探討得知可以找到刪除數(shù)據(jù)信息的位置,然后在輸入進去來完成恢復(fù)。

26、但我覺得這樣不夠好,經(jīng)過一個下午的嘗試,我想到可以將原有的數(shù)據(jù)信息保存進兩個文件中,這樣在進行恢復(fù)時先導(dǎo)出備份中的數(shù)據(jù),在保存到原先的數(shù)據(jù)文件中,這樣就完成了恢復(fù)操作。</p><p>  編寫程序是一項十分縝密的工作,編寫者需要縝密的思維和很好的耐性,在調(diào)試和運行的過程中或遇到許多問題,沒有很好的耐性,會影響自己的心理,變得焦躁。在編寫程序中,真的是細節(jié)決定成敗,因為不管程序的語句是多是少,但是只要有一條語句或

27、語法不正確,就不能使程序得到所需要的結(jié)果。沒能夠使自己編寫出來的程序等到想要的結(jié)果,意味著這是一個不理想的程序,對于本次編寫來說則是失敗的。通過此次實踐,讓我明白了在做任何一件事之前,都需要進行整體規(guī)劃,理一下大體的思路,不然會走很多彎路,浪費很多不必要的時間。</p><p><b>  八、源代碼</b></p><p>  /*head.h*/</p>

28、;<p>  #ifndef head</p><p>  #define head</p><p>  #include"stdio.h"</p><p>  #include"string.h"</p><p>  #include"conio.h"</p&g

29、t;<p>  #include"stdlib.h"</p><p>  #include"graphics.h"</p><p><b>  #endif</b></p><p>  /*head2.h*/</p><p>  #ifndef head2</p

30、><p>  #define head2</p><p>  #define N 3</p><p>  int t=0,i=0,j=0,k=0;</p><p>  static int count=0;</p><p>  struct employee</p><p><b>  {

31、</b></p><p><b>  int id;</b></p><p>  char name[40];</p><p>  int jiben;</p><p>  int zhiwu;</p><p>  int jintie;</p><p>  i

32、nt yibao;</p><p>  int gongjijin;</p><p>  int total;</p><p>  }em[100],*p=em;</p><p><b>  #endif</b></p><p>  /*declaration.h 函數(shù)聲明*/</p>

33、<p>  #ifndef declaration</p><p>  #define declaration</p><p>  void input();</p><p>  void display();</p><p>  void display2();</p><p>  void modfi

34、y();</p><p>  void search();</p><p>  void delete();</p><p>  void recover();</p><p>  void add();</p><p>  void tongji();</p><p>  void tongj

35、i1();</p><p>  void save();</p><p>  int load2();</p><p>  void save2();</p><p>  int load();</p><p>  void menu();</p><p><b>  #endif&l

36、t;/b></p><p>  /*function.h*/</p><p>  #ifndef function</p><p>  #define function</p><p>  #include"input.c"</p><p>  #include"menu.c&quo

37、t;</p><p>  #include"display.c"</p><p>  #include"display2.c"</p><p>  #include"modfiy.c"</p><p>  #include"search.c"</p>

38、<p>  #include"save.c"</p><p>  #include"add.c"</p><p>  #include"load.c"</p><p>  #include"delete.c"</p><p>  #include&qu

39、ot;#c"</p><p>  #include"tongji2.c"</p><p>  #include"recover.c"</p><p>  #include"save2.c"</p><p>  #include"load2.c"

40、;</p><p><b>  #endif</b></p><p>  /*task1.c/</p><p>  #include"head.h"</p><p>  #include"head2.h"</p><p>  #include"de

41、claration.h"</p><p>  #include"function.h"</p><p>  void main()</p><p><b>  {</b></p><p>  extern int i;</p><p><b>  clrsc

42、r();</b></p><p>  gotoxy(20,10);</p><p>  printf("**********Central South University**********\n\n");</p><p>  gotoxy(20,11);</p><p>  printf("

43、 zhigonggongziguanlixitong \n");</p><p>  gotoxy(29,12);</p><p>  printf(" designed by pzz \n");</p><p>  gotoxy(18,13);</p

44、><p>  printf(" please click enter \n");</p><p><b>  getch();</b></p><p><b>  for(;;)</b></p><p><b>  {<

45、/b></p><p><b>  clrscr();</b></p><p><b>  menu();</b></p><p>  printf("input i:\n");</p><p>  scanf("%d",&i);</p&g

46、t;<p><b>  if(i==0)</b></p><p><b>  break;</b></p><p><b>  else</b></p><p><b>  switch(i)</b></p><p><b>  {

47、</b></p><p>  case 1:input();break;</p><p>  case 2:display();break;</p><p>  case 3:modfiy();break;</p><p>  case 4:search();break;</p><p>  case 5:

48、delete();break;</p><p>  case 6:recover();break;</p><p>  case 7:add();break;</p><p>  case 8:tongji();break;</p><p><b>  }</b></p><p><b>

49、;  }</b></p><p><b>  }</b></p><p>  /*input.c 輸入函數(shù)*/</p><p>  void input()</p><p><b>  {</b></p><p><b>  clrscr();<

50、/b></p><p>  for(i=0;;i++)</p><p><b>  {</b></p><p>  printf("ID number:\n");</p><p>  scanf("%d",&(*(p+i)).id);</p><p

51、>  printf("the worker's name:\n");</p><p>  scanf("%s",(*(p+i)).name);</p><p>  printf("jibengongzi:\n");</p><p>  scanf("%d",&(*(

52、p+i)).jiben);</p><p>  printf("zhiwugongzi:\n");</p><p>  scanf("%d",&(*(p+i)).zhiwu);</p><p>  printf("jintie:\n");</p><p>  scanf(&q

53、uot;%d",&(*(p+i)).jintie);</p><p>  printf("yiliaobaoxian:\n");</p><p>  scanf("%d",&(*(p+i)).yibao);</p><p>  printf("gongjijin:\n");<

54、/p><p>  scanf("%d",&(*(p+i)).gongjijin);</p><p><b>  count++;</b></p><p>  printf("input again?yes(1) or no(0):\n");</p><p>  scanf(&q

55、uot;%d",&t);</p><p><b>  if(t==1)</b></p><p><b>  continue;</b></p><p><b>  else</b></p><p><b>  break;</b><

56、/p><p><b>  }</b></p><p>  save2(count);</p><p>  save(count);</p><p><b>  getch();</b></p><p><b>  }</b></p><p

57、>  /*display.c 顯示函數(shù)*/</p><p>  void display()</p><p><b>  {</b></p><p>  int m=load();</p><p><b>  clrscr();</b></p><p>  tongji

58、1();</p><p>  printf(" ID name jibengongzi zhiwugongzi jintie yiliaobaoxian gongjijin total\n");</p><p>  for(i=0;i<m;i++)</p><p><b>  {</b></p

59、><p>  gotoxy(2,i+2);</p><p>  printf("%d",(*(p+i)).id);</p><p>  gotoxy(7,i+2);</p><p>  printf("%s",(*(p+i)).name);</p><p>  gotoxy(15,i

60、+2);</p><p>  printf("%d",(*(p+i)).jiben);</p><p>  gotoxy(28,i+2);</p><p>  printf("%d",(*(p+i)).zhiwu);</p><p>  gotoxy(41,i+2);</p><p&

61、gt;  printf("%d",(*(p+i)).jintie);</p><p>  gotoxy(50,i+2);</p><p>  printf("%d",(*(p+i)).yibao);</p><p>  gotoxy(65,i+2);</p><p>  printf("%d&

62、quot;,(*(p+i)).gongjijin);</p><p>  gotoxy(75,i+2);</p><p>  printf("%d\n",(*(p+i)).total);</p><p><b>  }</b></p><p><b>  getch();</b>

63、</p><p><b>  }</b></p><p>  /*modify.c 修改函數(shù)*/</p><p>  void modfiy()</p><p><b>  {</b></p><p>  int t=0,flog,a,m=load();</p>

64、<p>  char b[40];</p><p><b>  clrscr();</b></p><p>  tongji1();</p><p>  display();</p><p>  printf("please input the ID(1) or name(0) you want

65、to edit:\n");</p><p>  scanf("%d",&a);</p><p><b>  if(a==1)</b></p><p><b>  {</b></p><p>  printf("please input ID numbe

66、r:\n");</p><p>  scanf("%d",&t);</p><p>  for(k=0;k<m;k++)</p><p><b>  {</b></p><p>  if(t==(*(p+k)).id)</p><p><b>

67、  {</b></p><p>  printf(" ID name jibengongzi zhiwugongzi jintie yiliaobaoxian gongjijin total");</p><p>  gotoxy(2,k+m+7);</p><p>  printf("%d"

68、,(*(p+k)).id);</p><p>  gotoxy(7,k+m+7);</p><p>  printf("%s",(*(p+k)).name);</p><p>  gotoxy(15,k+m+7);</p><p>  printf("%d",(*(p+k)).jiben);</p

69、><p>  gotoxy(28,k+m+7);</p><p>  printf("%d",(*(p+k)).zhiwu);</p><p>  gotoxy(41,k+m+7);</p><p>  printf("%d",(*(p+k)).jintie);</p><p>  

70、gotoxy(51,k+m+7);</p><p>  printf("%d",(*(p+k)).yibao);</p><p>  gotoxy(66,k+m+7);</p><p>  printf("%d",(*(p+k)).gongjijin);</p><p>  gotoxy(76,k+m+

71、7);</p><p>  printf("%d\n",(*(p+k)).total);</p><p>  printf("do you want to edit? 1(yes) or 0(no):\n");</p><p>  scanf("%d",&flog);</p><

72、p>  if(flog==1)</p><p><b>  {</b></p><p>  printf("input new name\n");</p><p>  scanf("%s",(*(p+k)).name);</p><p>  printf("inpu

73、t new jibengongzi\n");</p><p>  scanf("%d",&(*(p+k)).jiben);</p><p>  printf("input new zhiwugongzi:\n");</p><p>  scanf("%d",&(*(p+k)).zh

74、iwu);</p><p>  printf("input new jintie:\n");</p><p>  scanf("%d",&(*(p+k)).jintie);</p><p>  printf("input new yilaiobaoxian:\n");</p><

75、p>  scanf("%d",&(*(p+k)).yibao);</p><p>  printf("input new gongjijin:\n");</p><p>  scanf("%d",&(*(p+k)).gongjijin);</p><p>  (*(p+i)).tota

76、l=(*(p+i)).jiben+(*(p+i)).zhiwu+(*(p+i)).jintie-(*(p+i)).yibao-(*(p+i)).gongjijin;</p><p>  printf(" edit ok\n");</p><p><b>  }</b></p><p>  if(flog==0)</p&

77、gt;<p><b>  {</b></p><p>  printf(" exit! \n\n");</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  }

78、</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  if(a==0)</b></p><p><b>  {</b></p><p>  printf(&

79、quot;please input the name:\n");</p><p>  scanf("%s",b);</p><p>  for(k=0;k<m;k++)</p><p><b>  {</b></p><p>  if(strcmp(b,(*(p+k)).name)==

80、0)</p><p><b>  {</b></p><p>  printf(" ID name jibengongzi zhiwugongzi jintie yiliaobaoxian gongjijin total\n");</p><p>  gotoxy(2,k+m+7);</p&g

81、t;<p>  printf("%d",(*(p+k)).id);</p><p>  gotoxy(7,k+m+7);</p><p>  printf("%s",(*(p+k)).name);</p><p>  gotoxy(17,k+m+7);</p><p>  printf(&

82、quot;%d",(*(p+k)).jiben);</p><p>  gotoxy(30,k+m+7);</p><p>  printf("%d",(*(p+k)).zhiwu);</p><p>  gotoxy(43,k+m+7);</p><p>  printf("%d",(*(p

83、+k)).jintie);</p><p>  gotoxy(53,k+m+7);</p><p>  printf("%d",(*(p+k)).yibao);</p><p>  gotoxy(68,k+m+7);</p><p>  printf("%d\n",(*(p+k)).gongjijin)

84、;</p><p>  gotoxy(77,k+m+7);</p><p>  printf("%d\n",(*(p+i)).total);</p><p>  printf("do you want to edit? 1(yes) or 0(no):\n");</p><p>  scanf(&quo

85、t;%d",&flog);</p><p>  if(flog==1)</p><p><b>  {</b></p><p>  printf("input new jibengongzi\n");</p><p>  scanf("%d",&(*(p+

86、k)).jiben);</p><p>  printf("input new zhiwugongzi:\n");</p><p>  scanf("%d",&(*(p+k)).zhiwu);</p><p>  printf("input new jintie:\n");</p>&

87、lt;p>  scanf("%d",&(*(p+k)).jintie);</p><p>  printf("input new yilaiobaoxian:\n");</p><p>  scanf("%d",&(*(p+k)).yibao);</p><p>  printf(&q

88、uot;input new gongjijin:\n");</p><p>  scanf("%d",&(*(p+k)).gongjijin);</p><p>  (*(p+i)).total=(*(p+i)).jiben+(*(p+i)).zhiwu+(*(p+i)).jintie-(*(p+i)).yibao-(*(p+i)).gongjijin

89、;</p><p>  printf(" edit ok\n");</p><p><b>  }</b></p><p>  if(flog==0)</p><p><b>  {</b></p><p>  printf(" exit!

90、 \n\n");</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b&g

91、t;  }</b></p><p><b>  save2(m);</b></p><p><b>  save(m);</b></p><p>  display();</p><p><b>  getch();</b></p><p>

92、<b>  }</b></p><p>  /*search.c* 查詢函數(shù)/</p><p>  void search()</p><p>  {int t,m=load();</p><p>  char a[40];</p><p><b>  clrscr();</b&g

93、t;</p><p><b>  for(;;)</b></p><p><b>  {</b></p><p>  printf("*******employee information search*******\n");</p><p>  printf("

94、 1.search by ID number \n");</p><p>  printf(" 2.search by name \n");</p><p>  printf(" 3.search by jiben \n"

95、);</p><p>  printf(" 4.search by zhiwu \n");</p><p>  printf(" 5.search by jintie \n");</p><p>  printf(" 6

96、.search by yibao \n");</p><p>  printf(" 7.search by gongjijin \n");</p><p>  printf(" 0.exit \n");<

97、;/p><p>  printf("choose the way:\n");</p><p>  scanf("%d",&j);</p><p>  if(j>=0&&j<=7)</p><p><b>  {</b></p><

98、p><b>  switch(j)</b></p><p><b>  {</b></p><p><b>  case 1:</b></p><p>  printf("input ID number:\n");</p><p>  scanf(&q

99、uot;%d",&t);</p><p>  for(k=0;k<m;k++)</p><p><b>  {</b></p><p>  if(t==(*(p+k)).id)</p><p><b>  {</b></p><p>  printf(

100、" ID name jibengongzi zhiwugongzi jintie yiliaobaoxian gongjijin total\n");</p><p>  printf("%2d%5s%10d%12d%13d%9d%15d%11d\n",(*(p+k)).id,(*(p+k)).name,(*(p+k)).jiben,(*(p+k)).zh

101、iwu,(*(p+k)).jintie,(*(p+k)).yibao,(*(p+k)).gongjijin,(*(p+k)).total);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  break;</b></p><

102、p><b>  case 2:</b></p><p>  printf("input name\n");</p><p>  scanf("%s",a);</p><p>  for(k=0;k<m;k++)</p><p><b>  {</b>

103、;</p><p>  if(strcmp(a,(*(p+k)).name)==0)</p><p><b>  {</b></p><p>  printf(" ID name jibengongzi zhiwugongzi jintie yiliaobaoxian gongjijin total\n")

104、;</p><p>  printf("%2d%5s%10d%12d%13d%9d%15d%11d\n",(*(p+k)).id,(*(p+k)).name,(*(p+k)).jiben,(*(p+k)).zhiwu,(*(p+k)).jintie,(*(p+k)).yibao,(*(p+k)).gongjijin,(*(p+k)).total);</p><p>&l

105、t;b>  }</b></p><p><b>  }</b></p><p><b>  break;</b></p><p><b>  case 3:</b></p><p>  printf("input jiben\n");<

106、;/p><p>  scanf("%d",&t);</p><p>  for(k=0;k<m;k++)</p><p><b>  {</b></p><p>  if(t==(*(p+k)).jiben)</p><p><b>  {</b>

107、;</p><p>  printf(" ID name jibengongzi zhiwugongzi jintie yiliaobaoxian gongjijin total\n");</p><p>  printf("%2d%5s%10d%12d%13d%9d%15d%11d\n",(*(p+k)).id,(*(p+k)).

108、name,(*(p+k)).jiben,(*(p+k)).zhiwu,(*(p+k)).jintie,(*(p+k)).yibao,(*(p+k)).gongjijin,(*(p+k)).total);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  b

109、reak;</b></p><p><b>  case 4:</b></p><p>  printf("input zhiwu\n");</p><p>  scanf("%d",&t);</p><p>  for(k=0;k<m;k++)</

110、p><p><b>  {</b></p><p>  if(t==(*(p+k)).zhiwu)</p><p><b>  {</b></p><p>  printf(" ID name jibengongzi zhiwugongzi jintie yiliaobaoxi

111、an gongjijin total\n");</p><p>  printf("%2d%5s%10d%12d%13d%9d%15d%11d\n",(*(p+k)).id,(*(p+k)).name,(*(p+k)).jiben,(*(p+k)).zhiwu,(*(p+k)).jintie,(*(p+k)).yibao,(*(p+k)).gongjijin,(*(p+k)).to

112、tal);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  break;</b></p><p><b>  case 5:</b></p><p>  printf(&q

113、uot;input jintie\n");</p><p>  scanf("%d",&t);</p><p>  for(k=0;k<m;k++)</p><p><b>  {</b></p><p>  if(t==(*(p+k)).jintie)</p>

114、<p><b>  {</b></p><p>  printf(" ID name jibengongzi zhiwugongzi jintie yiliaobaoxian gongjijin total\n");</p><p>  printf("%2d%5s%10d%12d%13d%9d%15d%11d

115、\n",(*(p+k)).id,(*(p+k)).name,(*(p+k)).jiben,(*(p+k)).zhiwu,(*(p+k)).jintie,(*(p+k)).yibao,(*(p+k)).gongjijin,(*(p+k)).total);</p><p><b>  }</b></p><p><b>  }</b><

116、;/p><p><b>  break;</b></p><p><b>  case 6:</b></p><p>  printf("input yibao\n");</p><p>  scanf("%d",&t);</p><p

117、>  for(k=0;k<m;k++)</p><p><b>  {</b></p><p>  if(t==(*(p+k)).yibao)</p><p><b>  {</b></p><p>  printf(" ID name jibengongzi zhi

118、wugongzi jintie yiliaobaoxian gongjijin total\n");</p><p>  printf("%2d%5s%10d%12d%13d%9d%15d%11d\n",(*(p+k)).id,(*(p+k)).name,(*(p+k)).jiben,(*(p+k)).zhiwu,(*(p+k)).jintie,(*(p+k)).yibao,

119、(*(p+k)).gongjijin,(*(p+k)).total);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  break;</b></p><p><b>  case 7:</b>&l

120、t;/p><p>  printf("input gongjijin\n");</p><p>  scanf("%d",&t);</p><p>  for(k=0;k<m;k++)</p><p><b>  {</b></p><p>  i

121、f(t==(*(p+k)).gongjijin)</p><p><b>  {</b></p><p>  printf(" ID name jibengongzi zhiwugongzi jintie yiliaobaoxian gongjijin total\n");</p><p>  printf

122、("%2d%5s%10d%12d%13d%9d%15d%11d\n",(*(p+k)).id,(*(p+k)).name,(*(p+k)).jiben,(*(p+k)).zhiwu,(*(p+k)).jintie,(*(p+k)).yibao,(*(p+k)).gongjijin,(*(p+k)).total);</p><p><b>  }</b></p>

123、<p><b>  }</b></p><p><b>  break;</b></p><p><b>  case 0:</b></p><p><b>  return;</b></p><p><b>  }</b&g

124、t;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  printf("error!\n");</p><p>  printf(&quo

125、t;input again!\n");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  /*delete.c 刪除函數(shù)*/</p><p>  voi

126、d delete()</p><p><b>  {</b></p><p>  int m=load();</p><p>  printf("the information:\n");</p><p>  tongji1();</p><p>  display();<

127、;/p><p>  printf("please input the id that you want to delete:\n");</p><p>  scanf("%d",&t);</p><p>  for(i=0;i<m;i++)</p><p><b>  {</b

128、></p><p>  if(t==(*(p+i)).id)</p><p><b>  {</b></p><p>  printf(" ID name jiben zhiwu jintie yibao gongjijin total\n");</p><p>  printf(&

129、quot;%2d %4s %6d %5d %6d %7d %6d %10d\n",(*(p+i)).id,(*(p+i)).name,(*(p+i)).jiben,(*(p+i)).zhiwu,(*(p+i)).jintie,(*(p+i)).yibao,(*(p+i)).gongjijin,(*(p+i)).total);</p><p>  printf("sure delete yes

130、(1) or no (0)\n");</p><p>  scanf("%d",&k);</p><p><b>  if(k==1)</b></p><p><b>  {</b></p><p>  for(j=i;j<m;j++)</p>

131、<p><b>  {</b></p><p>  em[j]=em[j+1];</p><p><b>  }</b></p><p><b>  m=m-1;</b></p><p><b>  }</b></p><

132、p>  else if(k==0)</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  printf("display the information!\n&quo

133、t;);</p><p><b>  save(m);</b></p><p>  display();</p><p>  printf("continue (1) or return (0)\n");</p><p>  scanf("%d",&t);</p>

134、;<p><b>  switch(t)</b></p><p><b>  {</b></p><p>  case 1:delete();break;</p><p>  case 0:break;</p><p>  default :break;</p><

135、p><b>  }</b></p><p><b>  }</b></p><p>  /*recover.c 恢復(fù)函數(shù)*/</p><p>  void recover()</p><p><b>  {</b></p><p>  int n

136、=load2();</p><p>  for(i=0,j=0;i<n&&j<n;i++,j++)</p><p><b>  {</b></p><p>  (*(p+i)).id=(*(p+j)).id;</p><p>  strcpy((*(p+i)).name,(*(p+j)).na

137、me);</p><p>  (*(p+i)).jiben=(*(p+j)).jiben;</p><p>  (*(p+i)).zhiwu=(*(p+j)).zhiwu;</p><p>  (*(p+i)).jintie=(*(p+j)).jintie;</p><p>  (*(p+i)).yibao=(*(p+j)).yibao;&l

138、t;/p><p>  (*(p+i)).gongjijin=(*(p+j)).gongjijin;</p><p>  (*(p+i)).total=(*(p+j)).total;</p><p><b>  }</b></p><p><b>  save(n);</b></p><

溫馨提示

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

評論

0/150

提交評論