人員信息管理系統(tǒng)課程設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  課程設(shè)計(jì)報(bào)告</b></p><p>  課程: 人員信息管理系統(tǒng) </p><p>  學(xué)號(hào): </p><p>  姓名: </p><p>  班級(jí): </p><

2、;p>  教師: </p><p><b>  《課程設(shè)計(jì)指導(dǎo)書》</b></p><p><b>  課程設(shè)計(jì)的目的</b></p><p>  (1) 熟練掌握C++語(yǔ)言的基本知識(shí)和技能; </p><p>  (2) 掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法; &l

3、t;/p><p>  (3) 能夠利用所學(xué)的基本知識(shí)和技能,解決簡(jiǎn)單的面向?qū)ο蟪绦蛟O(shè)計(jì)問(wèn)題。</p><p> ?。?)制作“人員信息管理系統(tǒng)”。 </p><p>  設(shè)計(jì)名稱:人員信息管理系統(tǒng)</p><p><b>  設(shè)計(jì)要求</b></p><p> ?。?)建立人員信息數(shù)據(jù),包括編

4、號(hào)、姓名、性別、出生時(shí)間、崗位(部門)、參加工作時(shí)間和年齡(必須通過(guò)計(jì)算得到)等等其他信息; </p><p> ?。?)根據(jù)人員信息表,建立只含有姓名和年齡的信息簡(jiǎn)表(可選功能); </p><p> ?。?)使用繼承的方法構(gòu)造3個(gè)類,(即人員類——虛基類,教師類和學(xué)生類——派生類)使用相應(yīng)的對(duì)象放置10個(gè)人員信息; </p><p>  (4)編寫同名displ

5、ay()成員函數(shù),用來(lái)輸出數(shù)組的內(nèi)容; </p><p> ?。?)按不同類別輸出人員信息,比如按系輸出教師信息(可選功能); </p><p> ?。?)要求對(duì)“<<”和“>>”運(yùn)算符進(jìn)行重載??紤]到輸入人員編號(hào)時(shí),也會(huì)因不小心引入空格,而且名字中也需要有空格,所以重載“>>’’運(yùn)算符時(shí),需要滿足這個(gè)要求; </p><p> 

6、?。?)抽取并計(jì)算人員的平均年齡; </p><p> ?。?)檢索(查找)指定信息(如按姓名檢索、按年齡檢索); </p><p> ?。?)顯示年齡分布的圖形; </p><p>  參考系統(tǒng)界面如下: </p><p>  1-增加一位人員(教師、學(xué)生)記錄 </p><p>  2-顯示全部人員記錄 </

7、p><p>  3-計(jì)算人員平均年齡 </p><p>  4-刪除一個(gè)人員記錄 </p><p>  5-按崗位(部門)輸出人員信息(可選) </p><p>  6-按姓名檢索所有信息 </p><p><b>  7-結(jié)束程序運(yùn)行</b></p><p><b>

8、;  四、設(shè)計(jì)過(guò)程</b></p><p><b>  (1)分析題目</b></p><p>  (2)建立Time,people類,以及People類的兩個(gè)繼承類Teacher,Student類</p><p>  (3)定義People類的成員函數(shù): </p><p>  People(); /

9、/構(gòu)造函數(shù),默認(rèn)現(xiàn)今是2011年</p><p>  virtualvoid Add1()=0; //從文件錄入</p><p>  virtualvoid Add2()=0; //從鍵盤錄入</p><p>  virtualvoid Add()=0; //添加人員</p><p>  virtual void D

10、isplay(); //顯示人員信息</p><p>  virtual void Displaypart(char p[]); //按部門輸出</p><p>  virtual void checkname(char n[]); //按姓名檢索</p><p>  virtual void checkyear(int ); //按

11、年齡檢索</p><p>  virtual int average(); //計(jì)算平均年齡</p><p>  virtual void Del(char n[])=0; //按姓名刪除</p><p>  virtual void Del(int ); //按位置刪除</p><p>  (4)建立main函數(shù)

12、</p><p><b>  (5)優(yōu)化界面</b></p><p><b>  五、設(shè)計(jì)細(xì)則</b></p><p>  (1)將具體日期year,month,day成員數(shù)據(jù)定義為Time類的公有成員。</p><p>  (2)類外分別實(shí)現(xiàn)各個(gè)類的具體實(shí)現(xiàn),將People類定義為Teacher,

13、Student類的虛基類。</p><p>  (3)設(shè)計(jì)main()函數(shù)。定義類的對(duì)象Teacher teacher1,Student student1,用case語(yǔ)句選擇對(duì)類對(duì)象的相關(guān)操作。</p><p> ?。?)定義People類的兩個(gè)指針進(jìn)行各自的操作。</p><p><b>  六、說(shuō)明</b></p><p

14、>  在選擇類對(duì)象操作編號(hào)時(shí),如果輸入的字符不合法,跳出并再次輸入,直至輸入合法。</p><p><b>  課程設(shè)計(jì)任務(wù)書</b></p><p>  設(shè)計(jì)名稱:人員信息管理系統(tǒng) 日期:2010年 9月 1 日 </p><p><b>  設(shè)計(jì)內(nèi)容:</b></p>

15、<p><b>  函數(shù)聲明與定義</b></p><p><b>  設(shè)計(jì)目的與要求:</b></p><p>  目的:對(duì)C++實(shí)例化應(yīng)用。</p><p><b>  要求:</b></p><p>  (1)建立人員信息數(shù)據(jù),包括編號(hào)、姓名、性別、出生時(shí)間

16、、崗位(部門)、參加工作時(shí)間和年齡(必須通過(guò)計(jì)算得到)等等其他信息; </p><p>  (2)根據(jù)人員信息表,建立只含有姓名和年齡的信息簡(jiǎn)表(可選功能); </p><p> ?。?)使用繼承的方法構(gòu)造3個(gè)類,(即人員類——虛基類,教師類和學(xué)生類——派生類)使用相應(yīng)的對(duì)象放置10個(gè)人員信息; </p><p> ?。?)編寫同名display()成員函數(shù),用來(lái)輸

17、出數(shù)組的內(nèi)容; </p><p> ?。?)按不同類別輸出人員信息,比如按系輸出教師信息(可選功能); </p><p>  (6)要求對(duì)“<<”和“>>”運(yùn)算符進(jìn)行重載??紤]到輸入人員編號(hào)時(shí),也會(huì)因不小心引入空格,而且名字中也需要有空格,所以重載“>>’’運(yùn)算符時(shí),需要滿足這個(gè)要求; </p><p> ?。?)抽取并計(jì)算人員的

18、平均年齡; </p><p> ?。?)檢索(查找)指定信息(如按姓名檢索、按年齡檢索); </p><p>  (9)顯示年齡分布的圖形; </p><p>  參考系統(tǒng)界面如下: </p><p>  1-增加一位人員(教師、學(xué)生)記錄 </p><p>  2-顯示全部人員記錄 </p><p

19、>  3-計(jì)算人員平均年齡 </p><p>  4-刪除一個(gè)人員記錄 </p><p>  5-按崗位(部門)輸出人員信息(可選) </p><p>  6-按姓名檢索所有信息 </p><p><b>  7-結(jié)束程序運(yùn)行</b></p><p>  設(shè)計(jì)環(huán)境或器材、原理與說(shuō)明:<

20、/p><p>  設(shè)計(jì)環(huán)境:VC6.0操作環(huán)境</p><p>  原理:類的構(gòu)造與使用</p><p>  設(shè)計(jì)過(guò)程(步驟)或程序代碼:</p><p>  #include<iostream> </p><p>  #include<string> </p><p>  

21、#include<fstream.h> </p><p>  #include<stdlib.h> </p><p>  #define maxnum 2000 //可以預(yù)設(shè)定最大管理人數(shù)為2000</p><p>  fstream iofile;</p><p>  //Time類建立,用以記錄日期,包括年月日&

22、lt;/p><p>  class Time </p><p><b>  { </b></p><p><b>  public: </b></p><p>  int year,month,day; </p><p><b>  private:&

23、lt;/b></p><p><b>  };</b></p><p>  //infor類建立,用以記錄人員信息,包括姓名,性別,出生日期,編號(hào),工作崗位,工作時(shí)間,年齡等</p><p>  class infor </p><p><b>  { </b></p><

24、p><b>  public:</b></p><p><b>  int year;</b></p><p>  char name[30]; </p><p>  char sex[10]; </p><p>  char num[30]; </p><p>  

25、char workpart[30];</p><p>  Time birthtime;</p><p>  Time worktime; </p><p>  friend istream& operator>>(istream& input,infor& T); //運(yùn)算符重載,>>,只能為友元</p&

26、gt;<p>  friend ostream& operator<<(ostream& output,infor& T); //運(yùn)算符重載,<<</p><p>  friend int operator-(Time & t1,Time & t2); //運(yùn)算符重載,-</p><p><b&g

27、t;  private:</b></p><p><b>  };</b></p><p>  //People類建立,用以提供各種功能操作,是虛基類 </p><p>  class People //虛基類</p><p><b>  { </b></p>&

28、lt;p><b>  public: </b></p><p>  People(); //構(gòu)造函數(shù),默認(rèn)現(xiàn)今是2011年</p><p>  virtual void Add1()=0; //讀取文件信息</p><p>  virtualvoid Add2()=0; //從鍵盤錄入</p><

29、p>  virtualvoid Add()=0; //添加人員</p><p>  virtual void Display(); //顯示人員信息</p><p>  virtual void Displaypart(char p[]); //按部門輸出</p><p>  virtual void checkname(char n[]);

30、 //按姓名檢索</p><p>  virtual void checkyear(int ); //按年齡檢索</p><p>  virtual int average(); //計(jì)算平均年齡</p><p>  virtual void Del(char n[])=0; //按姓名刪除</p><p

31、>  virtual void Del(int ); //按位置刪除</p><p>  protected: </p><p>  infor data[maxnum]; </p><p>  Time now; </p><p>  int length; //記錄人員總數(shù) </p><p>

32、<b>  }; </b></p><p>  //Teacher類建立,公有繼承People類</p><p>  class Teacher:virtual public People </p><p><b>  { </b></p><p><b>  public:</b&

33、gt;</p><p>  void Add1();</p><p>  void Add2(); </p><p>  void Add(); </p><p>  void Display(); </p><p>  void Del(int i); </p><p>  void Del(

34、char n[]); </p><p><b>  };</b></p><p>  //Student類建立,公有繼承People類 </p><p>  class Student:virtual public People </p><p><b>  { </b></p>&l

35、t;p><b>  public:</b></p><p>  void Add1();</p><p>  void Add2(); </p><p>  void Add(); </p><p>  void Display(); </p><p>  void Del(int i);

36、</p><p>  void Del(char n[]); </p><p><b>  }; </b></p><p>  //People類的具體實(shí)現(xiàn)</p><p>  People::People() //構(gòu)造函數(shù)</p><p><b>  { </b><

37、;/p><p>  length=0; </p><p>  now.year=2011; //默認(rèn)現(xiàn)今是2011年</p><p>  now.month=1; </p><p>  now.day=1; </p><p><b>  } </b></p><p>  v

38、oid People::Display() //Display函數(shù)</p><p><b>  { </b></p><p><b>  int i; </b></p><p>  for(i=0;i<length;i++) </p><p>  cout<<data[i]; &

39、lt;/p><p><b>  } </b></p><p>  void People::Displaypart(char p[]) //Displaypart函數(shù)</p><p><b>  { </b></p><p><b>  int i,c; </b></p&

40、gt;<p>  for(i=0;i<length;i++) </p><p>  if(strcmp(data[i].workpart,p)==0)</p><p><b>  { </b></p><p>  cout<<"請(qǐng)選擇輸出:1-姓名 2-性別 3-編號(hào) 4-工作崗位 5-出生日期

41、 6-工作時(shí)間 7-年齡 8-返回"<<endl; </p><p>  while(cin>>c) </p><p><b>  { </b></p><p>  switch(c) </p><p><b>  { </b></p><

42、p>  case 1: cout<<"姓名:"<<data[i].name<<endl;break; </p><p>  case 2: cout<<"性別:"<<data[i].sex<<endl;break; </p><p>  case 3: cout<&l

43、t;"編號(hào):"<<data[i].num<<endl;break; </p><p>  case 4: cout<<"工作地點(diǎn):"<<data[i].workpart<<endl;break; </p><p>  case 5: cout<<"出生日期:"

44、<<data[i].birthtime.year<<" "<<data[i].birthtime.month<<" "<<data[i].birthtime.day<<" "<<endl;break; </p><p>  case 6: cout<<&quo

45、t;工作時(shí)間:"<<data[i].worktime.year<<" "<<data[i].worktime.month<<" "<<data[i].worktime.day<<" "<<endl;break; </p><p>  case 7: cout&l

46、t;<"年齡:"<<data[i].year<<endl;break; </p><p>  case 8: goto loop; </p><p>  default:cout<<"操作錯(cuò)誤!"<<endl; </p><p><b>  } </b>

47、;</p><p><b>  } </b></p><p>  loop:; //返回</p><p><b>  }</b></p><p><b>  } </b></p><p>  void People::checkname(char n

48、[]) //checkname函數(shù)</p><p><b>  { </b></p><p><b>  int i; </b></p><p>  for(i=0;i<length;i++) </p><p>  if(strcmp(data[i].name,n)==0) </p

49、><p>  cout<<data[i]; </p><p><b>  } </b></p><p>  void People::checkyear(int m) //checkyear函數(shù)</p><p><b>  { </b></p><p><

50、;b>  int i; </b></p><p>  for(i=0;i<length;i++) </p><p>  if(data[i].year==m) </p><p>  cout<<data[i]; </p><p><b>  } </b></p><

51、p><b>  //計(jì)算平均年齡</b></p><p>  int People::average() </p><p><b>  { </b></p><p>  int i,sum=0; </p><p>  for(i=0;i<length;i++) </p>&

52、lt;p>  sum+=data[i].year; </p><p>  return sum/length; </p><p><b>  } </b></p><p>  //按編號(hào)刪除人員信息</p><p>  void People::Del(int i) </p><p><

53、;b>  { </b></p><p><b>  int j; </b></p><p>  if(i<1||i>length) </p><p>  cout<<"不存在第"<<i<<"個(gè)元素"<<endl; </p&

54、gt;<p>  for(j=i;j<length;j++) </p><p>  data[j-1]=data[j]; </p><p>  length--; </p><p><b>  }</b></p><p>  //從文件中讀取數(shù)據(jù)</p><p>  void

55、Student::Add1() </p><p><b>  { </b></p><p>  iofile.open("Student_information.txt",ios::in|ios::binary);</p><p>  while(iofile.seekg(ios::cur))</p><

56、p><b>  {</b></p><p>  iofile.seekg(length*sizeof(data[length]),ios::beg);</p><p>  iofile.read((char*)&data[length],sizeof(data[length]));</p><p><b>  lengt

57、h++;</b></p><p><b>  }</b></p><p>  People::Del(length);</p><p>  cout<<"添加人員信息成功"<<endl;</p><p>  iofile.close(); </p>&

58、lt;p><b>  } </b></p><p>  //從鍵盤錄入信息 </p><p>  void Student::Add2() </p><p><b>  { </b></p><p><b>  char c; </b></p><p&

59、gt;  iofile.open("Student_information.txt",ios::out|ios::binary); </p><p><b>  do </b></p><p><b>  {</b></p><p>  cin>>data[length]; </p&g

60、t;<p>  data[length].year=now-data[length].birthtime; </p><p>  iofile.write((char*)&data[length],sizeof(data[length])); </p><p>  cout<<"添加人員信息成功"<<endl; </p

61、><p>  length++; </p><p>  cout<<"contine(Y|N)?"; </p><p><b>  cin>>c;</b></p><p>  }while('y'==c||'Y'==c); </p>

62、<p>  iofile.close(); </p><p><b>  } </b></p><p><b>  //添加人員信息</b></p><p>  void Student::Add() </p><p><b>  { </b></p>

63、;<p>  iofile.open("Student_information.txt",ios::app|ios::out|ios::binary); </p><p>  cin>>data[length]; </p><p>  data[length].year=now-data[length].birthtime; </p&g

64、t;<p>  iofile.write((char*)&data[length],sizeof(data[length])); </p><p>  cout<<"添加人員信息成功"<<endl; </p><p>  length++; </p><p>  iofile.close(); &l

65、t;/p><p><b>  }</b></p><p><b>  //顯示信息 </b></p><p>  void Student::Display() </p><p><b>  { </b></p><p>  cout<<&quo

66、t;*********************學(xué)生信息************************"<<endl; </p><p>  if(length==0) </p><p>  cout<<"無(wú)信息"<<endl; </p><p><b>  int i; </b>

67、;</p><p>  for(i=0;i<length;i++) </p><p>  cout<<data[i]; </p><p><b>  }</b></p><p>  //按姓名刪除函數(shù) </p><p>  void Student::Del(char n[])

68、</p><p><b>  { </b></p><p>  int i,j,k; </p><p>  for(i=0;i<length;i++) </p><p>  if(strcmp(data[i].name,n)==0) </p><p><b>  { </b&

69、gt;</p><p>  k=i+1;break; </p><p><b>  } </b></p><p><b>  if(k<1) </b></p><p>  cout<<"不存在姓名"<<n<<"的人員信息&quo

70、t;; </p><p>  for(j=k;j<length;j++) </p><p>  data[j-1]=data[j]; </p><p>  length--; </p><p>  cout<<"刪除成功"<<endl; </p><p><b&g

71、t;  }</b></p><p><b>  //按編號(hào)刪除 </b></p><p>  void Student::Del(int i) </p><p><b>  { </b></p><p><b>  int j; </b></p>&l

72、t;p>  if(i<1||i>length) </p><p>  cout<<"不存在第"<<i<<"個(gè)元素"; </p><p>  for(j=i;j<length;j++) </p><p>  data[j-1]=data[j]; </p>

73、<p>  length--; </p><p>  cout<<"刪除成功"<<endl; </p><p><b>  }</b></p><p><b>  //讀取文件</b></p><p>  void Teacher::Add1()

74、 </p><p><b>  {</b></p><p>  iofile.open("Teacher_information.txt",ios::in|ios::binary);</p><p>  while(iofile.seekg(sizeof(data[length]),ios::cur))</p>

75、<p><b>  {</b></p><p>  if(iofile.seekg(length*sizeof(data[length]),ios::beg))</p><p>  iofile.read((char*)&data[length],sizeof(data[length]));</p><p><b>

76、;  else</b></p><p><b>  break;</b></p><p><b>  length++;</b></p><p><b>  }</b></p><p>  People::Del(length);</p><p&

77、gt;  cout<<"添加人員信息成功"<<endl; </p><p>  iofile.close(); </p><p><b>  } </b></p><p><b>  //從鍵盤錄入信息</b></p><p>  void Teacher

78、::Add2() </p><p><b>  { </b></p><p><b>  char cc; </b></p><p>  iofile.open("Teacher_information.txt",ios::in|ios::out|ios::binary); </p>&l

79、t;p><b>  do </b></p><p><b>  { </b></p><p>  cin>>data[length]; </p><p>  data[length].year=now-data[length].birthtime; </p><p>  iofil

80、e.write((char*)&data[length],sizeof(data[length])); </p><p>  cout<<"添加人員信息成功"<<endl; </p><p>  length++; </p><p>  cout<<"contine(Y|N)?";

81、 </p><p><b>  cin>>cc;</b></p><p>  }while('y'==cc||'Y'==cc); </p><p>  iofile.close(); </p><p><b>  }</b></p>&l

82、t;p><b>  //添加人員信息</b></p><p>  void Teacher::Add() </p><p><b>  { </b></p><p>  iofile.open("Teacher_information.txt",ios::app|ios::out|ios::bi

83、nary); </p><p>  cin>>data[length]; </p><p>  data[length].year=now-data[length].birthtime; </p><p>  iofile.write((char*)&data[length],sizeof(data[length])); </p>

84、<p>  cout<<"添加人員信息成功"<<endl; </p><p>  length++; </p><p>  iofile.close(); </p><p><b>  }</b></p><p><b>  //顯示函數(shù)</b&g

85、t;</p><p>  void Teacher::Display() </p><p><b>  { </b></p><p>  cout<<"*********************教師信息************************"<<endl; </p><p

86、>  if(0==length) </p><p>  cout<<"無(wú)信息"<<endl; </p><p><b>  int i; </b></p><p>  for(i=0;i<length;i++) </p><p>  cout<<data

87、[i]; </p><p><b>  } </b></p><p>  //刪除人員信息函數(shù),按姓名</p><p>  void Teacher::Del(char n[]) </p><p><b>  { </b></p><p>  int i,j,k; </

88、p><p>  for(i=0;i<length;i++) </p><p>  if(strcmp(data[i].name,n)==0) </p><p><b>  { </b></p><p>  k=i+1;break; </p><p><b>  } </b>

89、</p><p><b>  if(k<1) </b></p><p>  cout<<"不存在姓名"<<n<<"的人員信息"; </p><p>  for(j=k;j<length;j++) </p><p>  data[j-1

90、]=data[j]; </p><p>  length--; </p><p>  cout<<"刪除人員信息成功"<<endl; </p><p><b>  }</b></p><p>  //刪除人員信息函數(shù),按編號(hào) </p><p>  voi

91、d Teacher::Del(int i) </p><p><b>  { </b></p><p><b>  int j; </b></p><p>  if(i<1||i>length) </p><p>  cout<<"不存在第"<<

92、;i<<"個(gè)元素"; </p><p>  for(j=i;j<length;j++) </p><p>  data[j-1]=data[j]; </p><p>  length--; </p><p>  cout<<"刪除成功"<<endl; </

93、p><p><b>  }</b></p><p>  //運(yùn)算符重載函數(shù),>> </p><p>  istream& operator>>(istream & input,infor& T) </p><p><b>  { </b></p>

94、;<p>  int y,m,d; </p><p>  cout<<"請(qǐng)輸入姓名(以空格作為結(jié)束的標(biāo)志):"<<endl; </p><p>  input.getline(T.name,20,' '); </p><p>  cout<<"請(qǐng)輸入性別(以空格作為結(jié)束的

95、標(biāo)志):"<<endl; </p><p>  input.getline(T.sex,10,' ');</p><p>  cout<<"編號(hào)(以空格作為結(jié)束的標(biāo)志):"<<endl; </p><p>  input.getline(T.num,20,' ');

96、</p><p>  cout<<"工作崗位(以空格作為結(jié)束的標(biāo)志):"<<endl;</p><p>  input.getline(T.workpart,20,' '); </p><p>  cout<<"請(qǐng)輸入出生日期:"<<endl; </p&g

97、t;<p>  input>>y>>m>>d; </p><p>  T.birthtime.year=y;</p><p>  if(m>=1&&m<=12)</p><p><b>  { </b></p><p>  T.birthtim

98、e.month=m;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  T.birthtime.month=1;</p><p><b>  } &

99、lt;/b></p><p>  T.birthtime.day=(d>=1&&d<=30)?d:1; </p><p>  cout<<"參加工作時(shí)間:"<<endl;</p><p>  input>>y>>m>>d; </p>&l

100、t;p>  T.worktime.year=y; </p><p>  T.worktime.month=(m>=1&&m<=12)?m:1; </p><p>  T.worktime.day=(d>=1&&d<=30)?d:1; </p><p>  return input; </p>

101、<p><b>  } </b></p><p>  //運(yùn)算符重載函數(shù),<<</p><p>  ostream& operator<<(ostream& output,infor& T) </p><p><b>  { </b></p><

102、;p>  cout<<"姓名:"; </p><p>  output<<T.name<<endl; </p><p>  cout<<"性別:"; </p><p>  output<<T.sex<<endl;</p><p&

103、gt;  cout<<"編號(hào):"; </p><p>  output<<T.num<<endl; </p><p>  cout<<"工作部門:"; </p><p>  output<<T.workpart<<endl; </p><

104、;p>  cout<<"出生日期:"; </p><p>  output<<T.birthtime.year<<" "<<T.birthtime.month<<" "<<T.birthtime.day<<endl; </p><p>  c

105、out<<"參加工作時(shí)間:"; </p><p>  output<<T.worktime.year<<" "<<T.worktime.month<<" "<<T.worktime.day<<endl;</p><p>  cout<<

106、"年齡:"; </p><p>  output<<T.year<<endl; </p><p>  return output; </p><p><b>  }</b></p><p><b>  //運(yùn)算符-重載</b></p><

107、;p>  int operator-(Time &t1,Time &t2) </p><p><b>  { </b></p><p>  return (t1.year-t2.year); </p><p><b>  } </b></p><p><b>  //

108、菜單函數(shù)</b></p><p>  void showcaidan() </p><p><b>  { </b></p><p>  cout<<"****************歡迎使用人員信息管理系統(tǒng)********************"<<endl;</p>&

109、lt;p>  cout<<"* 0-讀取文件信息 *"<<endl;</p><p>  cout<<"* 1-錄入全部人員(教師、學(xué)生)信息 *"<<endl; </p>&

110、lt;p>  cout<<"* 2-增加一位人員(教師、學(xué)生)信息 *"<<endl; </p><p>  cout<<"* 3-顯示全部人員信息 *"<<endl; </p>&l

111、t;p>  cout<<"* 4-計(jì)算人員平均年齡 *"<<endl; </p><p>  cout<<"* 5-刪除一個(gè)人員信息 *"<<endl; </p&g

112、t;<p>  cout<<"* 6-按部門輸出人員信息(可選) *"<<endl; </p><p>  cout<<"* 7-按姓名或年齡檢索所有信息 *"<<endl; </p>

113、<p>  cout<<"* 8-顯示菜單目錄 *"<<endl; </p><p>  cout<<"* 9-結(jié)束運(yùn)行 *"<<endl;

114、 </p><p>  cout<<"************************************************************"<<endl; </p><p><b>  }</b></p><p><b>  //主函數(shù) </b></p&

115、gt;<p>  int main() </p><p><b>  { </b></p><p>  Teacher teacher1; //建立對(duì)象</p><p>  Student student1; </p><p>  People *p1=&teacher1; </p>

116、<p>  People *p2=&student1; </p><p>  int c,k,l,i; </p><p>  char nam[20],part[20]; </p><p>  showcaidan(); </p><p>  for( ; ; ) </p><p><b&g

117、t;  {</b></p><p>  cout<<"請(qǐng)選擇操作: "; </p><p><b>  cin>>c; </b></p><p>  switch(c) </p><p><b>  {</b></p><

118、p><b>  case 0:</b></p><p><b>  { </b></p><p>  cout<<"**********正在讀取教師信息************"<<endl; </p><p>  p1->Add1(); </p>&l

119、t;p>  cout<<"**********正在讀取學(xué)生信息************"<<endl; </p><p>  p2->Add1();</p><p><b>  break;</b></p><p><b>  }</b></p><

120、;p><b>  case 1:</b></p><p><b>  { </b></p><p>  cout<<"**********輸入教師信息************"<<endl; </p><p>  p1->Add2(); </p><

121、;p>  cout<<"**********輸入學(xué)生信息************"<<endl; </p><p>  p2->Add2(); </p><p><b>  break;</b></p><p><b>  }</b></p><p

122、><b>  case 2:</b></p><p><b>  { </b></p><p>  cout<<"*****1-教師操作 2-學(xué)生操作*****"<<endl; </p><p><b>  cin>>k;</b><

123、;/p><p><b>  if(k==1)</b></p><p>  p1->Add();</p><p>  else if(2==k)</p><p>  p2->Add();</p><p><b>  else</b></p><p&g

124、t;  cout<<"操作錯(cuò)誤"<<endl;</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  case 3:</b></p><p><b>  {&l

125、t;/b></p><p>  p1->Display(); </p><p>  p2->Display();</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  case 4:&

126、lt;/b></p><p><b>  {</b></p><p>  cout<<"*****1-教師操作 2-學(xué)生操作*****"<<endl; </p><p><b>  cin>>k; </b></p><p><

127、b>  if(k==1)</b></p><p>  cout<<"教師平均年齡:"<<p1->average()<<endl;</p><p>  else if(k==2)</p><p>  cout<<"學(xué)生平均年齡:"<<p2->

128、;average()<<endl;</p><p><b>  else</b></p><p>  cout<<"操作錯(cuò)誤"<<endl;</p><p><b>  break;</b></p><p><b>  }</b

129、></p><p><b>  case 5:</b></p><p><b>  {</b></p><p>  cout<<"*****1-教師操作 2-學(xué)生操作*****"<<endl; </p><p><b>  cin>

130、;>k; </b></p><p><b>  if(k==1)</b></p><p><b>  {</b></p><p>  cout<<"1-按姓名刪除 2-按位置刪除"<<endl;</p><p><b>  

131、cin>>l; </b></p><p><b>  if (l==1)</b></p><p><b>  {</b></p><p>  cout<<"請(qǐng)輸入要?jiǎng)h除人員的姓名(以空格作為結(jié)束的標(biāo)志):"<<endl;</p><p&

132、gt;  cin.getline(nam,20,' ');</p><p>  p1->Del(nam);</p><p><b>  }</b></p><p>  else if(l==2)</p><p><b>  {</b></p><p> 

133、 cout<<"請(qǐng)輸入要?jiǎng)h除人的位置:"<<endl;</p><p><b>  cin>>i;</b></p><p>  p1->Del(i);</p><p><b>  }</b></p><p><b>  else

134、</b></p><p>  cout<<"操作錯(cuò)誤"<<endl;</p><p><b>  }</b></p><p>  else if(k==2)</p><p><b>  {</b></p><p>  c

135、out<<"1-按姓名刪除 2-按位置刪除"<<endl;</p><p><b>  cin>>l;</b></p><p><b>  if (l==1)</b></p><p><b>  {</b></p><p&

136、gt;  cout<<"請(qǐng)輸入要?jiǎng)h除人員的姓名(以空格作為結(jié)束的標(biāo)志):"<<endl;</p><p>  cin.getline(nam,20,' ');</p><p>  p2->Del(nam);</p><p><b>  }</b></p><p

137、>  else if(l==2)</p><p><b>  {</b></p><p>  cout<<"請(qǐng)輸入要?jiǎng)h除人的位置:"<<endl;</p><p><b>  cin>>i;</b></p><p>  p2->De

138、l(i);</p><p><b>  }</b></p><p><b>  else</b></p><p>  cout<<"操作錯(cuò)誤"<<endl;</p><p><b>  }</b></p><p&g

139、t;<b>  else</b></p><p>  cout<<"操作錯(cuò)誤"<<endl;</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  case 6

140、:</b></p><p><b>  {</b></p><p>  cout<<"*****1-教師操作 2-學(xué)生操作*****"<<endl;</p><p><b>  cin>>k;</b></p><p><b

141、>  if(k==1)</b></p><p><b>  {</b></p><p>  cout<<"請(qǐng)輸入要輸出人員的部門(以空格作為結(jié)束的標(biāo)志):"<<endl;</p><p>  cin.getline(part,20,' ');</p>&

142、lt;p>  p1->Displaypart(part);</p><p><b>  }</b></p><p>  else if(k==2)</p><p><b>  {</b></p><p>  cout<<"請(qǐng)輸入要輸出人員的部門(以空格作為結(jié)束的標(biāo)志

143、):"<<endl;</p><p>  cin.getline(part,20,' ');</p><p>  p2->Displaypart(part);</p><p><b>  }</b></p><p><b>  else</b></p

144、><p>  cout<<"操作錯(cuò)誤"<<endl;</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  case 7:</b></p><p>&

145、lt;b>  {</b></p><p>  cout<<"*****1-教師操作 2-學(xué)生操作*****"<<endl;</p><p><b>  cin>>k;</b></p><p><b>  if(k==1)</b></p>

146、;<p><b>  {</b></p><p>  cout<<"1-按姓名查找 2-按年齡查找"<<endl;</p><p><b>  cin>>l;</b></p><p><b>  if (l==1)</b><

147、;/p><p><b>  {</b></p><p>  cout<<"請(qǐng)輸入要查找人員的姓名(以空格作為結(jié)束的標(biāo)志):"<<endl;</p><p>  cin.getline(nam,20,' ');</p><p>  p1->checkname(n

148、am);</p><p><b>  }</b></p><p>  else if(l==2)</p><p><b>  {</b></p><p>  cout<<"請(qǐng)輸入要查找人的年齡:"<<endl;</p><p>&l

149、t;b>  cin>>i;</b></p><p>  p1->checkyear(i);</p><p><b>  }</b></p><p><b>  else</b></p><p>  cout<<"操作錯(cuò)誤"<&

150、lt;endl;</p><p><b>  }</b></p><p>  else if(k==2)</p><p><b>  {</b></p><p>  cout<<"1-按姓名查找 按年齡查找"<<endl;</p><

151、;p><b>  cin>>l;</b></p><p><b>  if (l==1)</b></p><p><b>  {</b></p><p>  cout<<"請(qǐng)輸入要查找人員的姓名(以空格作為結(jié)束的標(biāo)志):"<<endl;&l

152、t;/p><p>  cin.getline(nam,20,' ');</p><p>  p2->checkname(nam);</p><p><b>  }</b></p><p>  else if(l==2)</p><p><b>  {</b>

153、</p><p>  cout<<"請(qǐng)輸入要查找人的年齡:"<<endl;</p><p><b>  cin>>i;</b></p><p>  p2->checkyear(i);</p><p><b>  }</b></p&g

溫馨提示

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

評(píng)論

0/150

提交評(píng)論