c++企業(yè)工資管理系統(tǒng)課程設計_第1頁
已閱讀1頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  目錄</b></p><p>  需求分析.......................................1</p><p>  概要設計.......................................3</p><p>  詳細設計...........................

2、...........12</p><p>  調試分析......................................12</p><p>  用戶手冊......................................13</p><p>  測試數(shù)據(jù)......................................17</p

3、><p>  附錄..........................................31</p><p><b>  需求分析</b></p><p>  源文件采用多文件的工程結構。</p><p>  數(shù)據(jù)存儲采用文件形式。</p><p><b>  標準C++輸入輸

4、出</b></p><p>  程序完成企業(yè)人事工資管理,能夠實現(xiàn)工資的錄入、統(tǒng)計(整個單位的平均工資、最高工資、最低工資和工資均方差;各部門的平均工資、最高工資、最低工資和工資均方差)、查詢(按工號或姓名查詢)、修改、刪除等功能。</p><p><b>  程序執(zhí)行的命令:</b></p><p><b>  錄入員工

5、工資信息;</b></p><p>  選擇需要執(zhí)行的操作(添加、統(tǒng)計、刪除、修改、查詢);</p><p><b>  輸出結果。</b></p><p><b>  概要設計</b></p><p>  設計類的數(shù)據(jù)類型定義</p><p>  class m

6、essage{</p><p><b>  private:</b></p><p>  char bornplace[10],duty[10];//籍貫 職務</p><p>  int ID;//身份證號</p><p><b>  public:</b></p><p>

7、;  char name[10],bumen[10];//姓名 部門</p><p>  int number; //工號</p><p>  int basesalary;//基本工資</p><p>  int jobsalary;//崗位工資</p><p>  int yljj;//醫(yī)療基金</p><p>

8、  int sj;//稅金</p><p>  int jiangjin;//獎金</p><p>  friend void modify(int x); //友員函數(shù)</p><p>  friend int del(int x); //友員函數(shù)</p><p><b>  } </b></p>

9、<p><b>  程序模塊</b></p><p>  錄入操作:void writen(int x),該模版主要實現(xiàn)工資信息的錄入;</p><p>  添加操作:void add(int x),該模版主要實現(xiàn)工資信息的添加;</p><p>  刪除操作:void del(int x),該模版主要實現(xiàn)工資信息的刪除;</p

10、><p>  修改操作:void modify(int x),該模版主要實現(xiàn)工資信息的修改;</p><p>  查詢操作:void find(int x) ,該模版主要實現(xiàn)工資信息的查詢(按名字查詢或按工號查詢);</p><p>  統(tǒng)計操作:void count(int x),該模版主要實現(xiàn)工資信息的統(tǒng)計(統(tǒng)計單位的平均工資、最高工資、最低工資、工資均方差;統(tǒng)計部

11、門的平均工資、最高工資、最低工資、工資均方差)。 </p><p><b>  3.程序模塊結構</b></p><p>  void main(){</p><p><b>  菜單(輸入選擇);</b></p><p><b>  操作;</b></p>

12、<p><b>  }</b></p><p><b>  三、詳細設計</b></p><p><b> ?。?)類模塊</b></p><p>  class message{</p><p><b>  private:</b><

13、/p><p>  char bornplace[10],duty[10];//籍貫 職務</p><p>  int ID;//身份證號</p><p><b>  public:</b></p><p>  char name[10],bumen[10];//姓名 部門</p><p>  int

14、 number; //工號</p><p>  int basesalary;//基本工資</p><p>  int jobsalary;//崗位工資</p><p>  int yljj;//醫(yī)療基金</p><p>  int sj;//稅金</p><p>  int jiangjin;//獎金</p&g

15、t;<p>  message(){} //********************構造函數(shù)</p><p>  void xinxi(char a_name[],char a_bornplace[],char a_duty[],char a_bumen[],int a_ID,int a_number,int a_basesalary,int a_jobsalary,int a_jian

16、gjin,int a_yljj,int a_sj)</p><p><b>  {</b></p><p>  strcpy(name,a_name); </p><p>  strcpy(bornplace,a_bornplace); </p><p>  strcpy(duty,a_duty); </p>

17、;<p>  strcpy(bumen,a_bumen); </p><p><b>  ID=a_ID; </b></p><p>  number=a_number; </p><p>  basesalary=a_basesalary; </p><p>  jobsalary=a_jobsalary

18、; </p><p>  jiangjin=a_jiangjin; </p><p>  yljj=a_yljj; </p><p><b>  sj=a_sj; </b></p><p><b>  }</b></p><p>  message &operator

19、=(const message &s) //**********************運算符重載</p><p><b>  {</b></p><p>  strcpy(name,s.name);</p><p>  strcpy(bornplace,s.bornplace);</p><p>  str

20、cpy(duty,s.duty);</p><p>  strcpy(bumen,s.bumen);</p><p><b>  ID=s.ID;</b></p><p>  number=s.number;</p><p>  basesalary=s.basesalary;</p><p> 

21、 jobsalary=s.jobsalary;</p><p>  jiangjin=s.jiangjin;</p><p>  yljj=s.yljj;</p><p><b>  sj=s.sj;</b></p><p>  return * this;</p><p><b>  

22、}</b></p><p>  friend void modify(int x); //************************友元函數(shù)</p><p>  friend int del(int x);</p><p>  void put()</p><p><b>  {</b><

23、/p><p>  cout<<name<<" "<<bornplace<<" "<<duty<<" "<<bumen<<" "<<ID<<" "<<number<<"

24、 "<<basesalary<<" "<<jobsalary<<" "<<jiangjin<<" "<<yljj<<" "<<sj<<endl;</p><p><b>  }</b>

25、</p><p>  ~message() //**************************析構</p><p><b>  {}</b></p><p><b>  };</b></p><p> ?。?)主函數(shù)流程圖 </p

26、><p> ?。?)錄入、添加函數(shù)流程圖</p><p><b>  刪除函數(shù)流程圖</b></p><p>  message a[30];</p><p>  fstream ap("wenjian.txt",ios::in||ios::out); //文件打開操作</p><p

27、>  cout<<"請輸入要刪除人員信息的名字:"; </p><p>  cin>>ming; //輸入要刪除的人員姓名</p><p>  cout<<endl;</p><p>  for(j=0,i=0;i<temp;i++) //判斷是否刪除</p><p&

28、gt;<b>  {</b></p><p>  if(strcmp(b[i].name,ming)==0)//標記要刪除的信息</p><p><b>  {</b></p><p>  flag=i; </p><p><b>  }</b></p>

29、;<p><b>  }</b></p><p>  if(flag==-1)</p><p><b>  {</b></p><p>  cout<<"沒有要刪除的信息。"<<endl;</p><p><b>  return

30、0;</b></p><p><b>  }</b></p><p>  for(j=0,i=0;i<temp,j<temp-1; )//刪除信息</p><p><b>  {</b></p><p>  if(flag!=i)</p><p>&l

31、t;b>  {</b></p><p>  a[j]=b[i]; //刪除信息</p><p><b>  i++;</b></p><p><b>  j++;</b></p><p><b>  }</b></p><p><

32、b>  else</b></p><p><b>  i++;</b></p><p><b>  }</b></p><p>  (5)修改函數(shù)流程圖</p><p>  cout<<"輸入要修改人的名字:";</p><p&g

33、t;  cin>>ming;</p><p>  cout<<endl;</p><p>  cout<<flag<<endl;</p><p>  cout<<"請輸入修改信息:"<<endl;</p><p>  cout<<&quo

34、t;姓名: "<<endl;</p><p>  cin>>b[flag].name;</p><p>  cout<<"籍貫: "<<endl;</p><p>  cin>>b[flag].bornplace;</p><p>  cout<&

35、lt;"職務: "<<endl;</p><p>  cin>>b[flag].duty;</p><p>  cout<<"部門: "<<endl;</p><p>  cin>>b[flag].bumen;</p><p>  cout&l

36、t;<"身份證號: "<<endl;</p><p>  cin>>b[flag].ID;</p><p>  cout<<"工號: "<<endl;</p><p>  cin>>b[flag].number;</p><p>  co

37、ut<<"基本工資: "<<endl;</p><p>  cin>>b[flag].basesalary;</p><p>  cout<<"崗位工資: "<<endl;</p><p>  cin>>b[flag].jobsalary;</p&g

38、t;<p>  cout<<"獎金: "<<endl;</p><p>  cin>>b[flag].jiangjin;</p><p>  cout<<"醫(yī)療住房基金: "<<endl;</p><p>  cin>>b[flag].ylj

39、j;</p><p>  cout<<"稅金: "<<endl;</p><p>  cin>>b[flag].sj;</p><p>  cout<<endl;</p><p>  (6)查找函數(shù)流程圖</p><p><b>  1:按

40、姓名查詢</b></p><p>  cout<<"輸入要查詢的姓名:";</p><p>  cin>>ming;</p><p>  message b[30];</p><p>  fstream sp("wenjian.txt",ios::in||ios::o

41、ut);</p><p>  for(j=0,i=0;i<temp;i++)</p><p><b>  {</b></p><p>  if(strcmp(b[i].name,ming)==0)</p><p><b>  {</b></p><p>  cout&

42、lt;<"姓名 籍貫 職務 部門 身份證號 工號 基本工資 崗位工資 獎金 醫(yī)療住房基金 稅金 "<<endl;</p><p>  b[i].put();</p><p><b>  }</b></p><p><b>  }</b></p><p>

43、<b>  2.按工號查詢:</b></p><p>  cout<<"輸入要查詢的工號:";</p><p><b>  cin>>nu;</b></p><p>  message b[30];</p><p>  for(i=0;i<temp;

44、i++)</p><p><b>  {</b></p><p>  if(b[i].number==nu)</p><p><b>  {</b></p><p>  cout<<"姓名 籍貫 職務 部門 身份證號 工號 基本工資 崗位工資 獎金 醫(yī)療住房基金 稅金

45、 "<<endl;</p><p>  b[i].put();</p><p><b>  }</b></p><p><b>  }</b></p><p> ?。?)統(tǒng)計函數(shù)流程圖</p><p><b>  按部門統(tǒng)計</b>

46、</p><p>  for(j=0,i=0;i<temp;i++)</p><p><b>  {</b></p><p>  if(strcmp(b[i].bumen,a_bumen)==0)</p><p><b>  {</b></p><p>  sum=su

47、m+b[i].basesalary+b[i].jobsalary+b[i].jiangjin-b[i].yljj-b[i].sj; //實發(fā)工資</p><p>  u[i]=b[i].basesalary+b[i].jobsalary+b[i].jiangjin-b[i].yljj-b[i].sj;</p><p><b>  j++;</b></p>

48、<p><b>  }</b></p><p><b>  }</b></p><p><b>  int max;</b></p><p><b>  int min;</b></p><p><b>  max=u[0];<

49、/b></p><p><b>  min=u[0];</b></p><p><b>  int bb;</b></p><p>  for(i=0;i<temp;i++)</p><p><b>  {</b></p><p>  if(

50、U[i]>max)</p><p><b>  {</b></p><p><b>  bb=U[i];</b></p><p><b>  U[i]=max;</b></p><p>  max=bb; //最高工資</p><p><b&

51、gt;  }</b></p><p><b>  }</b></p><p>  for(i=0;i<temp;i++)</p><p><b>  {</b></p><p>  if(U[i]<min)</p><p><b>  {&l

52、t;/b></p><p><b>  bb=U[i];</b></p><p><b>  U[i]=min;</b></p><p>  min=U[i];//最低工資</p><p><b>  }</b></p><p><b>

53、  }</b></p><p>  for(i=0;i<temp;i++)</p><p><b>  { </b></p><p>  b[i].basesalary=abs(sum/(j+0.0)-b[i].basesalary);//工資均方差</p><p>  sum1=sum1+b[i].

54、basesalary;</p><p><b>  }</b></p><p><b>  2.單位統(tǒng)計</b></p><p>  int U[20];</p><p>  for(i=0;i<20;i++)</p><p><b>  {</b>

55、;</p><p><b>  U[i]=0;</b></p><p><b>  }</b></p><p>  for(j=0,i=0;i<temp;i++)</p><p><b>  {</b></p><p>  sum=sum+b[i]

56、.basesalary+b[i].jobsalary+b[i].jiangjin-b[i].yljj-b[i].sj;//實發(fā)工資</p><p>  U[i]=b[i].basesalary+b[i].jobsalary+b[i].jiangjin-b[i].yljj-b[i].sj;</p><p><b>  j++;</b></p><p&

57、gt;<b>  }</b></p><p><b>  int max;</b></p><p><b>  int min;</b></p><p><b>  max=U[0];</b></p><p><b>  min=U[0];<

58、;/b></p><p><b>  int bb;</b></p><p>  for(i=0;i<temp;i++)</p><p><b>  {</b></p><p>  if(U[i]>max)</p><p><b>  {</

59、b></p><p><b>  bb=U[i];</b></p><p><b>  U[i]=max;</b></p><p>  max=bb; //最高工資</p><p><b>  }</b></p><p><b>  }&

60、lt;/b></p><p>  for(i=0;i<temp;i++)</p><p><b>  {</b></p><p>  if(U[i]<min)</p><p><b>  {</b></p><p><b>  bb=U[i];&l

61、t;/b></p><p><b>  U[i]=min;</b></p><p>  min=U[i];//最低工資</p><p><b>  }</b></p><p><b>  }</b></p><p>  for(i=0;i<t

62、emp;i++)</p><p><b>  { </b></p><p>  b[i].basesalary=abs(sum/(j+0.0)-b[i].basesalary);//工資均方差</p><p>  sum1=sum1+b[i].basesalary;</p><p><b>  }</b

63、></p><p><b>  四、調試分析</b></p><p>  1、開始使用文件保存時出現(xiàn)不能為read錯誤,后通過查閱資料解決了問題;</p><p>  2、刪除部分程序開始不能判斷是否找到了要刪除的人員信息,后來加了flag標記后可以判斷了;</p><p>  3、統(tǒng)計部分程序在求均方差的時候出現(xiàn)

64、算法錯誤,后來查閱了均方差公式后改正了過來</p><p>  4、使用友員函數(shù)可以解決類外作用域問題。</p><p><b>  五、用戶手冊</b></p><p>  1.本程序的運行環(huán)境為doc操作系統(tǒng);</p><p>  2.進入界面后,按照提示輸入選擇;</p><p>  3.選

65、擇1:執(zhí)行工資信息錄入操作;</p><p>  4.選擇2:執(zhí)行工資信息添加操作;</p><p>  5.選擇3:執(zhí)行工資信息刪除操作;</p><p>  6.選擇4:執(zhí)行工資信息修改操作;</p><p>  7.選擇5:執(zhí)行工資信息查詢操作;</p><p>  8.選擇6:執(zhí)行工資信息統(tǒng)計操作;</p

66、><p>  9.選擇7:退出工資管理系統(tǒng);</p><p>  10.輸入后按回車鍵,即可輸出信息,按提示輸入即可。</p><p><b>  六、測試數(shù)據(jù)</b></p><p> ?。?)選擇1:工資錄入</p><p>  選擇(2):添加工資信息</p><p> 

67、?。?)選擇3:刪除工資信息</p><p> ?。?)選擇4:修改工資信息</p><p>  (5)選擇5:查找工資信息</p><p>  (6)選擇6:統(tǒng)計工資信息</p><p><b> ?。?)選擇7:退出</b></p><p><b>  七、附錄</b>&

68、lt;/p><p>  #include"iostream.h"</p><p>  #include "stdlib.h"</p><p>  #include "stdio.h"</p><p>  #include"string.h"</p>&l

69、t;p>  #include"message.h"</p><p>  class message{</p><p><b>  private:</b></p><p>  char bornplace[10],duty[10];//籍貫 職務</p><p>  int ID;//身份證號&

70、lt;/p><p><b>  public:</b></p><p>  char name[10],bumen[10];//姓名 部門</p><p>  int number; //工號</p><p>  int basesalary;//基本工資</p><p>  int jobsala

71、ry;//崗位工資</p><p>  int yljj;//醫(yī)療基金</p><p>  int sj;//稅金</p><p>  int jiangjin;//獎金</p><p>  message(){} //********************構造函數(shù)</p><p>  v

72、oid xinxi(char a_name[],char a_bornplace[],char a_duty[],char a_bumen[],int a_ID,int a_number,int a_basesalary,int a_jobsalary,int a_jiangjin,int a_yljj,int a_sj)</p><p><b>  {</b></p><

73、;p>  strcpy(name,a_name);</p><p>  strcpy(bornplace,a_bornplace);</p><p>  strcpy(duty,a_duty);</p><p>  strcpy(bumen,a_bumen);</p><p><b>  ID=a_ID;</b>&

74、lt;/p><p>  number=a_number;</p><p>  basesalary=a_basesalary;</p><p>  jobsalary=a_jobsalary;</p><p>  jiangjin=a_jiangjin;</p><p>  yljj=a_yljj;</p>

75、<p><b>  sj=a_sj;</b></p><p><b>  }</b></p><p>  message &operator=(const message &s) //**********************運算符重載</p><p><b>  {</b&g

76、t;</p><p>  strcpy(name,s.name); </p><p>  strcpy(bornplace,s.bornplace);</p><p>  strcpy(duty,s.duty);</p><p>  strcpy(bumen,s.bumen);</p><p><b>  I

77、D=s.ID;</b></p><p>  number=s.number;</p><p>  basesalary=s.basesalary;</p><p>  jobsalary=s.jobsalary;</p><p>  jiangjin=s.jiangjin;</p><p>  yljj=s

78、.yljj;</p><p><b>  sj=s.sj;</b></p><p>  return * this;</p><p><b>  }</b></p><p>  friend void modify(int x); //***********************

79、*友元函數(shù)</p><p>  friend int del(int x);</p><p>  void put() //定義put函數(shù),以便于其他函數(shù)的調用</p><p><b>  {</b></p><p>  cout<<name<<" "<<

80、bornplace<<" "<<duty<<" "<<bumen<<" "<<ID<<" "<<number<<" "<<basesalary<<" "<<jobsalary&

81、lt;<" "<<jiangjin<<" "<<yljj<<" "<<sj<<endl;</p><p><b>  }</b></p><p>  ~message() //*********************

82、*****析構</p><p><b>  {}</b></p><p><b>  };</b></p><p>  void main()</p><p><b>  {</b></p><p><b>  int i,b;</b&g

83、t;</p><p><b>  int or;</b></p><p>  cout<<"********歡迎進入企業(yè)工資管理系統(tǒng)********"<<endl;</p><p>  cout<<"***********1.工資信息錄入操作***********"&l

84、t;<endl;</p><p>  cout<<"***********2.工資信息增加操作***********"<<endl;</p><p>  cout<<"***********3.工資信息刪除操作***********"<<endl;</p><p>  co

85、ut<<"***********4.工資信息修改操作***********"<<endl;</p><p>  cout<<"***********5.工資信息查找操作***********"<<endl;</p><p>  cout<<"***********6.工資信息統(tǒng)計操

86、作***********"<<endl;</p><p>  cout<<"***********7.退出***********************"<<endl;</p><p>  cout<<"*********請輸入你要進行的操作選項*******"<<endl;<

87、;/p><p><b>  cin>>i;</b></p><p>  cout<<endl;</p><p>  while(i!=10)</p><p><b>  {</b></p><p><b>  switch(i)</b>

88、;</p><p><b>  {</b></p><p><b>  default:</b></p><p>  cout<<"你輸入的有誤,請重新輸入。"<<endl;break;</p><p><b>  case 1:</b&g

89、t;</p><p>  cout<<"輸入企業(yè)人員的人數(shù):"; //輸入信息</p><p><b>  cin>>b;</b></p><p>  cout<<endl;</p><p>  writein(b);</p><p><

90、;b>  break;</b></p><p>  case 2://添加</p><p><b>  add(b);</b></p><p><b>  b++;</b></p><p><b>  break;</b></p><p&g

91、t;  case 3://刪除</p><p><b>  del(b);</b></p><p><b>  b--;</b></p><p><b>  break;</b></p><p>  case 4://修改</p><p>  modif

92、y(b);</p><p><b>  break;</b></p><p>  case 5://查詢</p><p>  cout<<" ┌─────────────┐"<<endl;</p><p>  cout<<"│請輸入您要選擇的查詢方式:│&

93、quot;<<endl;</p><p>  cout<<"│1.按姓名查找操作 │"<<endl;</p><p>  cout<<"│2.按工號查找操作 │"<<endl;</p><p>  cout<<"

94、;└─────────────┘"<<endl;</p><p><b>  cin>>or;</b></p><p><b>  if(or==1)</b></p><p>  namfind(b);</p><p>  else if(or==2)</p&

95、gt;<p>  numfind(b);</p><p><b>  break;</b></p><p>  case 6://統(tǒng)計</p><p><b>  int cc;</b></p><p>  cout<<"┌─────────────┐"

96、<<endl;</p><p>  cout<<"│請輸入您要選擇的查詢方式:│"<<endl;</p><p>  cout<<"│1.按部門統(tǒng)計 │"<<endl;</p><p>  cout<<"│2.按單位統(tǒng)計

97、 │"<<endl;</p><p>  cout<<"└─────────────┘"<<endl;</p><p>  //cin>>or;:</p><p><b>  cin>>cc;</b></p><

98、;p><b>  if(cc==1)</b></p><p>  bmcount(b);</p><p>  else if(cc==2)</p><p>  dwcount();</p><p><b>  break;</b></p><p><b>  

99、case 7:</b></p><p><b>  exit(0);</b></p><p><b>  }</b></p><p>  cout<<"********歡迎進入企業(yè)工資管理系統(tǒng)********"<<endl;</p><p> 

100、 cout<<"***********1.工資信息錄入操作***********"<<endl;</p><p>  cout<<"***********2.工資信息增加操作***********"<<endl;</p><p>  cout<<"***********3.工資信息

101、刪除操作***********"<<endl;</p><p>  cout<<"***********4.工資信息修改操作***********"<<endl;</p><p>  cout<<"***********5.工資信息查找操作***********"<<endl;&l

102、t;/p><p>  cout<<"***********6.工資信息統(tǒng)計操作***********"<<endl;</p><p>  cout<<"***********7.退出***********************"<<endl;</p><p>  cout<&

103、lt;"*********請輸入你要進行的操作選項*******"<<endl;</p><p><b>  cin>>i;</b></p><p>  cout<<endl;</p><p><b>  }</b></p><p><b

104、>  }</b></p><p>  void writein(int x) //工資信息錄入</p><p><b>  {</b></p><p>  message a[10];</p><p>  char a_name[10],a_bornplace[10],a_duty[10],a_bume

105、n[10]; //姓名 籍貫 職務 部門</p><p>  int j,a_ID,a_basesalary,a_jobsalary,a_jiangjin,a_yljj,a_sj,a_number;//身份證號 基本工資 崗位工資 獎金 醫(yī)療住房基金 稅金</p><p>  fstream f("wenjian.txt",ios::out);//打開文件

106、</p><p><b>  if(!f)</b></p><p><b>  {</b></p><p>  cout<<"Can not open file\n.";</p><p><b>  }</b></p><p&

107、gt;  for(j=0;j<x;j++)</p><p><b>  {</b></p><p>  cout<<"姓名: "<<endl;</p><p>  cin>>a_name;</p><p>  cout<<"籍貫: &qu

108、ot;<<endl;</p><p>  cin>>a_bornplace;</p><p>  cout<<"職務: "<<endl;</p><p>  cin>>a_duty;</p><p>  cout<<"部門: "&l

109、t;<endl;</p><p>  cin>>a_bumen;</p><p>  cout<<"身份證號: "<<endl;</p><p>  cin>>a_ID;</p><p>  cout<<"工號: "<<end

110、l;</p><p>  cin>>a_number;</p><p>  cout<<"基本工資: "<<endl;</p><p>  cin>>a_basesalary;</p><p>  cout<<"崗位工資: "<<e

111、ndl;</p><p>  cin>>a_jobsalary;</p><p>  cout<<"獎金: "<<endl;</p><p>  cin>>a_jiangjin;</p><p>  cout<<"醫(yī)療住房基金: "<&l

112、t;endl;</p><p>  cin>>a_yljj;</p><p>  cout<<"稅金: "<<endl;</p><p>  cin>>a_sj;</p><p>  cout<<endl;</p><p>  a[j].x

113、inxi(a_name,a_bornplace,a_duty,a_bumen,a_ID,a_number,a_basesalary,a_jobsalary,a_jiangjin,a_yljj,a_sj);</p><p>  f.write((char *)&a[j],sizeof(a[j] ));//保存錄入的信息</p><p><b>  }</b>&

114、lt;/p><p>  f.close(); //關閉文件</p><p>  cout<<endl;</p><p>  ifstream in("wenjian.txt",ios::in);</p><p>  message b[10];</p><p>  for(j=0;j<

115、;x;j++)</p><p><b>  {</b></p><p>  if(!in.eof())</p><p><b>  {</b></p><p>  in.read((char *)&b[j],sizeof(a[j]));</p><p>  b[j].

116、put();</p><p><b>  }</b></p><p><b>  else </b></p><p><b>  exit(0);</b></p><p><b>  }</b></p><p>  in.close

117、();</p><p><b>  }</b></p><p>  void add(int x) //工資信息添加</p><p><b>  {</b></p><p>  char a_name[10],a_bornplace[10],a_duty[10],a_bumen[10];</p

118、><p>  int a_ID,a_basesalary,a_jobsalary,a_jiangjin,a_yljj,a_sj,a_number,temp=30;</p><p>  message c;</p><p>  cout<<"輸入要增加的人員的信息:"<<endl;</p><p>  c

119、out<<"姓名: "<<endl;</p><p>  cin>>a_name;</p><p>  cout<<"籍貫: "<<endl;</p><p>  cin>>a_bornplace;</p><p>  cout&l

120、t;<"職務: "<<endl;</p><p>  cin>>a_duty;</p><p>  cout<<"部門: "<<endl;</p><p>  cin>>a_bumen;</p><p>  cout<<&qu

121、ot;身份證號: "<<endl;</p><p>  cin>>a_ID;</p><p>  cout<<"工號: "<<endl;</p><p>  cin>>a_number;</p><p>  cout<<"基本工資:

122、 "<<endl;</p><p>  cin>>a_basesalary;</p><p>  cout<<"崗位工資: "<<endl;</p><p>  cin>>a_jobsalary;</p><p>  cout<<"

123、獎金: "<<endl;</p><p>  cin>>a_jiangjin;</p><p>  cout<<"醫(yī)療住房基金: "<<endl;</p><p>  cin>>a_yljj;</p><p>  cout<<"稅金

124、: "<<endl;</p><p>  cin>>a_sj;</p><p>  cout<<endl;</p><p>  c.xinxi(a_name,a_bornplace,a_duty,a_bumen,a_ID,a_number,a_basesalary,a_jobsalary,a_jiangjin,a_ylj

125、j,a_sj); </p><p>  ofstream out("wenjian.txt",ios::app);</p><p>  out.write((char *)&c,sizeof(class message));//保存到文件中</p><p>  out.close();</p><p>  cout

126、<<"增加成功!"<<endl;</p><p><b>  }</b></p><p>  int del(int x) //工資信息刪除</p><p><b>  {</b></p><p>  int i,j,temp,flag=-1;</p

127、><p>  char ming[10];</p><p>  system("cls"); </p><p>  ifstream in("wenjian.txt");</p><p>  message b[30],c;</p><p>  for(j=0;j<30;j++

128、)</p><p><b>  {</b></p><p>  if(!in.eof()) </p><p><b>  {</b></p><p>  in.read((char *)&b[j],sizeof(class message));</p><p>

129、<b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  temp = j-1;</p><p><b>  break;</b></p><p><b&

130、gt;  }</b></p><p><b>  }</b></p><p>  cout<<"文件內保存的信息有:"<<endl; //輸出文件內的人員信息</p><p>  cout<<"姓名 地址 職務 部門 身份證

131、號 工號 工資 "<<endl;</p><p>  for(j=0;j<temp;j++)</p><p>  b[j].put();</p><p>  in.close();</p><p>  fstream sp("wenjian.txt",ios::in||i

132、os::out);</p><p>  for(j=0;j<30;j++)</p><p><b>  {</b></p><p>  if(!sp.eof()) </p><p><b>  {</b></p><p>  sp.read((char *)&am

133、p;b[j],sizeof(class message));</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  temp = j-1;</p><p><

134、;b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  sp.close();</p><p>  message a[30];</p><p>  fstream ap("

135、;wenjian.txt",ios::in||ios::out);</p><p>  cout<<"請輸入要刪除人員信息的名字:"; </p><p>  cin>>ming;</p><p>  cout<<endl;</p><p>  for(j=0,i=0;i

136、<temp;i++)</p><p><b>  {</b></p><p>  if(strcmp(b[i].name,ming)==0)//標記要刪除的信息</p><p><b>  {</b></p><p>  flag=i; </p><p>

137、<b>  }</b></p><p><b>  }</b></p><p>  if(flag==-1)</p><p><b>  {</b></p><p>  cout<<"沒有要刪除的信息。"<<endl;</p&g

138、t;<p><b>  return 0;</b></p><p><b>  }</b></p><p>  for(j=0,i=0;i<temp,j<temp-1; )//刪除信息</p><p><b>  {</b></p><p>  if(

139、flag!=i)</p><p><b>  {</b></p><p>  a[j]=b[i];</p><p><b>  i++;</b></p><p><b>  j++;</b></p><p><b>  }</b>&

140、lt;/p><p><b>  else</b></p><p><b>  i++;</b></p><p><b>  }</b></p><p>  ap.close();</p><p>  ofstream np("wenjian.txt

141、");</p><p>  for(i=0;i<temp-1;i++)</p><p><b>  {</b></p><p>  np.write((char *)&a[i],sizeof(class message));//寫入文件</p><p><b>  }</b>

142、</p><p>  np.close();</p><p>  cout<<"刪除成功!"<<endl;</p><p><b>  return 1;</b></p><p><b>  }</b></p><p>  void

143、 modify(int x) //工資信息修改</p><p><b>  {</b></p><p>  char ming[10];</p><p>  int i,j,temp,flag;</p><p>  message b[30];</p><p>  ifstream sp(&quo

144、t;wenjian.txt");</p><p>  for(j=0;j<30;j++)</p><p><b>  {</b></p><p>  if(!sp.eof()) </p><p><b>  {</b></p><p>  sp.read

145、((char *)&b[j],sizeof(class message)); //打開文件</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  temp = j-1;</

146、p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  sp.close();</p><p>  cout<<"輸入要修改人的名字:"

147、;</p><p>  cin>>ming;</p><p>  cout<<endl;</p><p>  cout<<"原文件信息是:"<<endl;</p><p>  for(i=0;i<temp;i++) //輸出文件內保存的信息</p><

148、;p><b>  {</b></p><p>  if(strcmp(b[i].name,ming)==0)</p><p><b>  {</b></p><p>  flag = i;</p><p>  } b[i].put();</p><p&

149、gt;<b>  }</b></p><p>  cout<<endl;</p><p>  cout<<flag<<endl;</p><p>  cout<<endl;</p><p>  cout<<"請輸入修改信息:"<<

150、;endl;</p><p>  cout<<"姓名: "<<endl;</p><p>  cin>>b[flag].name;</p><p>  cout<<"籍貫: "<<endl;</p><p>  cin>>b[fla

151、g].bornplace;</p><p>  cout<<"職務: "<<endl;</p><p>  cin>>b[flag].duty;</p><p>  cout<<"部門: "<<endl;</p><p>  cin>&g

152、t;b[flag].bumen;</p><p>  cout<<"身份證號: "<<endl;</p><p>  cin>>b[flag].ID;</p><p>  cout<<"工號: "<<endl;</p><p>  cin>

153、;>b[flag].number;</p><p>  cout<<"基本工資: "<<endl;</p><p>  cin>>b[flag].basesalary;</p><p>  cout<<"崗位工資: "<<endl;</p><

154、;p>  cin>>b[flag].jobsalary;</p><p>  cout<<"獎金: "<<endl;</p><p>  cin>>b[flag].jiangjin;</p><p>  cout<<"醫(yī)療住房基金: "<<endl;

155、</p><p>  cin>>b[flag].yljj;</p><p>  cout<<"稅金: "<<endl;</p><p>  cin>>b[flag].sj;</p><p>  cout<<endl;</p><p>  

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論