2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  《面向?qū)ο蟪绦蛟O(shè)計》課程設(shè)計報告</p><p>  完成時間: 年 月 日</p><p> 設(shè)計題目職工信息管理系統(tǒng)</p><p> 學(xué)生姓名</p><p> 學(xué)生班級</p><p> 學(xué)生學(xué)號</p><p> 指導(dǎo)教師</p>&l

2、t;p><b>  目 錄</b></p><p>  1 前言3 1.1項目背景3</p><p>  1.2問題描述42 需求分析4</p><p><b>  2.1要求4</b></p><p><b>  2.2任務(wù)4</b></p&g

3、t;<p><b>  2.3運行環(huán)境4</b></p><p><b>  2.4開發(fā)工具4</b></p><p>  3 概要設(shè)計與詳細(xì)設(shè)計4</p><p>  3.1系統(tǒng)流程圖5</p><p>  3.2運行結(jié)果舉例5</p><p>&l

4、t;b>  4 編碼與實現(xiàn)6</b></p><p><b>  4.1分析7</b></p><p>  4.2具體代碼實現(xiàn)7</p><p>  5 課程設(shè)計總結(jié)20</p><p>  5.1該課程設(shè)計的特點和不足20</p><p>  5. 2心得體會....

5、.........................................................................................20</p><p><b>  參考文獻(xiàn)21</b></p><p><b>  1 前言</b></p><p><b>  1.

6、1項目背景</b></p><p>  職工信息管理系統(tǒng)是一個企業(yè)單位不可絕少的部分,它的內(nèi)容對于企業(yè)的決策者和管理者來說都是至關(guān)重要的,所以職工信息管理系統(tǒng)應(yīng)該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來各個公司基本上都是靠傳統(tǒng)的人工方式來管理職工信息,這種管理方式存在著許多缺點,如效率低,保密性差,另外時間一長將產(chǎn)生大量的文件和數(shù)據(jù),這對于信息的查找,更新和維護都帶來不少困難。</p

7、><p>  當(dāng)今社會,信息迅速膨脹,隨著各個公司的規(guī)模擴大,有關(guān)信息管理工作所涉及的數(shù)據(jù)量越來越大,職工信息量也大大增加,利用傳統(tǒng)的手工查詢,等登記和修改等方法的處理速度遠(yuǎn)遠(yuǎn)跟不上公司的需求,有的公司不得不靠增加人力,物力來進(jìn)行信息管理。</p><p>  隨著計算機級數(shù)的不斷提高,計算機作為知識經(jīng)濟時代的產(chǎn)物,其強大的功能已為人們深刻認(rèn)識,它已進(jìn)入人類社會的各個行業(yè)和領(lǐng)域并發(fā)揮著越來越重

8、要的作用,成為人們工作和生活中不可缺少的一部分。</p><p>  而作為計算機應(yīng)用的一部分,使用計算機對職工進(jìn)行信息管理,具有手工管理所無法比擬的優(yōu)點。例如檢查迅速,查詢方便,可靠性高,存儲量大,保密性好,壽命長,成本低等。這些優(yōu)點能夠極大地提高職工信息管理的效率,也是公司的科學(xué)化,正規(guī)化管理與世界接軌的重要條件,職工信息管理系統(tǒng)作為一種管理軟件正在各公司中得到越來越廣泛的應(yīng)用,且以達(dá)到良好的效果。</

9、p><p><b>  1.2問題描述</b></p><p>  編寫一個程序來管理職工信息。通過一個類來存放輸入的每一位職工的記錄(包括職工號、姓名、性別、年齡、學(xué)歷、工資、住址、電話等),然后將其信息保存到文件中。通過幾個函數(shù)來創(chuàng)建新職工號,并對職工信息進(jìn)行刪除及修改,輸入一個職工號查詢該職工的信息,并顯示在屏幕上。</p><p><

10、b>  2 需求分析</b></p><p><b>  2.1要求</b></p><p> ?。?)只能使用C++語言實現(xiàn)程序設(shè)計;</p><p> ?。?)源程序要有適當(dāng)?shù)淖⑨?,使程序容易閱讀;</p><p>  (3)畫出查詢模塊的流程圖;利用類進(jìn)行相關(guān)信息處理;</p>&l

11、t;p> ?。?)系統(tǒng)的各個功能模塊要求用函數(shù)的形式實現(xiàn);</p><p> ?。?)運行界面清晰,功能明確。</p><p><b>  2.2任務(wù)</b></p><p> ?。?)定義一個類,輸入每一位職工的信息(包括職工號、姓名、性別、年齡、學(xué)歷、工資、住址、電話等),將其信息存入文件中;</p><p>

12、 ?。?)輸入職工號查詢該職工的信息,并顯示在屏幕上;</p><p> ?。?)畫出所有模塊的流程圖;</p><p><b> ?。?)編寫代碼;</b></p><p> ?。?)程序分析與調(diào)試。</p><p><b>  2.3運行環(huán)境</b></p><p>&l

13、t;b> ?。?)VC6.0</b></p><p><b>  2.4開發(fā)工具</b></p><p><b>  C++語言</b></p><p>  3 概要設(shè)計與詳細(xì)設(shè)計</p><p><b>  3.1系統(tǒng)流程圖</b></p>&

14、lt;p><b>  如圖3.1所示。</b></p><p>  圖3.1 系統(tǒng)流程圖</p><p><b>  3.2運行結(jié)果舉例</b></p><p> ?。?)職工信息錄入界面</p><p>  (2)職工信息修改界面</p><p><b>

15、  4 編碼與實現(xiàn)</b></p><p><b>  4.1分析</b></p><p>  本系統(tǒng)主要分為WorkerList類、database類、函數(shù)menu、函數(shù)menu2以及main函數(shù),WorkerList類中包括的數(shù)據(jù)成員有id、name[10]、sex[10]、age、edu[20]、salary、address[25]、tel[11],

16、包括的函數(shù)成員有setid()、setname()、setsex()、setage()、setedu()、setsalary()、setaddress()、settel()、getid()、add()、display()。而database類中包括的數(shù)據(jù)成員有top、 WorkList worker[N],包括的函數(shù)成員有rdatabase()、add()、search()、delet()、modify()。</p>&l

17、t;p>  用函數(shù)add()實現(xiàn)職工信息的錄入,用函數(shù)search()實現(xiàn)對職工信息的查詢,用函數(shù)delet()實現(xiàn)對職工信息的刪除,用函數(shù)modify()實現(xiàn)對職工信息的修改。</p><p><b>  4.2具體代碼實現(xiàn)</b></p><p>  #include<iostream></p><p>  #includ

18、e<string></p><p>  #include<fstream></p><p>  #define N 100 // N作為最大職工數(shù)</p><p>  using namespace std;</p><p>  void menu();//顯示菜單</p><p>  clas

19、s WorkerList</p><p><b>  {</b></p><p><b>  private:</b></p><p><b>  int id;</b></p><p>  char name[10];</p><p>  char s

20、ex[10];</p><p><b>  int age;</b></p><p>  char edu[20];</p><p>  int salary;</p><p>  char address[25];</p><p>  char tel[11];</p><p

21、><b>  public:</b></p><p>  void setid()//以下函數(shù)用于職工屬性的輸入</p><p><b>  {</b></p><p>  cout<<"請輸入職工號:"<<endl;</p><p><b&g

22、t;  cin>>id;</b></p><p><b>  }</b></p><p>  void setname()</p><p><b>  {</b></p><p>  cout<<"請輸入職工姓名:"<<endl;&

23、lt;/p><p>  cin>>name;</p><p><b>  }</b></p><p>  void setsex()</p><p><b>  {</b></p><p>  cout<<"請輸入職工性別:"<&

24、lt;endl;</p><p><b>  cin>>sex;</b></p><p><b>  }</b></p><p>  void setage()</p><p><b>  {</b></p><p>  cout<&l

25、t;"請輸入職工年齡:"<<endl;</p><p><b>  cin>>age;</b></p><p><b>  }</b></p><p>  void setedu()</p><p><b>  {</b></p

26、><p>  cout<<"請輸入職工學(xué)歷:"<<endl;</p><p><b>  cin>>edu;</b></p><p><b>  }</b></p><p>  void setsalary()</p><p&g

27、t;<b>  {</b></p><p>  cout<<"請輸入職工工資:"<<endl;</p><p>  cin>>salary;</p><p><b>  }</b></p><p>  void setaddress()<

28、/p><p><b>  {</b></p><p>  cout<<"請輸入職工住址:"<<endl;</p><p>  cin>>address;</p><p><b>  }</b></p><p>  void

29、settel()</p><p><b>  {</b></p><p>  cout<<"請輸入職工電話:"<<endl;</p><p><b>  cin>>tel;</b></p><p><b>  }</b>&

30、lt;/p><p>  int getid()//取職工號函數(shù),主要用于判斷輸入的職工號是否已存在</p><p><b>  {</b></p><p>  return id;</p><p><b>  }</b></p><p>  void add()//職工信息錄入&

31、lt;/p><p><b>  {</b></p><p><b>  setid();</b></p><p>  setname();</p><p><b>  setsex();</b></p><p><b>  setage();<

32、;/b></p><p><b>  setedu();</b></p><p>  setsalary();</p><p>  setaddress();</p><p><b>  settel();</b></p><p><b>  }</b&

33、gt;</p><p>  void display()//顯示函數(shù),用于將已有職工的信息輸出</p><p><b>  {</b></p><p>  cout<<"職工工號為:"<<id<<endl;</p><p>  cout<<"職

34、工姓名為:"<<name<<endl;</p><p>  cout<<"職工性別為:"<<sex<<endl;</p><p>  cout<<"職工年齡為:"<<age<<endl;</p><p>  cout<

35、;<"職工學(xué)歷為:"<<edu<<endl;</p><p>  cout<<"職工工資為:"<<salary<<endl;</p><p>  cout<<"職工住址為:"<<address<<endl;</p>

36、<p>  cout<<"職工電話為:"<<tel<<endl;</p><p><b>  }</b></p><p><b>  };</b></p><p>  void menu()//菜單函數(shù)</p><p><b&g

37、t;  {</b></p><p>  cout<<endl;</p><p>  cout<<" ★★★★★★★★★★★★★★★★★★"<<endl;</p><p>  cout<<endl;</p><p>  co

38、ut<<" § §"<<endl;</p><p>  cout<<endl;</p><p>  cout<<" ∽∽∽∽∽∽∽∽∽∽歡迎進(jìn)入職工信息管理系統(tǒng)∽∽∽∽∽∽∽∽∽∽"<&l

39、t;endl;</p><p>  cout<<endl;</p><p>  cout<<" 1.職工信息錄入";</p><p>  cout<<" 2.職工信息查詢"<<endl;</p><

40、;p>  cout<<endl;</p><p>  cout<<" 3.職工信息刪除"; </p><p>  cout<<" 4.職工信息修改"<<endl; </p><p>  cout<&

41、lt;endl;</p><p>  cout<<" ∽∽∽∽∽∽∽∽∽∽∽∽∽謝謝您的使用∽∽∽∽∽∽∽∽∽∽∽∽∽"<<endl;</p><p>  cout<<endl; </p><p><b>  }</b></p><p>  voi

42、d menu2()//修改職工信息顯示的選擇界面</p><p><b>  {</b></p><p>  cout<<" ****************************************************************"<<endl;</p><p> 

43、 cout<<endl;</p><p>  cout<<" ******* 1.修改工號 2.修改姓名 *******"<<endl;</p><p>  cout<<endl;</p><p>  cout<<&quo

44、t; ******* 3.修改性別 4.修改年齡 *******"<<endl;</p><p>  cout<<endl;</p><p>  cout<<" ******* 5.修改學(xué)歷 6.修改工資

45、 *******"<<endl;</p><p>  cout<<endl;</p><p>  cout<<" ******* 7.修改地址 8.修改電話 *******"<<endl;</p><p>  cout<

46、;<endl;</p><p>  cout<<" ****************************************************************"<<endl;</p><p>  cout<<endl;</p><p><b>  }</b

47、></p><p>  class database//database類,用于將輸入的職工信息保存在一個txt文檔中及讀取</p><p><b>  {</b></p><p><b>  private:</b></p><p><b>  int top;</b>

48、</p><p>  WorkerList worker[N];</p><p><b>  public:</b></p><p>  void rdatabase()//打開磁盤中相應(yīng)的文件</p><p><b>  {</b></p><p><b>  t

49、op=-1;</b></p><p>  fstream file;//定義fstream類對象file</p><p>  file.open("c:\\worker.txt ",ios::in|ios::binary);//使文件流與磁盤的worker.txt文件建立關(guān)聯(lián),并從中讀取職工信息</p><p>  while(!fi

50、le.eof())</p><p><b>  {</b></p><p><b>  top++;</b></p><p>  file.read((char *)&worker[top],sizeof(worker[top]));</p><p><b>  }</b&g

51、t;</p><p>  file.close();//將關(guān)聯(lián)的磁盤文件關(guān)閉</p><p><b>  top++;</b></p><p><b>  } </b></p><p>  void add()//新添加職工函數(shù)</p><p><b>  {<

52、;/b></p><p><b>  int id;</b></p><p>  cout<<"請輸入職工號以便鑒定"<<endl;</p><p><b>  cin>>id;</b></p><p>  for(int i=0;i&l

53、t;top;i++)</p><p><b>  {</b></p><p>  if(worker[i].getid()==id)</p><p><b>  {</b></p><p>  cout<<"對不起,您輸入的職工號已存在"<<endl;&l

54、t;/p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  worker[top].add();</p><p><b>  top++;</b&g

55、t;</p><p>  outdatabase();</p><p>  cout<<"添加成功!"<<endl;</p><p><b>  return;</b></p><p><b>  }</b></p><p>  v

56、oid outdatabase()//將輸入的職工信息寫入txt文檔</p><p><b>  {</b></p><p>  fstream file;</p><p>  file.open("c:\\worker.txt",ios::out|ios::binary);</p><p>  fo

57、r(int i=0;i<top;i++)</p><p>  file.write((char *)&worker[i],sizeof(worker[i]));//寫入結(jié)構(gòu)體的元素</p><p>  file.close();</p><p><b>  }</b></p><p>  void sear

58、ch()//用于查詢職工的信息</p><p><b>  {</b></p><p><b>  int id2;</b></p><p>  cout<<"請輸入職工號"<<endl;</p><p><b>  cin>>id2

59、;</b></p><p>  for(int i=0;i<top;i++)</p><p><b>  {</b></p><p>  if(worker[i].getid()==id2)</p><p><b>  {</b></p><p>  wor

60、ker[i].display();</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  cout<<"對不起,該職工不存在"<<end

61、l;</p><p><b>  return;</b></p><p><b>  }</b></p><p>  void delet()//實現(xiàn)對職工信息的刪除</p><p><b>  {</b></p><p><b>  int

62、id,j;</b></p><p>  cout<<"請輸入職工號"<<endl;</p><p><b>  cin>>id;</b></p><p>  for(int i=0;i<top;i++)</p><p><b>  {&l

63、t;/b></p><p>  if(worker[i].getid()==id)</p><p><b>  {</b></p><p>  for(j=i;j<top;j++)</p><p><b>  {</b></p><p>  worker[j]=w

64、orker[j+1];</p><p><b>  }</b></p><p>  cout<<"該職工信息已刪除"<<endl;</p><p>  outdatabase();</p><p><b>  return;</b></p>

65、<p><b>  }</b></p><p><b>  }</b></p><p>  cout<<"對不起,該職工不存在"<<endl;</p><p><b>  return;</b></p><p><

66、b>  }</b></p><p>  void modify()//對職工信息進(jìn)行修改</p><p><b>  {</b></p><p><b>  int id;</b></p><p>  cout<<"請輸入要修改的職工號"<&l

67、t;endl;</p><p><b>  cin>>id;</b></p><p>  for(int i=0;i<top;i++)</p><p><b>  {</b></p><p>  if(worker[i].getid()==id)</p><p&

68、gt;<b>  {</b></p><p><b>  int g;</b></p><p><b>  menu2();</b></p><p><b>  cin>>g;</b></p><p><b>  switch(g)&

69、lt;/b></p><p><b>  {</b></p><p>  case 1:worker[i].setid();break;</p><p>  case 2:worker[i].setname();break;</p><p>  case 3:worker[i].setsex();break;<

70、;/p><p>  case 4:worker[i].setage();break;</p><p>  case 5:worker[i].setedu();break;</p><p>  case 6:worker[i].setsalary();break;</p><p>  case 7:worker[i].setaddress();br

71、eak;</p><p>  case 8:worker[i].settel();break;</p><p><b>  }</b></p><p>  outdatabase();</p><p>  cout<<"修改成功"<<endl;</p><p

72、><b>  return;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  cout<<"對不起,該職工不存在"<<endl;</p><p><b>  

73、return;</b></p><p><b>  }</b></p><p><b>  };</b></p><p>  void main()</p><p><b>  {</b></p><p>  int choice;</

74、p><p>  database a;</p><p><b>  menu();</b></p><p>  cin>>choice;</p><p>  while(choice)</p><p><b>  {</b></p><p> 

75、 switch(choice)</p><p><b>  {</b></p><p>  case 1:a.rdatabase();</p><p>  a.add();break;</p><p>  case 2:a.rdatabase();</p><p>  a.search();bre

76、ak;</p><p>  case 3:a.rdatabase();</p><p>  a.delet();break;</p><p>  case 4:a.rdatabase();</p><p>  a.modify();break;</p><p><b>  }</b></p&

77、gt;<p><b>  menu();</b></p><p>  cin>>choice;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  5 課程設(shè)計總結(jié)</b>&

78、lt;/p><p>  5.1該課程設(shè)計的特點和不足</p><p>  這個程序設(shè)計有很多不足,并不能將所有職工的相關(guān)信息輸出,這個問題暫時還未能實現(xiàn),不過以后我會努力學(xué)習(xí)逐漸加以改善爭取完善它的功能。</p><p>  該程序所存信息不足,有待改善,但該程序適合現(xiàn)階段面向?qū)ο蠹夹g(shù)初學(xué)者的練習(xí)作業(yè),能有效的反映出學(xué)生的學(xué)習(xí)情況及其動手能力,也能讓學(xué)生自己檢測出本學(xué)期

79、自己所獲得的知識掌握情況,是一向很好的課程設(shè)計項目。</p><p><b>  5.2心得體會</b></p><p>  通過這次對職工信息管理系統(tǒng)的課程設(shè)計,我獲益頗多。長時間的思索這個課程設(shè)計使得我對函數(shù)和類的理解及其運用更加透徹與深刻。</p><p>  在設(shè)計程序的過程中,我也曾遇到令人頭疼的難題,令自己百思不得其解。職工信息管理

80、系統(tǒng)的設(shè)計需要對職工的信息進(jìn)行存儲,但是如何將信息真正的存儲到文件中呢?這個難題曾一度難倒了我。慶幸的是,在老師和同學(xué)的幫助下,我尋到了解決問題的方法,將信息保存到文件中需要查閱C++面向?qū)ο蟪绦蛟O(shè)計教科書。在書上第9章C++的輸入輸出流里有對信息進(jìn)行文件2進(jìn)制存儲的相關(guān)內(nèi)容,通過問老師和自己進(jìn)一步深入學(xué)習(xí),這個大難題最終得以解決。</p><p>  然而當(dāng)所有的程序完成的時候,并沒想象中那么容易運行,總有一些

81、零零碎碎的錯誤隱藏在一個個“陰暗”的角落里,研究修改了很久,仍有錯誤找不出來,于是就只好求助別人幫忙了。</p><p>  在本系統(tǒng)的開發(fā)設(shè)計中,由于我是初次開發(fā)軟件,在知識,經(jīng)驗方面都存在著不足。另外這個開發(fā)的過程比較倉促,因此留下了一些不足與缺陷,因為對職工信息管理的流程不太熟悉,在分析時未能做到完善。</p><p>  盡管如此,我還是學(xué)到了很多東西。通過開發(fā)這個系統(tǒng),我掌握了項

82、目基本開發(fā)過程,用到的知識鞏固了我對C++語言的學(xué)習(xí),但在這次設(shè)計中的最大收獲并不是掌握這幾門開發(fā)工具的應(yīng)用,而是學(xué)習(xí)了設(shè)計系統(tǒng)的思維方法,以及同學(xué)們之間相互幫助的精神。</p><p>  這次課程設(shè)計也同時讓我個人認(rèn)識到了自己知識的不足,并讓我對C++有了全新的認(rèn)識,也對其產(chǎn)生了濃厚的興趣,要好好學(xué)習(xí)C++,充實自己。為自己加油!為老師加油!為父母加油!</p><p><b&g

溫馨提示

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

評論

0/150

提交評論