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

下載本文檔

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

文檔簡介

1、<p><b>  C語言課程設(shè)計(jì)報(bào)告</b></p><p> 題 目:職工工資系統(tǒng)管理</p><p> 班 級:</p><p> 組 名:</p><p> 指導(dǎo)教師:</p><p> 日 期:2011.12.19</p><p>

2、;<b>  目 錄</b></p><p><b>  1 需求分析</b></p><p><b>  1.1 問題分析</b></p><p><b>  1.2 采用技術(shù)</b></p><p><b>  1.3 設(shè)計(jì)目標(biāo)&l

3、t;/b></p><p><b>  2 總體設(shè)計(jì)</b></p><p>  2.1 系統(tǒng)流程設(shè)計(jì)</p><p><b>  3 詳細(xì)設(shè)計(jì)</b></p><p>  3.1 添加職工信息</p><p>  3.2 查看職工信息</p>

4、<p>  3.3 查找職工信息</p><p>  3.4 刪除職工信息</p><p>  3.5 職工工資排序</p><p>  3.6 統(tǒng)計(jì)職工工資</p><p>  3.7 修改職工信息</p><p><b>  3.8 保存數(shù)據(jù)</b></p>

5、<p><b>  3.9 退出系統(tǒng)</b></p><p><b>  3.10 作者信息</b></p><p><b>  4 設(shè)計(jì)體會</b></p><p><b>  5 參考文獻(xiàn)</b></p><p><b> 

6、 6 時(shí)間安排表</b></p><p>  7 課程設(shè)計(jì)評定表</p><p><b>  1 需求分析</b></p><p><b>  1.1 問題分析</b></p><p>  此程序需要把職工的姓名,工號和工資輸進(jìn)去,然后根據(jù)需求進(jìn)行查看,查找,刪除,排序,修改,統(tǒng)

7、計(jì),保存等功能。</p><p><b>  1.2 采用技術(shù)</b></p><p>  if語句和switch語句以及嵌套應(yīng)用 , 數(shù)組的定義,指針函數(shù),結(jié)構(gòu)體,函數(shù)調(diào)用以及輸入輸出的方法</p><p><b>  1.3 設(shè)計(jì)目標(biāo)</b></p><p>  1.熟悉C語言程序的編輯、編

8、譯鏈接和運(yùn)行的過程。 2.熟練運(yùn)用if語句和switch語句以及嵌套應(yīng)用。3.學(xué)習(xí)并掌握C語言定義函數(shù)的基本方法、聲明函數(shù)及調(diào)用函數(shù)的方法和過程。4. 掌握文件的概念以及文件的定義方法,認(rèn)識文件打開、關(guān)閉、讀、寫等文件基本操作函數(shù)。5.掌握結(jié)構(gòu)體類型變量、數(shù)組的定義和使用。6. 掌握數(shù)組的定義、引用以及輸入輸出的方法、通過字符數(shù)組存儲字符串,進(jìn)一步使用字符串。</p><p><b>  2 總體設(shè)計(jì)

9、</b></p><p>  2.1 系統(tǒng)流程設(shè)計(jì)</p><p><b>  3 詳細(xì)設(shè)計(jì)</b></p><p>  #include <stdio.h></p><p>  #include <stdlib.h></p><p>  #include

10、<string.h></p><p>  struct worker</p><p>  {char name[30];</p><p>  char ID[10];</p><p>  int salary1,salary2,salary3;</p><p>  };struct worker repla

11、ce;</p><p>  int dq(struct worker wo[]);</p><p>  void show();</p><p>  void bc(struct worker wo[]);</p><p>  void add(); </p><p>  void see();</p>

12、<p>  void search();</p><p>  void ghcz();</p><p>  void xmcz();</p><p>  void del();</p><p>  void xmsc();</p><p>  void ghsc();</p><p>

13、  void array();</p><p>  void array_salary1();</p><p>  void array_salary2();</p><p>  void array_salary3() ;</p><p>  void statistics();//統(tǒng)計(jì).</p><p>  voi

14、d modify();//修改.</p><p>  void ghxg(); </p><p>  void xmxg();</p><p>  void reserve();//儲存.</p><p>  void back();</p><p>  void author();</p><p&

15、gt;  struct worker wo[100]; //保存所有的職工信息</p><p>  int Number=0; //記錄總的職工人數(shù)</p><p>  void main(){</p><p>  int choose=0;</p><p>  while(true) //無限循環(huán).{ </p><p&g

16、t;  show();//(調(diào)用函數(shù))</p><p>  printf("\t\t====>請選擇:");</p><p>  scanf("%d",&choose);</p><p>  system("cls");//清除界面</p><p>  switch(c

17、hoose){</p><p>  case 0: exit(0);//退出</p><p><b>  break; </b></p><p>  case 1: add();</p><p>  back();//添加職工信息</p><p><b>  break; </b&

18、gt;</p><p>  case 2: see();</p><p>  back();//查看職工信息</p><p><b>  break; </b></p><p>  case 3: search();</p><p>  back();// 查找職工信息 </p>&

19、lt;p><b>  break;</b></p><p>  case 4: del(); </p><p>  back();//刪除職工信息</p><p><b>  break;</b></p><p>  case 5: array();</p><p> 

20、 back();//職工工資排序</p><p><b>  break;</b></p><p>  case 6: statistics();</p><p>  back();//統(tǒng)計(jì)職工工資</p><p><b>  break;</b></p><p>  cas

21、e 7: modify();</p><p>  back();//修改職工信息</p><p><b>  break; </b></p><p>  case 8:reserve();</p><p>  back();//保存數(shù)據(jù) </p><p><b>  break;<

22、/b></p><p>  case 9:author();</p><p>  back();//作者信息</p><p><b>  break;</b></p><p>  default://(跳出界面)</p><p><b>  break;}</b><

23、;/p><p>  fflush(stdin);//stdin指的是標(biāo)準(zhǔn)輸入緩沖區(qū),fflush(stdin)則是刷新標(biāo)準(zhǔn)輸入緩沖區(qū),把輸入緩沖區(qū)里的東西丟棄</p><p>  getchar();</p><p>  system("cls");//清除屏幕信息.}}</p><p>  int dq(struct wor

24、ker wo[])</p><p><b>  {</b></p><p>  FILE *fp=NULL;//文件類型指針(FILE)指向文件(*fp)空文件(NULL)</p><p><b>  int i=0;</b></p><p>  fp=fopen("C://worker.

25、dat","rb");//打開文件調(diào)用的函數(shù)(fopen) 讀取二進(jìn)制文件(rb)</p><p>  while(fread(&wo[i],sizeof(struct worker),1,fp))</p><p><b>  i++;</b></p><p>  fclose(fp);//關(guān)閉文件調(diào)用的函

26、數(shù)</p><p>  return i;//返回.循環(huán).}</p><p>  void show()</p><p>  {printf(" .-===-. .-=<>=-. _<>_ >.=w=.< .- <O> -. \n"

27、;);</p><p>  printf(" / \\ /__----__\\ / \\ / _ \\ /_-\\.../-_\\ 樂 \n");</p><p>  printf(" |==/=\\==| |/ (.)(.) \\| |==\\==/==| | /

28、\\ | |/ o) (o \\| \n");</p><p>  printf(" | O O | \\ __ / | >< | | |.| | \\ ._. / 悟 \n");</p><p>  printf(" \\ V / ,

29、.--__--.. ,>-_,,_-<. \\ X / ,>-_,,,_-<. \n");</p><p>  printf(" /`---'\\ / :| \\ V( `-====-' )V /`---'\\ / :| \\ 者 \n")

30、;</p><p>  printf(" O'_:_`O (_) :| (_) (_____:|_____) O'_|_`O (_) :| (_) \n");</p><p>  printf(" -- -- -- -- ---- ---- --

31、-- -- -- \n");</p><p>  printf("\t ~v~ *********<<職工工資管理系統(tǒng)>>********* ~v~\n\n");</p><p>  printf("\t ~v~ ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

32、☆☆☆☆☆ ~v~\n");printf("\t ~v~ ^^^^^^^^^^^[1] 添加職工信息^^^^^^^^^^^ ~v~\n");</p><p>  printf("\t ~v~ ^^^^^^^^^^^[2] 查看職工信息^^^^^^^^^^^ ~v~\n");</p>&l

33、t;p>  printf("\t ~v~ ^^^^^^^^^^^[3] 查找職工信息^^^^^^^^^^^ ~v~\n");</p><p>  printf("\t ~v~ ^^^^^^^^^^^[4] 刪除職工信息^^^^^^^^^^^ ~v~\n");</p><p>  pri

34、ntf("\t ~v~ ^^^^^^^^^^^[5] 職工工資排序^^^^^^^^^^^ ~v~\n");</p><p>  printf("\t ~v~ ^^^^^^^^^^^[6] 統(tǒng)計(jì)職工工資^^^^^^^^^^^ ~v~\n");</p><p>  printf("\t

35、 ~v~ ^^^^^^^^^^^[7] 修改職工信息^^^^^^^^^^^ ~v~\n");</p><p>  printf("\t ~v~ ^^^^^^^^^^^[8] 保 存 數(shù) 據(jù)^^^^^^^^^^^ ~v~\n");</p><p>  printf("\t ~v~

36、 ^^^^^^^^^^^[9] 作 者 信 息^^^^^^^^^^^ ~v~\n");</p><p>  printf("\t ~v~ ^^^^^^^^^^^[0] 退 出 系 統(tǒng)^^^^^^^^^^^ ~v~\n");</p><p>  printf("\t ~v~ ☆☆☆☆☆☆☆☆☆☆

37、☆☆☆☆☆☆☆☆☆☆☆☆☆☆ ~v~\n\n");}</p><p>  void bc(struct worker *wo)</p><p><b>  {</b></p><p>  FILE *fp=NULL;</p><p>  fp=fopen("C://worker.dat"

38、,"ab+");//在文件尾部追加可讀可寫的二進(jìn)制文件(ab+)</p><p>  fwrite(wo,sizeof(struct worker),1,fp);//寫入二進(jìn)制文件(fwrite)</p><p>  fclose(fp);}</p><p><b>  3.1添加職工信息</b></p>&l

39、t;p>  void add() </p><p>  {int numberTemp=0;//起臨時(shí)作用的變量</p><p><b>  int i=0;</b></p><p>  struct worker temp; </p><p>  printf("請輸入要添加職工個(gè)數(shù):");&

40、lt;/p><p>  scanf("%d",&numberTemp); </p><p>  for(i=0;i<numberTemp;i++)</p><p><b>  {</b></p><p>  printf("輸入第%d個(gè)職工信息\n",i+1);</

41、p><p>  printf("姓名:");</p><p>  scanf("%s",temp.name); </p><p>  printf("工號:");</p><p>  scanf("%s",temp.ID);</p><p> 

42、 printf("基本工資:");</p><p>  scanf("%d",&temp.salary1);</p><p>  printf("職務(wù)工資:");</p><p>  scanf("%d",&temp.salary2);</p><p&

43、gt;  printf("津貼:");</p><p>  scanf("%d",&temp.salary3);</p><p>  wo[Number++]=temp; //寫入到數(shù)組</p><p>  bc(&temp); //寫入到文件(臨時(shí)保存信息)}</p><p>  pr

44、intf("添加成功\n");}</p><p><b>  3.2查看職工信息</b></p><p>  void see() //查看信息. {</p><p><b>  int i=0; </b></p><p>  printf("\t\t\t\t以下是全部

45、職工\n");</p><p>  printf("\n\n\t姓名\t\t工號\t\t基本工資\t</p><p>  職務(wù)工資\t津貼\n\n");</p><p>  while(i<Number) </p><p>  {printf("--------------------------

46、-----------------------</p><p>  -------------------------------\n");</p><p>  printf("\t%s\t\t%s\t\t%d\t\t%d\t\t%d\n",wo[i].name,wo[i]. ID,wo[i].salary1,wo[i].salary2,wo[i].salar

47、y3); i++;}</p><p>  printf("--------------------------------------------------------------------------------\n");}</p><p><b>  3.3查找職工信息</b></p><p>  void sear

48、ch() </p><p><b>  {int n=0;</b></p><p>  printf("--------------------------------------------------------------------------------\n");</p><p>  printf("\t

49、*************************查找職工信息選擇*********************\n\n");</p><p>  printf(" 1 按姓名查找 \n\n");</p><p>  printf(" 2

50、 按工號查找 \n\n");</p><p>  printf(" 0 退出 \n\n");</p><p>  printf("---------------------------------------------------

51、-----------------------------\n");</p><p>  printf("\n\n\n");</p><p>  printf(" 請輸入你的選擇: \n\n");</p><p>  scanf("%d&

52、quot;,&n);</p><p><b>  switch(n)</b></p><p>  {case 1: xmcz();</p><p><b>  break;</b></p><p>  case 2: ghcz();</p><p><b>

53、  break;} }</b></p><p>  void xmcz()//按姓名查找 </p><p>  { char name[30];</p><p><b>  int i=0;</b></p><p>  printf("請輸入要查找職工姓名:");</p>&

54、lt;p>  scanf("%s",name);</p><p>  system("cls");</p><p>  printf("\n\n\t姓名\t\t工號\t\t基本工資\t職務(wù)工資\t津貼\n");</p><p>  for (i=0;i<Number;i++)</p>

55、<p>  {if (strcmp(name,wo[i].name)==0)//比較兩個(gè)字符串的大小</p><p>  {printf("--------------------------------------------------------------------------------\n");</p><p>  printf("

56、\n\t%s\t\t%s\t\t%d\t\t%d\t\t%d\n",wo[i].name,wo[i].ID,wo[i].salary1,wo[i].salary2,wo[i].salary3);}}</p><p>  printf("--------------------------------------------------------------------------------

57、\n");}</p><p>  void ghcz()//按工號查找 (函數(shù)調(diào)用)</p><p>  {char id[10];</p><p><b>  int i=0;</b></p><p>  printf("請輸入要查找職工工號:");</p><p>

58、;  scanf("%s",id);</p><p>  system("cls");//清除屏幕.</p><p>  printf("\n\n\t姓名\t\t工號\t\t基本工資\t職務(wù)工資\t津貼\n");</p><p>  printf("------------------------

59、--------------------------------------------------------\n");</p><p>  for (i=0;i<Number;i++)</p><p>  {if (strcmp(id,wo[i].ID)==0)</p><p>  {printf("\t%s\t\t%s\t\t%d\t

60、\t%d\t\t%d\n",wo[i].name,wo[i].ID,wo[i].salary1,wo[i].salary2,wo[i].salary3);}}</p><p>  printf("\n--------------------------------------------------------------------------------\n");}</p&

61、gt;<p><b>  刪除職工信息</b></p><p><b>  3.4刪除職工信息</b></p><p>  void del() </p><p><b>  {int n=0;</b></p><p>  printf("-------

62、-------------------------------------------------------------------------\n"); </p><p>  printf("\t*************************刪除職工信息選擇*********************\n\n");</p><p>  printf(&q

63、uot; 1 按姓名刪除 \n\n");</p><p>  printf(" 2 按工號刪除 \n\n");</p><p>  printf(" 0 退出

64、 \n\n");</p><p>  printf("--------------------------------------------------------------------------------\n");</p><p>  printf("\n\n\n");</p>

65、;<p>  printf(" 請輸入你的選擇: \n\n");</p><p>  scanf("%d",&n);</p><p><b>  switch(n)</b></p><p>  {case 1: x

66、msc();</p><p><b>  break;</b></p><p>  case 2: ghsc();</p><p><b>  break;}}</b></p><p>  void xmsc()//按姓名刪除 </p><p>  {FILE *fp=NUL

67、L;</p><p>  char name[30];</p><p><b>  int i=0;</b></p><p><b>  int j=0;</b></p><p>  printf("請輸入要刪除的職工姓名:");</p><p>  sc

68、anf("%s",name);</p><p>  for(i=0;i<Number;i++)</p><p>  {if (strcmp(name,wo[i].name)==0)</p><p>  {for (j=i;j<Number-1;j++)</p><p>  {wo[j]=wo[j+1];}<

69、;/p><p>  Number--;}}</p><p>  //將剩余數(shù)據(jù)寫入文件 擦除以前的數(shù)據(jù)</p><p>  fp=fopen("C://worker.dat","wb");</p><p>  for (i=0;i<Number;i++)</p><p>  {

70、fwrite(&wo[i],sizeof(struct worker),1,fp);}</p><p>  fclose(fp);</p><p>  printf("刪除成功;\n");}</p><p>  void ghsc()//按工號刪除 </p><p>  {FILE *fp=NULL;</p&

71、gt;<p>  char id[60];</p><p><b>  int i=0;</b></p><p><b>  int j=0;</b></p><p>  printf("請輸入要刪除的職工工號:");</p><p>  scanf("%

72、s",id);</p><p>  for(i=0;i<Number;i++)</p><p>  {if (strcmp(id,wo[i].ID)==0) </p><p>  {for (j=i;j<Number-1;j++)</p><p>  {wo[j]=wo[j+1];}</p><p&g

73、t;<b>  Number--;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  //將剩余數(shù)據(jù)寫入文件 擦除以前的數(shù)據(jù)</p><p>  fp=fopen("C://worker.dat",&

74、quot;wb");</p><p>  for (i=0;i<Number;i++)</p><p>  {fwrite(&wo[i],sizeof(struct worker),1,fp);//就是執(zhí)行寫入的語句, 通過傳遞要寫入的數(shù)據(jù)}</p><p>  fclose(fp);</p><p>  printf

75、("刪除成功;\n");</p><p><b>  }</b></p><p>  3.5職工工資排列函數(shù)</p><p>  void array()</p><p><b>  {int j;</b></p><p>  { printf(&qu

76、ot;--------------------------------------------------------------------------------\n");</p><p>  printf("\t*************************工資排序*********************\n\n");</p><p>  prin

77、tf(" 1 按基本工資排序 \n\n");</p><p>  printf(" 2 按職位工資排序 \n\n");</p><p>  printf("

78、 3 按津貼排序 \n\n");</p><p>  printf(" 0 退出 \n\n");</p><p>  printf("----------------------------------------------

79、----------------------------------\n");</p><p>  printf("\n\n\n");</p><p>  {printf(" 請輸入你的選擇: \n\n");</p><p>  scanf(&qu

80、ot;%d",&j);</p><p>  system("cls");</p><p>  if(j>=0&&j<=3)</p><p>  {switch(j)</p><p>  { case 1:</p><p>  arr

81、ay_salary1();break;</p><p><b>  case 2:</b></p><p>  array_salary2();break;</p><p><b>  case 3:</b></p><p>  array_salary3();break;</p>&

82、lt;p><b>  case 0:</b></p><p>  return;} }}}}</p><p>  //按基本工資排列(選擇法)</p><p>  void array_salary1()</p><p>  {int i,j,k;</p><p>  for(i=0;i&l

83、t;Number-1;i++)</p><p><b>  {k=i;</b></p><p>  for(j=i+1;j<Number;j++)</p><p>  {if(wo[k].salary1<wo[j].salary1)</p><p><b>  k=j;}</b><

84、/p><p><b>  if(k!=i)</b></p><p>  { replace=wo[k];</p><p>  wo[k]=wo[i];</p><p>  wo[i]=replace;}}</p><p>  printf("\n\n\t姓名\t\t工號\t\t基本工資\

85、t職務(wù)工資\t津貼\n\n");</p><p>  for(j=0;j<Number;j++)</p><p>  {printf("--------------------------------------------------------------------------------\n");printf("\t%s\t\t%s\t

86、\t%d\t\t%d\t\t%d\n",wo[j].name,wo[j].ID,wo[j].salary1,wo[j].salary2,wo[j].salary3);}</p><p>  printf("--------------------------------------------------------------------------------\n");}<

87、/p><p>  //按職位工資排列(冒泡法)</p><p>  void array_salary2()</p><p><b>  {int i,j;</b></p><p>  for(i=0;i<Number;i++)</p><p>  {for(j=0;j<Number-i;

88、j++)</p><p>  {if(wo[j].salary2<wo[j+1].salary2)</p><p>  {replace=wo[j];//替代 (replace)</p><p>  wo[j]=wo[j+1];</p><p>  wo[j+1]=replace;}}}</p><p>  pr

89、intf("\n\n\t姓名\t\t工號\t\t基本工資\t職務(wù)工資\t津貼\n\n");</p><p>  for(j=0;j<Number;j++)</p><p>  {printf("--------------------------------------------------------------------------------\

90、n");</p><p>  printf("\t%s\t\t%s\t\t%d\t\t%d\t\t%d\n",wo[j].name,wo[j].ID,wo[j].salary1,wo[j].salary2,wo[j].salary3);}</p><p>  printf("--------------------------------------

91、------------------------------------------\n");}</p><p>  //按津貼排序(選擇法)</p><p>  void array_salary3()</p><p>  {int i,j,k;</p><p>  for(i=0;i<Number-1;i++)</p

92、><p><b>  {k=i;</b></p><p>  for(j=i+1;j<Number;j++)</p><p>  {if(wo[k].salary3<wo[j].salary3)</p><p><b>  k=j;}</b></p><p><

93、b>  if(k!=i)</b></p><p>  { replace=wo[k];</p><p>  wo[k]=wo[i];</p><p>  wo[i]=replace; }}</p><p>  printf("\n\n\t姓名\t\t工號\t\t基本工資\t職務(wù)工資\t津貼\n\n")

94、;</p><p>  for(j=0;j<Number;j++)</p><p>  {printf("--------------------------------------------------------------------------------\n");</p><p>  printf("\t%s\t\t%

95、s\t\t%d\t\t%d\t\t%d\n",wo[j].name,wo[j].ID,wo[j].salary1,wo[j].salary2,wo[j].salary3);</p><p><b>  }</b></p><p>  printf("--------------------------------------------------

96、------------------------------\n");}</p><p><b>  //統(tǒng)計(jì)職工工資</b></p><p><b>  3.6統(tǒng)計(jì)職工工資</b></p><p>  void statistics() </p><p><b>  {<

97、/b></p><p><b>  int i=0;</b></p><p>  double s=0.0;</p><p>  double sum[100];</p><p>  printf("-------------------------------------</p><

98、p>  -------------------------------------------\n");</p><p>  printf("\n\t\t~v~ ***☆☆☆☆☆☆</p><p>  ☆☆☆☆☆☆☆☆☆☆*** ~v~\n\n");</p><p>  for(i=0;i<Number;i++)</p

99、><p><b>  {</b></p><p>  sum[i]=wo[i].salary1+wo[i].salary2+</p><p>  wo[i].salary3;</p><p>  printf(" </p><p>  %s的總工資為

100、:%.2f\n\n",wo[i].name,sum</p><p><b>  [i]);</b></p><p><b>  }</b></p><p>  for(i=0;i<Number;i++)</p><p><b>  {</b></p>

101、<p>  s+=sum[i];</p><p><b>  }</b></p><p>  printf("\t\t~v~ ***☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆*** ~v~\n\n");</p><p>  printf(" 平均工資為:%.2f\n&

102、quot;,s/Number); </p><p>  printf("\n\t\t~v~ ***☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆*** ~v~\n\n");</p><p>  printf("--------------------------------------------------------------------------------\n&

103、quot;);</p><p><b>  }</b></p><p><b>  3.7修改職工信息</b></p><p>  void modify() </p><p><b>  {</b></p><p>  int mode=0;</

104、p><p>  printf("--------------------------------------------------------------------------------\n");</p><p>  printf("\t*************************修改職工信息選擇*********************\n\n&qu

105、ot;);</p><p>  printf(" 1 按姓名修改 \n\n");</p><p>  printf(" 2 按工號修改 \n\n");</p><p>  printf

106、(" 0 退出 \n\n");</p><p>  printf("--------------------------------------------------------------------------------\n");</p><p>  

107、printf("\n\n\n");</p><p>  printf(" 請輸入你的選擇: \n\n");</p><p>  scanf("%d",&mode);</p><p>  switch(mode)</p>

108、<p>  {case 1: xmxg();</p><p><b>  break;</b></p><p>  case 2: ghxg();</p><p><b>  break;} }</b></p><p>  void xmxg()//按姓名修改 </p>

109、<p>  {FILE *fp=NULL;</p><p>  char name[30];</p><p><b>  int i=0;</b></p><p>  printf("請輸入要修改的職工姓名:");</p><p>  scanf("%s",name);&

110、lt;/p><p>  for (i=0;i<Number;i++)</p><p>  {if (strcmp(name,wo[i].name));</p><p><b>  else</b></p><p><b>  break;}</b></p><p>  pr

111、intf("\t姓名\t\t工號\t\t基本工資\t職務(wù)工資\t津貼\n");</p><p>  printf("\t%s\t\t%s\t\t%d\t\t%d\t\t%d\n",wo[i].name,wo[i].ID,wo[i].salary1,wo[i].salary2,wo[i].salary3);</p><p>  printf("

112、;請重新輸入該職工信息");</p><p>  printf("姓名:");</p><p>  scanf("%s",wo[i].name);</p><p>  printf("工號:");</p><p>  scanf("%s",wo[i].I

113、D);</p><p>  printf("基本工資:");</p><p>  scanf("%d",&wo[i].salary1);</p><p>  printf("職務(wù)工資:");</p><p>  scanf("%d",&wo[i].

114、salary2);</p><p>  printf("津貼:");</p><p>  scanf("%d",&wo[i].salary3);</p><p>  //信息修改后重新更新文件里面的數(shù)據(jù) 以保持?jǐn)?shù)據(jù)一致性</p><p>  fp=fopen("C://worker.d

115、at","wb");</p><p>  for (i=0;i<Number;i++)</p><p><b>  {</b></p><p>  fwrite(&wo[i],sizeof(struct worker),1,fp);}</p><p>  fclose(fp);

116、}</p><p>  void ghxg()//按工號修改 </p><p><b>  {</b></p><p>  FILE *fp=NULL;</p><p>  char id[30];</p><p><b>  int i=0;</b></p>

117、<p>  printf("請輸入要修改的職工工號:");</p><p>  scanf("%s",id);</p><p>  for (i=0;i<Number;i++)</p><p><b>  {</b></p><p>  if (strcmp(id,

118、wo[i].ID));</p><p><b>  else</b></p><p><b>  break;}</b></p><p>  printf("\t姓名\t\t工號\t\t基本工資\t職務(wù)工資\t津貼\n");</p><p>  printf("\t%s

119、\t\t%s\t\t%d\t\t%d\t\t%d\n",wo[i].name,wo[i].ID,wo[i].salary1,wo[i].salary2,wo[i].salary3);</p><p>  printf("請重新輸入該職工信息");</p><p>  printf("姓名:");</p><p>  

120、printf("姓名:");</p><p>  scanf("%s",wo[i].name);</p><p>  printf("工號:");</p><p>  scanf("%s",wo[i].ID);</p><p>  printf("基本工

121、資:");</p><p>  scanf("%d",&wo[i].salary1);</p><p>  printf("職務(wù)工資:");</p><p>  scanf("%d",&wo[i].salary2);</p><p>  printf(&qu

122、ot;津貼:");</p><p>  scanf("%d",&wo[i].salary3);</p><p>  //信息修改后重新更新文件里面的數(shù)據(jù) 以保持?jǐn)?shù)據(jù)一致性</p><p>  fp=fopen("C://worker.dat","wb");</p><p

123、>  for (i=0;i<Number;i++)</p><p><b>  {</b></p><p>  fwrite(&wo[i],sizeof(struct worker),1,fp);}</p><p>  fclose(fp);</p><p>  printf("\t====

124、===>修改成功\n");</p><p><b>  }</b></p><p><b>  保存數(shù)據(jù)</b></p><p><b>  3.8保存數(shù)據(jù)</b></p><p>  void reserve()</p><p>  {

125、printf("\n\n\n\n\n\n\n\n");</p><p>  printf("\t\t=====程序在運(yùn)行時(shí)已自動保存.....\n");}</p><p><b>  3.9退出系統(tǒng)</b></p><p>  void back()</p><p>  {prin

126、tf("\n\n\t\t===>按Enter鍵返回主菜單\n");}</p><p><b>  3.10作者信息</b></p><p>  void author()</p><p>  {printf("\n\n\n\t\t~v~ **☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆** ~v~\n\n");

127、</p><p>  printf("\t\t~v~ ^^^^^^^^^^^西安歐亞學(xué)院^^^^^^^^^^^ ~v~\n\n");</p><p>  printf("\t\t~v~ ^^^^^^^^^^^電子信息工程^^^^^^^^^^^ ~v~\n\n");</p><p>  printf("\t\t

128、~v~白黨軍 胡更偉 王洪來 王興興 李澤鵬制作~v~\n\n");</p><p>  printf("\t\t~v~ **☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆** ~v~");</p><p>  printf("\n\n\t\t _ ☆☆ ☆☆ ☆☆ ☆☆ _ \n");</p>&l

129、t;p>  printf("\t\t\\. _(9> ★★ ★ ★★ <6)_ ,/ \n");</p><p>  printf("\t\t \\==_) ☆☆ 祝你快樂! ☆☆ (_==/ \n");</p><p>  printf("\t\t

130、-'= ★★ ★★ ='- \n");</p><p>  printf("\t\t ☆☆ ☆☆ \n");</p><p>  printf("\t\t ★★ ★★ \

131、n");</p><p>  printf("\t\t ☆☆ ☆☆ \n");</p><p>  printf("\t\t ★★ ★★ \n");</p><p>  printf("\t\t

132、 ☆☆ \n");}</p><p><b>  4 設(shè)計(jì)體會</b></p><p>  通過這幾天的努力,職工工資管理系統(tǒng)的設(shè)計(jì)已基本完成。在本次課程設(shè)計(jì)中,我充分領(lǐng)略了C語言功能的強(qiáng)大,包括函數(shù)、數(shù)組、指針、結(jié)構(gòu)體、文件等。</p><p>  職工工資管理系統(tǒng)是一

133、個(gè)很實(shí)用并且使用廣泛的操作系統(tǒng)。此系統(tǒng)可以減少很多工作量,做到設(shè)計(jì)合理,便于使用,易于操作;界面友好,容錯(cuò)性高,可在很短的時(shí)間內(nèi),查找出所需的職工工資資料,提高工作效率。該系統(tǒng)具有添加、顯示、查詢、修改、刪除等基本功能,以方便對工資的各項(xiàng)管理操作。每一條記錄包括一個(gè)職工的工號、姓名、工資等信息,系統(tǒng)的各個(gè)功能模塊都用函數(shù)的形式來實(shí)現(xiàn),可以將職工信息保存在文件中,并從文件中讀取出來。</p><p>  總的來說,

134、通過這次程序設(shè)計(jì),使我加深了對C語言的認(rèn)識,進(jìn)一步熟悉了對C語言功能的靈活運(yùn)用,而且加深了我對程序的理解和編寫能力,通過文獻(xiàn)資料和網(wǎng)絡(luò)資料的幫助,使我對C語言程序設(shè)計(jì)這一基礎(chǔ)學(xué)科又一次加深了認(rèn)識,也意識到了其具有的強(qiáng)大功能和發(fā)展前景。這會對以后的學(xué)習(xí)有所幫助。</p><p>  通過這次程序的設(shè)計(jì),我發(fā)現(xiàn)現(xiàn)實(shí)的一個(gè)簡單實(shí)際問題要用我們學(xué)過的C語言編寫并不是一個(gè)簡單的工作.現(xiàn)實(shí)的一個(gè)職工管理系統(tǒng)并不能用我們學(xué)過的

135、一個(gè)簡單函數(shù)或簡單的語法結(jié)構(gòu)完成,他要用的許多函數(shù)和語法結(jié)構(gòu),而且在編寫過程中不僅要求我們對所學(xué)的知識非常熟悉而且在寫代碼的過程中要非常細(xì)心,因?yàn)槿魏我稽c(diǎn)小錯(cuò)誤都將導(dǎo)致程序無法運(yùn)行,導(dǎo)致程序制作失敗. 由于我們學(xué)習(xí)C語言的時(shí)間比較短,我們學(xué)到的事是有限,這就導(dǎo)致我們理想中程序需要的功能無法完成,所以我們需要找資料,而這些資料也許我們不懂,這就需要我們自學(xué)的能力,只有我們不斷學(xué)習(xí)C語言方面的新知識,才能使我們了解C語言的強(qiáng)大功能,

溫馨提示

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

評論

0/150

提交評論