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

下載本文檔

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

文檔簡介

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

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

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

4、成企業(yè)人事工資管理,能夠?qū)崿F(xiàn)工資的錄入、統(tǒng)計(整個單位的平均工資、最高工資、最低工資)、查詢、修改、刪除等功能。</p><p><b>  程序執(zhí)行的命令:</b></p><p><b>  錄入員工工資信息;</b></p><p>  選擇需要執(zhí)行的操作(添加、統(tǒng)計、刪除、修改、查詢);</p>&l

5、t;p><b>  輸出結(jié)果。</b></p><p><b>  概要設(shè)計</b></p><p>  設(shè)計類的數(shù)據(jù)類型定義</p><p>  class message{</p><p><b>  private:</b></p><p>

6、  char bornplace[10],duty[10];//籍貫 職務(wù)</p><p>  int ID;//身份證號</p><p><b>  public:</b></p><p>  char name[10],bumen[10];//姓名 部門</p><p>  int basesalary;//基本工

7、資</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><p><

8、;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><p&

9、gt;  修改操作:void modify(int x),該模版主要實現(xiàn)工資信息的修改;</p><p>  查詢操作:void find(int x) ,該模版主要實現(xiàn)工資信息的查詢統(tǒng)計操</p><p>  統(tǒng)計操作:void count(int x),實現(xiàn)最高工資,最低工資等的統(tǒng)計;</p><p><b>  退出; </b></

10、p><p><b>  三、詳細設(shè)計</b></p><p><b> ?。?)類模塊</b></p><p>  class message{</p><p><b>  private:</b></p><p>  char bornplace[10]

11、;</p><p>  char duty[10]; </p><p><b>  int ID;</b></p><p><b>  public:</b></p><p>  char name[10];</p><p>  char bumen[10];</p&g

12、t;<p>  int basesalary;</p><p>  int jiangjin;</p><p>  message(){} //********************構(gòu)造函數(shù)</p><p>  void xinxi(char a_name[],char a_bornplace[],char a_duty[

13、],char a_bumen[],int a_ID,int a_basesalary,int a_jiangjin)</p><p><b>  {</b></p><p>  strcpy(name,a_name);</p><p>  strcpy(bornplace,a_bornplace);</p><p>  

14、strcpy(duty,a_duty);</p><p>  strcpy(bumen,a_bumen);</p><p><b>  ID=a_ID;</b></p><p>  basesalary=a_basesalary;</p><p>  jiangjin=a_jiangjin;</p><

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

16、gt;<p>  strcpy(bornplace,s.bornplace);</p><p>  strcpy(duty,s.duty);</p><p>  strcpy(bumen,s.bumen);</p><p><b>  ID=s.ID;</b></p><p>  basesalary=s.

17、basesalary;</p><p>  jiangjin=s.jiangjin;</p><p>  return * this;</p><p><b>  }</b></p><p>  friend void modify(int x); //************************友

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

19、rnplace<<" "<<duty<<" "<<bumen<<" "<<ID<<" "<<basesalary<<" "<<jiangjin<<endl;</p><p><b

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

21、 </p><p>  (3)錄入、添加函數(shù)流程圖</p><p><b>  刪除函數(shù)流程圖</b></p><p>  (5)修改函數(shù)流程圖</p><p>  (6)查找函數(shù)流程圖</p><p><b>  統(tǒng)計函數(shù)流程圖</b></p&

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

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

24、操作;</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><p

25、>  9.選擇7:退出工資管理系統(tǒng);</p><p>  10.輸入后按回車鍵,即可輸出信息,按提示輸入即可。</p><p><b>  六、測試數(shù)據(jù)</b></p><p><b>  七、附錄</b></p><p>  #include"iostream.h"<

26、;/p><p>  #include "stdlib.h"</p><p>  #include "stdio.h"</p><p>  #include"string.h"</p><p>  #include"message.h"</p><p

27、>  class message{</p><p><b>  private:</b></p><p>  char bornplace[10],duty[10];//籍貫 職務(wù)</p><p>  int ID;//身份證號</p><p><b>  public:</b></p

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

29、gt;<p>  int sj;//稅金</p><p>  int jiangjin;//獎金</p><p>  message(){} //********************構(gòu)造函數(shù)</p><p>  void xinxi(char a_name[],char a_bornplace[],char a_duty

30、[],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><p>  strcpy(name,a_name);</p><p>  str

31、cpy(bornplace,a_bornplace);</p><p>  strcpy(duty,a_duty);</p><p>  strcpy(bumen,a_bumen);</p><p><b>  ID=a_ID;</b></p><p>  number=a_number;</p><

32、p>  basesalary=a_basesalary;</p><p>  jobsalary=a_jobsalary;</p><p>  jiangjin=a_jiangjin;</p><p>  yljj=a_yljj;</p><p><b>  sj=a_sj;</b></p><

33、p><b>  }</b></p><p>  message &operator=(const message &s) //**********************運算符重載</p><p><b>  {</b></p><p>  strcpy(name,s.name); </p&g

34、t;<p>  strcpy(bornplace,s.bornplace);</p><p>  strcpy(duty,s.duty);</p><p>  strcpy(bumen,s.bumen);</p><p><b>  ID=s.ID;</b></p><p>  number=s.numbe

35、r;</p><p>  basesalary=s.basesalary;</p><p>  jobsalary=s.jobsalary;</p><p>  jiangjin=s.jiangjin;</p><p>  yljj=s.yljj;</p><p><b>  sj=s.sj;</b&g

36、t;</p><p>  return * this;</p><p><b>  }</b></p><p>  friend void modify(int x); //************************友元函數(shù)</p><p>  friend int del(int x);<

37、/p><p>  void put() //定義put函數(shù),以便于其他函數(shù)的調(diào)用</p><p><b>  {</b></p><p>  cout<<name<<" "<<bornplace<<" "<<duty<<&quo

38、t; "<<bumen<<" "<<ID<<" "<<number<<" "<<basesalary<<" "<<jobsalary<<" "<<jiangjin<<" &qu

39、ot;<<yljj<<" "<<sj<<endl;</p><p><b>  }</b></p><p>  ~message() //**************************析構(gòu)</p><p><b>  {}</b><

40、;/p><p><b>  };</b></p><p>  void main()</p><p><b>  {</b></p><p><b>  int i,b;</b></p><p><b>  int or;</b><

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

42、*********2.工資信息增加操作***********"<<endl;</p><p>  cout<<"***********3.工資信息刪除操作***********"<<endl;</p><p>  cout<<"***********4.工資信息修改操作***********"

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

44、cout<<"***********7.退出***********************"<<endl;</p><p>  cout<<"*********請輸入你要進行的操作選項*******"<<endl;</p><p><b>  cin>>i;</b>&l

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

46、<p><b>  default:</b></p><p>  cout<<"你輸入的有誤,請重新輸入。"<<endl;break;</p><p><b>  case 1:</b></p><p>  cout<<"輸入企業(yè)人員的人數(shù):&

47、quot;; //輸入信息</p><p><b>  cin>>b;</b></p><p>  cout<<endl;</p><p>  writein(b);</p><p><b>  break;</b></p><p>  case 2:

48、//添加</p><p><b>  add(b);</b></p><p><b>  b++;</b></p><p><b>  break;</b></p><p>  case 3://刪除</p><p><b>  del(b);

49、</b></p><p><b>  b--;</b></p><p><b>  break;</b></p><p>  case 4://修改</p><p>  modify(b);</p><p><b>  break;</b>&

50、lt;/p><p>  case 5://查詢</p><p>  cout<<" ┌─────────────┐"<<endl;</p><p>  cout<<"│請輸入您要選擇的查詢方式:│"<<endl;</p><p>  cout<<&

51、quot;│1.按姓名查找操作 │"<<endl;</p><p>  cout<<"│2.按工號查找操作 │"<<endl;</p><p>  cout<<"└─────────────┘"<<endl;</p><p&g

52、t;<b>  cin>>or;</b></p><p><b>  if(or==1)</b></p><p>  namfind(b);</p><p>  else if(or==2)</p><p>  numfind(b);</p><p><b&

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

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

55、;  cout<<"└─────────────┘"<<endl;</p><p>  //cin>>or;:</p><p><b>  cin>>cc;</b></p><p><b>  if(cc==1)</b></p><p&

56、gt;  bmcount(b);</p><p>  else if(cc==2)</p><p>  dwcount();</p><p><b>  break;</b></p><p><b>  case 7:</b></p><p><b>  exit(

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

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

59、;  cout<<"***********4.工資信息修改操作***********"<<endl;</p><p>  cout<<"***********5.工資信息查找操作***********"<<endl;</p><p>  cout<<"***********6.工資

60、信息統(tǒng)計操作***********"<<endl;</p><p>  cout<<"***********7.退出***********************"<<endl;</p><p>  cout<<"*********請輸入你要進行的操作選項*******"<<end

61、l;</p><p><b>  cin>>i;</b></p><p>  cout<<endl;</p><p><b>  }</b></p><p><b>  }</b></p><p>  void writein(i

62、nt x) //工資信息錄入</p><p><b>  {</b></p><p>  message a[10];</p><p>  char a_name[10],a_bornplace[10],a_duty[10],a_bumen[10]; //姓名 籍貫 職務(wù) 部門</p><p>  int j,a_I

63、D,a_basesalary,a_jobsalary,a_jiangjin,a_yljj,a_sj,a_number;//身份證號 基本工資 崗位工資 獎金 醫(yī)療住房基金 稅金</p><p>  fstream f("wenjian.txt",ios::out);//打開文件</p><p><b>  if(!f)</b></p

64、><p><b>  {</b></p><p>  cout<<"Can not open file\n.";</p><p><b>  }</b></p><p>  for(j=0;j<x;j++)</p><p><b>

65、  {</b></p><p>  cout<<"姓名: "<<endl;</p><p>  cin>>a_name;</p><p>  cout<<"籍貫: "<<endl;</p><p>  cin>>a_bo

66、rnplace;</p><p>  cout<<"職務(wù): "<<endl;</p><p>  cin>>a_duty;</p><p>  cout<<"部門: "<<endl;</p><p>  cin>>a_bumen;&

67、lt;/p><p>  cout<<"身份證號: "<<endl;</p><p>  cin>>a_ID;</p><p>  cout<<"工號: "<<endl;</p><p>  cin>>a_number;</p>

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

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

70、><p>  cout<<"稅金: "<<endl;</p><p>  cin>>a_sj;</p><p>  cout<<endl;</p><p>  a[j].xinxi(a_name,a_bornplace,a_duty,a_bumen,a_ID,a_number,a

71、_basesalary,a_jobsalary,a_jiangjin,a_yljj,a_sj);</p><p>  f.write((char *)&a[j],sizeof(a[j] ));//保存錄入的信息</p><p><b>  }</b></p><p>  f.close(); //關(guān)閉文件</p><

72、;p>  cout<<endl;</p><p>  ifstream in("wenjian.txt",ios::in);</p><p>  message b[10];</p><p>  for(j=0;j<x;j++)</p><p><b>  {</b><

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

74、p><p><b>  else </b></p><p><b>  exit(0);</b></p><p><b>  }</b></p><p>  in.close();</p><p><b>  }</b></p&g

75、t;<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><p>  int a_ID,a_basesalary,a_jobsalary,a_j

76、iangjin,a_yljj,a_sj,a_number,temp=30;</p><p>  message c;</p><p>  cout<<"輸入要增加的人員的信息:"<<endl;</p><p>  cout<<"姓名: "<<endl;</p>&l

77、t;p>  cin>>a_name;</p><p>  cout<<"籍貫: "<<endl;</p><p>  cin>>a_bornplace;</p><p>  cout<<"職務(wù): "<<endl;</p><p&g

78、t;  cin>>a_duty;</p><p>  cout<<"部門: "<<endl;</p><p>  cin>>a_bumen;</p><p>  cout<<"身份證號: "<<endl;</p><p>  cin

79、>>a_ID;</p><p>  cout<<"工號: "<<endl;</p><p>  cin>>a_number;</p><p>  cout<<"基本工資: "<<endl;</p><p>  cin>>

80、a_basesalary;</p><p>  cout<<"崗位工資: "<<endl;</p><p>  cin>>a_jobsalary;</p><p>  cout<<"獎金: "<<endl;</p><p>  cin>&

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

82、;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_yljj,a_sj); </p><p>  ofstream out("wen

83、jian.txt",ios::app);</p><p>  out.write((char *)&c,sizeof(class message));//保存到文件中</p><p>  out.close();</p><p>  cout<<"增加成功!"<<endl;</p><

84、p><b>  }</b></p><p>  int del(int x) //工資信息刪除</p><p><b>  {</b></p><p>  int i,j,temp,flag=-1;</p><p>  char ming[10];</p><p>  

85、system("cls"); </p><p>  ifstream in("wenjian.txt");</p><p>  message b[30],c;</p><p>  for(j=0;j<30;j++)</p><p><b>  {</b></p&g

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

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

88、b></p><p>  cout<<"文件內(nèi)保存的信息有:"<<endl; //輸出文件內(nèi)的人員信息</p><p>  cout<<"姓名 地址 職務(wù) 部門 身份證號 工號 工資 "<<endl;</p><

89、;p>  for(j=0;j<temp;j++)</p><p>  b[j].put();</p><p>  in.close();</p><p>  fstream sp("wenjian.txt",ios::in||ios::out);</p><p>  for(j=0;j<30;j++)&l

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

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

92、  }</b></p><p><b>  }</b></p><p>  sp.close();</p><p>  message a[30];</p><p>  fstream ap("wenjian.txt",ios::in||ios::out);</p><

93、p>  cout<<"請輸入要刪除人員信息的名字:"; </p><p>  cin>>ming;</p><p>  cout<<endl;</p><p>  for(j=0,i=0;i<temp;i++)</p><p><b>  {</b&g

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

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

96、<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><b>  {</b><

97、;/p><p>  a[j]=b[i];</p><p><b>  i++;</b></p><p><b>  j++;</b></p><p><b>  }</b></p><p><b>  else</b></p>

98、;<p><b>  i++;</b></p><p><b>  }</b></p><p>  ap.close();</p><p>  ofstream np("wenjian.txt");</p><p>  for(i=0;i<temp-1;i++

99、)</p><p><b>  {</b></p><p>  np.write((char *)&a[i],sizeof(class message));//寫入文件</p><p><b>  }</b></p><p>  np.close();</p><p>

100、;  cout<<"刪除成功!"<<endl;</p><p><b>  return 1;</b></p><p><b>  }</b></p><p>  void modify(int x) //工資信息修改</p><p><b> 

101、 {</b></p><p>  char ming[10];</p><p>  int i,j,temp,flag;</p><p>  message b[30];</p><p>  ifstream sp("wenjian.txt");</p><p>  for(j=0;j&

102、lt;30;j++)</p><p><b>  {</b></p><p>  if(!sp.eof()) </p><p><b>  {</b></p><p>  sp.read((char *)&b[j],sizeof(class message)); //打開文件</

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

104、<p><b>  }</b></p><p><b>  }</b></p><p>  sp.close();</p><p>  cout<<"輸入要修改人的名字:";</p><p>  cin>>ming;</p>&l

105、t;p>  cout<<endl;</p><p>  cout<<"原文件信息是:"<<endl;</p><p>  for(i=0;i<temp;i++) //輸出文件內(nèi)保存的信息</p><p><b>  {</b></p><p>  if(

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

107、t;<endl;</p><p>  cout<<flag<<endl;</p><p>  cout<<endl;</p><p>  cout<<"請輸入修改信息:"<<endl;</p><p>  cout<<"姓名: &qu

108、ot;<<endl;</p><p>  cin>>b[flag].name;</p><p>  cout<<"籍貫: "<<endl;</p><p>  cin>>b[flag].bornplace;</p><p>  cout<<"

109、職務(wù): "<<endl;</p><p>  cin>>b[flag].duty;</p><p>  cout<<"部門: "<<endl;</p><p>  cin>>b[flag].bumen;</p><p>  cout<<&qu

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

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

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

113、gt;<p>  cout<<"稅金: "<<endl;</p><p>  cin>>b[flag].sj;</p><p>  cout<<endl;</p><p>  ofstream in("wenjian.txt");</p><p

114、>  for(i=0;i<temp;i++)</p><p><b>  {</b></p><p><b>  if(!in)</b></p><p>  cout<<"Can not open!"<<endl;</p><p>  in.w

115、rite((char *)&b[i],sizeof(class message));</p><p>  cout<<endl;</p><p><b>  } </b></p><p>  in.close();</p><p><b>  }</b></p>

116、<p>  void namfind(int x) //按姓名查找操作</p><p><b>  {</b></p><p>  int j,temp,i;</p><p>  char ming[10];</p><p>  cout<<"輸入要查詢的姓名:";</p

117、><p>  cin>>ming;</p><p>  cout<<endl;</p><p>  cout<<"這個人的信息是:"<<endl;</p><p>  message b[30];</p><p>  fstream sp("we

118、njian.txt",ios::in||ios::out);</p><p>  for(j=0;j<30;j++)</p><p><b>  {</b></p><p>  if(!sp.eof()) </p><p><b>  {</b></p><

119、p>  sp.read((char *)&b[j],sizeof(class message));</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  temp = j-

120、1;</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  for(j=0,i=0;i<temp;i++)</p><p><b>  {&

121、lt;/b></p><p>  if(strcmp(b[i].name,ming)==0)</p><p><b>  {</b></p><p>  cout<<"姓名 籍貫 職務(wù) 部門 身份證號 工號 基本工資 崗位工資 獎金 醫(yī)療住房基金 稅金 "<<endl;</p>

122、;<p>  b[i].put();</p><p><b>  }</b></p><p><b>  }</b></p><p>  sp.close();</p><p><b>  }</b></p><p>  void numf

123、ind(int x) //按工號查找操作</p><p><b>  {</b></p><p>  int nu,i,j,temp;</p><p>  cout<<"輸入要查詢的工號:";</p><p><b>  cin>>nu;</b><

124、/p><p>  cout<<endl;</p><p>  cout<<"這個人的信息是:"<<endl;</p><p>  message b[30];</p><p>  fstream sp("wenjian.txt",ios::in||ios::out);&l

125、t;/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 *)&b[j],size

126、of(class message));</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  temp = j-1;</p><p><b>  bre

127、ak;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  for(i=0;i<temp;i++)</p><p><b>  {</b></p><p>  if(b[i].n

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

129、>  }</b></p><p><b>  }</b></p><p>  sp.close();</p><p><b>  }</b></p><p>  void bmcount(int x) //按部門統(tǒng)計操作</p><p><b> 

130、 {</b></p><p>  int i,j,sum=0,sum1=0,temp;</p><p>  char a_bumen[10];</p><p>  cout<<"請輸入要統(tǒng)計的部門:";</p><p>  cin>>a_bumen;</p><p&g

131、t;  cout<<endl;</p><p>  message b[30];</p><p>  fstream sp("wenjian.txt",ios::in||ios::out);</p><p>  for(j=0;j<30;j++)</p><p><b>  {</b&

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

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

134、gt;  }</b></p><p>  int U[20];</p><p>  for(i=0;i<20;i++)</p><p><b>  {</b></p><p><b>  U[i]=0;</b></p><p><b>  }<

135、;/b></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> 

136、 sum=sum+b[i].basesalary+b[i].jobsalary+b[i].jiangjin-b[i].yljj-b[i].sj;</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>

137、<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];<

138、/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(

139、U[i]>max)</p><p><b>  {</b></p><p><b>  bb=U[i];</b></p><p><b>  U[i]=max;</b></p><p><b>  max=bb;</b></p><

140、;p><b>  }</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>&l

141、t;b>  {</b></p><p><b>  bb=U[i];</b></p><p><b>  U[i]=min;</b></p><p><b>  min=U[i];</b></p><p><b>  }</b></

142、p><p><b>  }</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>

143、;  sum1=sum1+b[i].basesalary;</p><p><b>  }</b></p><p>  cout<<"最大工資為:"<<max<<endl;</p><p>  cout<<"最小工資為:"<<min<<

144、;endl;</p><p>  cout<<"該部門工資總計為:"<<sum<<endl;</p><p>  cout<<"該部門工資均值為:"<<sum/(j+0.0)<<endl;</p><p>  cout<<"該部門工資

145、均方差值為:"<<sum1/(j+0.0)<<endl;</p><p>  sp.close();</p><p><b>  }</b></p><p>  void dwcount() //按單位統(tǒng)計操作</p><p><b>  {</b></p&g

146、t;<p>  int i,j,sum=0,sum1=0,temp;</p><p>  message b[30];</p><p>  fstream sp("wenjian.txt",ios::in||ios::out);</p><p>  for(j=0;j<30;j++)</p><p>&

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

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

149、gt;<p><b>  }</b></p><p>  int U[20];</p><p>  for(i=0;i<20;i++)</p><p><b>  {</b></p><p><b>  U[i]=0;</b></p><

150、p><b>  }</b></p><p>  for(j=0,i=0;i<temp;i++)</p><p><b>  {</b></p><p>  sum=sum+b[i].basesalary+b[i].jobsalary+b[i].jiangjin-b[i].yljj-b[i].sj;</p&

151、gt;<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><b>  }</b></p><p><b>  int max;</b&

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

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

154、><b>  U[i]=max;</b></p><p><b>  max=bb;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  for(i=0;i<temp;i++)</p

155、><p><b>  {</b></p><p>  if(U[i]<min)</p><p><b>  {</b></p><p><b>  bb=U[i];</b></p><p><b>  U[i]=min;</b>&

156、lt;/p><p><b>  min=U[i];</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  for(i=0;i<temp;i++)</p><p><b>  { <

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論