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

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  課程設(shè)計(jì)說明書</b></p><p>  程序設(shè)計(jì)基礎(chǔ)課程設(shè)計(jì)任務(wù)書</p><p>  一、題目:學(xué)生管理系統(tǒng)</p><p><b>  二、目的與要求</b></p><p><b>  目的:</b></p><p&g

2、t; ?。?)培養(yǎng)學(xué)生綜合利用C++語言進(jìn)行程序設(shè)計(jì)的能力,掌握排序算法,使學(xué)生能夠解決信息管理系統(tǒng)中的一些問題。</p><p> ?。?)提高學(xué)生建立程序文檔、歸納總結(jié)的能力。</p><p><b>  基本要求:</b></p><p>  (1)要求用C++結(jié)構(gòu)化的設(shè)計(jì)思想來完成程序的設(shè)計(jì);</p><p> 

3、 (2)要求各個(gè)功能分別使用函數(shù)來完成。</p><p>  (3)源代碼程序要求必要的注釋。</p><p><b>  創(chuàng)新要求</b></p><p>  在基本要求達(dá)到后,請(qǐng)修改代碼,在功能不變的情況下盡可能修改代碼使代碼短小。</p><p><b>  書寫設(shè)計(jì)報(bào)告的要求</b><

4、/p><p>  設(shè)計(jì)報(bào)告中包含以下幾個(gè)方面:</p><p><b>  設(shè)計(jì)題目</b></p><p><b>  總體設(shè)計(jì)</b></p><p>  首先設(shè)計(jì)結(jié)構(gòu),建立鏈表</p><p>  用自頂而下或自底而上的方法,劃分功能模塊,設(shè)計(jì)每個(gè)類的成員函數(shù)</p&

5、gt;<p><b>  確定各模塊的算法</b></p><p><b>  根據(jù)算法畫出流程圖</b></p><p>  列出程序清單,并加以必要的注釋</p><p><b>  寫出調(diào)試程序的方法</b></p><p>  指出所設(shè)計(jì)問題的不足和改進(jìn)方

6、案</p><p><b>  畫出程序流程圖</b></p><p>  課程設(shè)計(jì)材料的裝訂順序?yàn)椋?lt;/p><p><b>  設(shè)計(jì)說明書封面</b></p><p><b>  課程設(shè)計(jì)任務(wù)書</b></p><p><b>  課程設(shè)

7、計(jì)鑒定表</b></p><p><b>  目錄</b></p><p><b>  設(shè)計(jì)報(bào)告書正文</b></p><p>  三、設(shè)計(jì)方法和基本原理</p><p><b>  問題描述:</b></p><p>  計(jì)算機(jī)系新招服務(wù)外

8、包方向,招生前學(xué)生人數(shù)并不確定。請(qǐng)根據(jù)以下要求為教務(wù)管理人員設(shè)計(jì)一個(gè)學(xué)生管理系統(tǒng)。分別管理學(xué)生的相關(guān)信息。信息的詳細(xì)內(nèi)容如下:姓名、學(xué)號(hào)、年級(jí)、班級(jí)、入學(xué)數(shù)學(xué)成績(jī)、入學(xué)物理成績(jī)、入學(xué)英語成績(jī)。</p><p><b>  問題的解決方案:</b></p><p>  根據(jù)問題的描述,可以按照要求的功能采用面向?qū)ο蟮脑O(shè)計(jì)思想。</p><p> 

9、 要求使用鏈表實(shí)現(xiàn),結(jié)構(gòu)中必須包含題干描述的內(nèi)容。</p><p>  使用排序函數(shù)實(shí)現(xiàn)排序功能。</p><p>  四、主要技術(shù)問題的描述</p><p>  計(jì)算機(jī)系新招服務(wù)外包方向,招生前學(xué)生人數(shù)并不確定。請(qǐng)根據(jù)以下要求為教務(wù)管理人員設(shè)計(jì)一個(gè)學(xué)生管理系統(tǒng)。分別管理學(xué)生的相關(guān)信息。信息的詳細(xì)內(nèi)容如下:姓名、學(xué)號(hào)、年級(jí)、班級(jí)、入學(xué)數(shù)學(xué)成績(jī)、入學(xué)物理成績(jī)、入學(xué)英語

10、成績(jī)。系統(tǒng)功能要求如下:</p><p><b>  增加某新學(xué)生的信息</b></p><p><b>  刪除某學(xué)生的信息</b></p><p><b>  修改某學(xué)生的信息</b></p><p>  輸出符合某種特征的學(xué)生信息列表(選做以下任意模塊)。</p&g

11、t;<p>  按名稱升序(降序)輸出學(xué)生列表</p><p>  按某門成績(jī)升序(降序)輸出學(xué)生列表</p><p>  按學(xué)號(hào)升序(降序)輸出學(xué)生列表</p><p>  根據(jù)提供的學(xué)生姓名輸出該學(xué)生的信息</p><p>  以下兩個(gè)模塊任選一個(gè)</p><p>  輸出特定班級(jí)的學(xué)生信息列表<

12、;/p><p>  輸出特定學(xué)號(hào)范圍的學(xué)生信息列表</p><p>  五、課程設(shè)計(jì)時(shí)間:第18周(共一周)</p><p>  六、課程設(shè)計(jì)的考核方式及評(píng)分方法</p><p><b>  1.考核方式</b></p><p>  課程設(shè)計(jì)結(jié)束時(shí),在機(jī)房當(dāng)場(chǎng)驗(yàn)收。</p><p&

13、gt;  教師提供測(cè)試數(shù)據(jù),檢查運(yùn)行結(jié)果是否正確。</p><p>  回答教師提出的問題。</p><p>  學(xué)生提交課程設(shè)計(jì)文檔(A4紙打印)</p><p><b>  2.評(píng)分方法</b></p><p>  上機(jī)檢查:書面報(bào)告 5:5,沒有通過上機(jī)檢查的其成績(jī)直接記錄不及格</p><p&

14、gt;  指導(dǎo)教師簽名:         日期:        </p><p>  教研室主任簽名:        日期:        </p><p>  系主任簽名:          日期:        </p><p><b>  摘 要</b></p><p>  請(qǐng)為人力資源部設(shè)計(jì)一個(gè)新工人的管理

15、系統(tǒng)。分別管理工人的相關(guān)信息如下:姓名、工號(hào)、工種(電焊工、電工、鉗工、車工、鑄工)、級(jí)別(有的工種有8級(jí)有的只有5級(jí))、工資、獎(jiǎng)金。</p><p>  要求用C++結(jié)構(gòu)化編程思想來完成程序的設(shè)計(jì)。要求各個(gè)功能分別使用函數(shù)來完成。</p><p>  源代碼程序要求必要的注釋。培養(yǎng)學(xué)生綜合利用C++語言進(jìn)行程序設(shè)計(jì)的能力,掌握排序算法,使學(xué)生能夠解決信息管理系統(tǒng)中的一些問題。提高學(xué)生建立

16、程序文檔、歸納總結(jié)的能力。</p><p>  關(guān)鍵詞:C++ 工人信息管理系統(tǒng) 鏈表。</p><p><b>  目 錄</b></p><p>  1 設(shè)計(jì)內(nèi)容與要求 …………………………………………………………………………1</p><p>  2. 設(shè)計(jì)說明 ……………………………………………………………

17、……………………1</p><p>  2.1數(shù)據(jù)結(jié)構(gòu)說明…………………………………………………………………1</p><p>  2.2功能設(shè)計(jì)及函數(shù)說明………………………………………………………………………2</p><p>  2.3函數(shù)定義………………………………………………………………………………3</p><p>  2.4 界面

18、設(shè)計(jì)………………………………………………………………………………3</p><p>  2.5 調(diào)試及運(yùn)行結(jié)果……………………………………………………………………4</p><p>  3 總結(jié)…………………………………………………………………………………………9</p><p>  參考文獻(xiàn) ……………………………………………………………………………………10&l

19、t;/p><p>  附錄 源代碼………………………………………………………………………………11</p><p>  1. 設(shè)計(jì)內(nèi)容與要求</p><p>  分別管理工人的相關(guān)信息如下:姓名、工號(hào)、工種(電焊工、電工、鉗工、車工、鑄工)、級(jí)別(有的工種有8級(jí)有的只有5級(jí))、工資、獎(jiǎng)金、加班/曠工時(shí)數(shù)。系統(tǒng)功能要求如下:</p><p><

20、;b>  新增工人的信息</b></p><p><b>  刪除工人的信息</b></p><p><b>  修改工人的信息</b></p><p>  輸出符合某種特征的工人信息列表(選做以下任意模塊)。</p><p>  按工資升序(降序)輸出工人信息列表</p&g

21、t;<p>  按獎(jiǎng)金升序(降序)輸出工人信息列表</p><p>  按加班/曠工時(shí)數(shù)升序(降序)輸出工人信息列表</p><p>  根據(jù)提供的工人姓名輸出該工人的信息</p><p>  以下兩個(gè)模塊任選一個(gè)</p><p>  輸出特定工種的工人信息列表</p><p>  輸出特定工種級(jí)別的工人

22、信息列表。</p><p><b>  要求:</b></p><p>  (1)用C++結(jié)構(gòu)化的設(shè)計(jì)思想來完成程序的設(shè)計(jì)</p><p>  (2)各個(gè)功能分別使用函數(shù)來完成。</p><p>  (3)源代碼程序要求必要的注釋.</p><p><b>  2. 設(shè)計(jì)說明</b

23、></p><p>  2.1 數(shù)據(jù)結(jié)構(gòu)說明</p><p>  while+switch 選擇執(zhí)行功能(構(gòu)建main函數(shù)、構(gòu)建程序界面)</p><p>  建立鏈表:(申請(qǐng)一個(gè)動(dòng)態(tài)newhead逐個(gè)插入head中)首先建立鏈表頭head,再依次建立節(jié)點(diǎn),通過tail->next=temp.tail=temp將每個(gè)節(jié)點(diǎn)連接起來,將輸入的工人信息儲(chǔ)存在每

24、個(gè)節(jié)點(diǎn)中</p><p>  遍歷鏈表:(執(zhí)行while(head!=NULL)從鏈?zhǔn)组_始一,依次訪問鏈表中節(jié)點(diǎn)的信息,workers*curnode=head;while(curnode),curnode=curnode->next.再通過cout輸出每個(gè)節(jié)點(diǎn)信息</p><p>  輸出鏈表:將已經(jīng)修改、增加、刪除,過了的新鏈表先遍歷,同時(shí)依次用outputlist函數(shù)輸出節(jié)點(diǎn)中

25、的信息</p><p>  節(jié)點(diǎn)排序:通過pxlist函數(shù)新建一條空的鏈表把原來鏈表中的工資最小的放在新鏈表的第一個(gè)階點(diǎn),依次把剩下節(jié)點(diǎn)中工資最小的放在后面,最后返回新鏈表的首結(jié)點(diǎn)地址在通過outputlist函數(shù)輸出新鏈表的信息</p><p>  修改鏈表:先遍歷鏈表,找到所需修改的節(jié)點(diǎn)命名為curnode,然后用cin函數(shù)輸入節(jié)點(diǎn)中的信息覆蓋以前的信息,最后返回新的鏈表,通過out

26、putlist函數(shù)輸出來</p><p>  插入節(jié)點(diǎn):先遍歷鏈表,找要插入指針的節(jié)點(diǎn),把它賦給結(jié)構(gòu)指針prenode,把prenode->next賦給結(jié)構(gòu)指針curnode,然后新建一個(gè)新節(jié)點(diǎn)newhead,把它賦給prenode->next指向的節(jié)點(diǎn),最后把newhead->next指向的節(jié)點(diǎn)賦給curnode, 最后返回新的鏈表,通過outputlist函數(shù)輸出來</p>&

27、lt;p>  2.2 功能設(shè)計(jì)及函數(shù)說明</p><p>  圖1 程序功能模塊圖</p><p><b>  主函數(shù)說明</b></p><p>  主函數(shù)包括一個(gè)switch…case選擇結(jié)構(gòu),1代表添加工人信息2代表刪除工人信息3代表修改工人信息4代表按序號(hào)升序輸出工人信息5代表按輸入的工人的姓名輸出工人信息6代表輸出特定姓名的工人

28、信息,還有客戶見面目錄,while循環(huán)</p><p>  建立工人信息庫函數(shù)說明</p><p>  用戶先輸入要建立工人信息的工人數(shù)n,再把他建立createlist函數(shù)便構(gòu)成了一個(gè)鏈表,把每次輸入的工人信息儲(chǔ)存在不同節(jié)點(diǎn)中,便于以后修改,刪除,查詢</p><p><b>  增加工人信息</b></p><p>

29、  首先提示你要增加的工人數(shù),你在輸入數(shù)目,通過addlist函數(shù)把輸入工人的信息增加到鏈表中,在返回新的鏈表給outputlist函數(shù)輸出來</p><p>  刪除工人信息函數(shù)想說明</p><p>  輸入一個(gè)工人的工號(hào)通過deletelist函數(shù)找到該結(jié)點(diǎn)釋放該結(jié)點(diǎn)的信息在通過兩個(gè)指針把新的鏈表重新連接, 再把新鏈表返回給outputlist函數(shù)輸出來,在返回新的鏈表給主函數(shù),如果

30、沒有該工號(hào)的工人,則輸去沒有該工人,請(qǐng)重新輸入</p><p><b>  修改工人信息說明</b></p><p>  先輸入工人的工號(hào)通過flxlist函數(shù)找到儲(chǔ)存該工人信息的節(jié)點(diǎn)再重新輸入覆蓋原來節(jié)點(diǎn)的信息, 再返回給outputlist函數(shù)輸出來,如果沒有該工號(hào),則返回沒有該工號(hào)的工人,請(qǐng)重新輸入</p><p>  按工資升序輸出工人

31、信息說明</p><p>  通過pxlist函數(shù)新建一條空的鏈表把原來鏈表中的工資最小的放在新鏈表的第一個(gè)階點(diǎn),依次把剩下節(jié)點(diǎn)中工資最小的放在后面,最后返回新鏈表的首結(jié)點(diǎn)地址在通過outputlist函數(shù)輸出新鏈表的信息</p><p>  輸出特定特定姓名工人信息說明</p><p>  通過outputname函數(shù)找到該工人的信息,再返回給outputlist

32、函數(shù)輸出來,如果沒有該工人則提示輸入錯(cuò)誤,請(qǐng)重新輸入。</p><p><b>  2.3函數(shù)定義</b></p><p>  1 addlist(a,headlist) 增加工人信息</p><p>  2 deletelist(b,headlist)刪除工人信息</p><p>  3 fixlist(c,headl

33、ist)修改工人信息</p><p>  4 pxlist(headlist)按工資高到低排序</p><p>  5 outputlist(headlist)輸出修改后的新鏈表</p><p>  6 outputname (char name)按工人名字輸出信息</p><p>  7 outputgzh( e,headlist)輸出特定

34、工種信息數(shù)</p><p><b>  2.4界面設(shè)計(jì)</b></p><p>  ************************************</p><p>  ** 請(qǐng)選擇你所需的功能 **</p><p>  ** 0 輸入0結(jié)束程序 **</

35、p><p>  ** 1 增加工人信息 **</p><p>  ** 2 刪除工人信息 **</p><p>  ** 3 修改工人信息 **</p><p>  ** 4 按工資升序輸出工人信息 **</p><p&

36、gt;  ** 5 根據(jù)工人姓名輸出該工人的信息 **</p><p>  ** 6 輸出特定工種的工人信息列表 **</p><p>  *********************************** </p><p><b>  圖2界面</b></p><p><b>  2.5測(cè)試<

37、/b></p><p><b>  圖3.添加工人信息</b></p><p><b>  圖3.添加工人信息</b></p><p><b>  圖4.刪除工人信息</b></p><p><b>  圖4.刪除工人信息</b></p>

38、<p><b>  圖5.修改工人信息</b></p><p><b>  圖5.修改工人信息</b></p><p>  圖6.按工資升序輸出工人信息</p><p>  圖7.根據(jù)提供工人姓名輸出工人信息</p><p>  圖8.輸出特定特定工種的工人信息</p>

39、<p><b>  總結(jié)</b></p><p>  在設(shè)計(jì)程序的過程中,遇到了很多算法問題,以及函數(shù)的建立問題。剛開始覺得這是我不可能完成的任務(wù),因?yàn)槲乙稽c(diǎn)思路也沒有,為完成設(shè)計(jì),我們甚至熬夜做程序,在室友們熱情討論和指導(dǎo),查資料下終于完成了課程設(shè)計(jì)。盡管很困難很費(fèi)設(shè)計(jì)這個(gè)程序不但培養(yǎng)了我們綜合利用C++語言進(jìn)行程序設(shè)計(jì)的能力,掌握排序算法,解決信息管理系統(tǒng)中的一些問題。而且提高

40、了我們建立程序文檔、歸納總結(jié)的能力。最重要的是增加了我信心,以后遇到再難的問題我不會(huì)再畏懼。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 錢能. C++程序設(shè)計(jì)教程[M]. 北京:清華大學(xué)出版社,2005:315-324,415-418,423.</p><p>  [2] 劉瑞新. Visual C++面向?qū)ο蟪?/p>

41、序設(shè)計(jì)教程[M]. 北京:機(jī)械工業(yè)出版社,2005.</p><p><b>  附錄 源代碼</b></p><p>  #include<iostream.h></p><p>  #include<string.h></p><p>  struct workers //鏈表結(jié)構(gòu)&l

42、t;/p><p><b>  {</b></p><p><b>  int num;</b></p><p>  char name[8];</p><p><b>  int jj;</b></p><p><b>  int jb;</

43、b></p><p><b>  int gz;</b></p><p>  int jbsj,kgsj;</p><p>  char gzh[12];</p><p>  workers *next;</p><p><b>  };</b></p>

44、<p>  workers *createlist(int); //要調(diào)用的函數(shù)原型</p><p>  workers *addlist(int ,workers *head);</p><p>  workers *deletelist(int ,workers *head);</p><p>  workers

45、 *fixlist(int ,workers *head);</p><p>  workers *outputname(char *d,workers *head);</p><p>  workers *outputgzh(char*e,workers *head);</p><p>  void outputlist(workers *head);</p

46、><p>  workers *pxlist(workers *head);</p><p>  int main() //主函數(shù)</p><p><b>  {</b></p><p>  int n,a,b,c;</p><p>  char *d, *e;</p><p

47、>  workers *headlist=NULL;</p><p>  cout<<"請(qǐng)輸入所有工人信息:"<<endl;</p><p>  cout<<"請(qǐng)輸入工人人數(shù):"<<endl;</p><p><b>  cin>>n;</b&g

48、t;</p><p>  headlist=createlist(n);</p><p>  while(1) //客戶見面的目錄</p><p><b>  {</b></p><p>  cout<<"************************************"&l

49、t;<endl;</p><p>  cout<<"** 請(qǐng)選擇你所需的功能 **"<<endl;</p><p>  cout<<"** 0 輸入0結(jié)束程序 **"<<endl;</p><p>  cout<&

50、lt;"** 1 增加工人信息 **"<<endl;</p><p>  cout<<"** 2 刪除工人信息 **"<<endl;</p><p>  cout<<"** 3 修改工人信息 **&

51、quot;<<endl;</p><p>  cout<<"** 4 按工資升序輸出工人信息 **"<<endl;</p><p>  cout<<"** 5 根據(jù)工人姓名輸出該工人的信息 **"<<endl;</p><p>  cout<<

52、"** 6 輸出特定工種的工人信息列表 **"<<endl;</p><p>  cout<<"**********************************"<<endl;</p><p><b>  cin>>n;</b></p><p>  

53、switch(n) //供選擇的功能</p><p><b>  {</b></p><p>  case 0:return 0;</p><p><b>  case 1:</b></p><p><b>  {</b></p><p>  cou

54、t<<"請(qǐng)輸入要增加的工人數(shù):"<<endl;</p><p><b>  cin>>a;</b></p><p><b>  if(a>0)</b></p><p>  headlist=addlist(a,headlist);</p><

55、p><b>  break;</b></p><p><b>  }</b></p><p><b>  case 2:</b></p><p><b>  {</b></p><p>  cout<<"請(qǐng)輸入要?jiǎng)h除信息的工人的

56、工號(hào)"<<endl;</p><p><b>  cin>>b;</b></p><p>  headlist=deletelist(b,headlist);</p><p><b>  break;</b></p><p><b>  }</b&g

57、t;</p><p><b>  case 3:</b></p><p><b>  {</b></p><p>  cout<<"請(qǐng)輸入要修改信息的工人的工號(hào)"<<endl;</p><p><b>  cin>>c; </

58、b></p><p>  headlist=fixlist(c,headlist);</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  case 4:</b></p><p>&l

59、t;b>  {</b></p><p>  headlist=pxlist(headlist);</p><p>  outputlist(headlist);</p><p><b>  break;}</b></p><p><b>  case 5:</b></p>

60、;<p><b>  {</b></p><p>  cout<<"請(qǐng)輸入要輸出工人的姓名:";</p><p>  d=new char;</p><p><b>  cin>>d;</b></p><p>  outputname( d,

61、headlist);</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  case 6:</b></p><p><b>  {</b></p><p>  cout

62、<<"請(qǐng)輸入要查找的工種:";</p><p>  e=new char;</p><p><b>  cin>>e;</b></p><p>  outputgzh( e,headlist);</p><p><b>  break;</b></p

63、><p><b>  }</b></p><p>  default:cout<<"錯(cuò)誤,重新輸入!"<<endl;</p><p><b>  }</b></p><p><b>  }</b></p><p>

64、<b>  return 0;</b></p><p><b>  }</b></p><p>  workers *createlist(int n) //建立鏈表</p><p><b>  {</b></p><p>  workers *temp;</p&g

65、t;<p>  workers *head=NULL;</p><p>  workers *tail=NULL;</p><p>  head=new workers;</p><p>  if(head==NULL)</p><p><b>  {</b></p><p>  c

66、out<<"No memory available!";</p><p>  return NULL;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p>

67、;<p>  cout<<"請(qǐng)輸入工人姓名:";</p><p>  cin>>head->name;</p><p>  cout<<"請(qǐng)輸入工人工號(hào):";</p><p>  cin>>head->num;</p><p> 

68、 cout<<"請(qǐng)輸入工人工種:";</p><p>  cin>>head->gzh;</p><p>  cout<<"請(qǐng)輸入工人工資:";</p><p>  cin>>head->gz;</p><p>  cout<<&q

69、uot;請(qǐng)輸入工人獎(jiǎng)金:";</p><p>  cin>>head->jj;</p><p>  cout<<"請(qǐng)輸入工人級(jí)別:";</p><p>  cin>>head->jb;</p><p>  cout<<"請(qǐng)輸入工人加班時(shí)間:&q

70、uot;;</p><p>  cin>>head->jbsj;</p><p>  cout<<"請(qǐng)輸入工人曠工時(shí)間:";</p><p>  cin>>head->kgsj;</p><p>  head->next=NULL;</p><p&

71、gt;  tail=head; </p><p><b>  }</b></p><p>  for(int i=0;i<n-1;i++)</p><p><b>  {</b></p><p>  temp=new workers;</p><p>  if(temp

72、==NULL)</p><p><b>  {</b></p><p>  cout<<"No memory available!"<<endl;</p><p>  return head;</p><p><b>  }</b></p>

73、<p><b>  else</b></p><p><b>  {</b></p><p>  cout<<"請(qǐng)輸入工人姓名:";</p><p>  cin>>temp->name;</p><p>  cout<<&quo

74、t;請(qǐng)輸入工人工號(hào):";</p><p>  cin>>temp->num;</p><p>  cout<<"請(qǐng)輸入工人工種:";</p><p>  cin>>temp->gzh;</p><p>  cout<<"請(qǐng)輸入工人工資:&quo

75、t;;</p><p>  cin>>temp->gz;</p><p>  cout<<"請(qǐng)輸入工人獎(jiǎng)金:";</p><p>  cin>>temp->jj;</p><p>  cout<<"請(qǐng)輸入工人級(jí)別:";</p>&

76、lt;p>  cin>>temp->jb;</p><p>  cout<<"請(qǐng)輸入工人加班天數(shù):";</p><p>  cin>>temp->jbsj;</p><p>  cout<<"請(qǐng)輸入工人曠工天數(shù):";</p><p> 

77、 cin>>temp->kgsj;</p><p>  temp->next=NULL;</p><p>  tail->next=temp;</p><p>  tail=temp;</p><p><b>  } </b></p><p>  }return he

78、ad;</p><p><b>  }</b></p><p>  workers *addlist(int a,workers *head) //增加工人信息的函數(shù)</p><p><b>  {</b></p><p>  workers *curnode=head;</p>

79、<p>  workers *prenode=NULL;</p><p>  workers *newhead=NULL;</p><p>  while(curnode!=NULL){</p><p>  prenode=curnode;</p><p>  curnode=curnode->next;</p>

80、<p><b>  }</b></p><p>  for(int i=0;i<a;i++)</p><p><b>  {</b></p><p>  newhead=new workers;</p><p>  if(newhead==NULL)</p><

81、p><b>  {</b></p><p>  cout<<"No memory available!";</p><p>  return head;</p><p><b>  }</b></p><p>  cout<<"請(qǐng)輸入工人姓

82、名:";</p><p>  cin>>newhead->name;</p><p>  cout<<"請(qǐng)輸入工人工號(hào):";</p><p>  cin>>newhead->num;</p><p>  cout<<"請(qǐng)輸入工人工種:"

83、;;</p><p>  cin>>newhead->gzh;</p><p>  cout<<"請(qǐng)輸入工人工資:";</p><p>  cin>>newhead->gz;</p><p>  cout<<"請(qǐng)輸入工人獎(jiǎng)金:";</p&

84、gt;<p>  cin>>newhead->jj;</p><p>  cout<<"請(qǐng)輸入工人級(jí)別:";</p><p>  cin>>newhead->jb;</p><p>  cout<<"請(qǐng)輸入工人加班天數(shù):";</p><

85、;p>  cin>>newhead->jbsj;</p><p>  cout<<"請(qǐng)輸入工人曠工天數(shù):";</p><p>  cin>>newhead->kgsj;</p><p>  newhead->next=NULL;</p><p>  prenod

86、e->next=newhead;</p><p>  prenode=newhead;</p><p><b>  }</b></p><p>  return head;</p><p><b>  }</b></p><p>  workers *deletelis

87、t(int b,workers *head) //刪除工人信息的函數(shù)</p><p><b>  {</b></p><p>  workers *curnode=head;</p><p>  workers *prenode=NULL;</p><p>  while(curnode->num!=b){&l

88、t;/p><p>  prenode=curnode;</p><p>  curnode=curnode->next;</p><p><b>  }</b></p><p>  if(curnode==NULL)</p><p><b>  {</b></p>

89、;<p>  cout<<"沒有該工號(hào)的工人"<<endl;</p><p>  return head;</p><p><b>  }</b></p><p>  if(prenode==NULL)</p><p>  head=head->next;&

90、lt;/p><p><b>  else</b></p><p>  prenode->next=curnode->next;</p><p>  delete curnode;</p><p>  cout<<"已經(jīng)刪除該工人信息!"<<endl;</p>

91、<p>  return head;</p><p><b>  }</b></p><p>  workers *fixlist(int c,workers *head) //修改工人信息的函數(shù)</p><p><b>  {</b></p><p>  workers *cu

92、rnode=head;</p><p>  workers *prenode=NULL;</p><p>  while(curnode!=NULL&&curnode->num!=c){</p><p>  prenode=curnode;</p><p>  curnode=curnode->next;</

93、p><p><b>  } </b></p><p>  if(curnode==NULL)</p><p><b>  {</b></p><p>  cout<<"沒有該工號(hào)的工人"<<endl;</p><p>  return

94、head;</p><p><b>  }</b></p><p>  cout<<"重新輸入該工號(hào)工人的信息:";</p><p>  cout<<"請(qǐng)輸入工人姓名:";</p><p>  cin>>curnode->name;<

95、/p><p>  cout<<"請(qǐng)輸入工人工號(hào):";</p><p>  cin>>curnode->num;</p><p>  cout<<"請(qǐng)輸入工人工種:";</p><p>  cin>>curnode->gzh;</p>

96、<p>  cout<<"請(qǐng)輸入工人工資:";</p><p>  cin>>curnode->gz;</p><p>  cout<<"請(qǐng)輸入工人獎(jiǎng)金:";</p><p>  cin>>curnode->jj;</p><p> 

97、 cout<<"請(qǐng)輸入工人級(jí)別:";</p><p>  cin>>curnode->jb;</p><p>  cout<<"請(qǐng)輸入工人加班天數(shù):";</p><p>  cin>>curnode->jbsj;</p><p>  cout

98、<<"請(qǐng)輸入工人曠工天數(shù):";</p><p>  cin>>curnode->kgsj;</p><p>  cout<<"成功修改該工號(hào)工人信息!"<<endl;</p><p>  return head;</p><p><b> 

99、 }</b></p><p>  workers *outputname(char *d,workers *head) //根據(jù)工人姓名輸出該工人信息的函數(shù)</p><p><b>  {</b></p><p>  workers *curnode=head;</p><p>  workers *

100、prenode=NULL;</p><p>  while(curnode!=NULL&&strcmp(curnode->name,d))</p><p><b>  {</b></p><p>  prenode=curnode;</p><p>  curnode=curnode->nex

101、t;</p><p><b>  }</b></p><p>  if(curnode==NULL)</p><p><b>  {</b></p><p>  cout<<"不能找到該工人!"<<endl;</p><p>  r

102、eturn head;</p><p><b>  }</b></p><p>  cout<<"重新輸入該工號(hào)工人的信息:"<<endl;</p><p>  cout<<"請(qǐng)輸入工人姓名:"<<curnode->name<<endl;&

103、lt;/p><p>  cout<<"請(qǐng)輸入工人工號(hào):"<<curnode->num<<endl;</p><p>  cout<<"請(qǐng)輸入工人工種:"<<curnode->gzh<<endl;</p><p>  cout<<&quo

104、t;請(qǐng)輸入工人工資:"<<curnode->gz<<endl;</p><p>  cout<<"請(qǐng)輸入工人獎(jiǎng)金:"<<curnode->jj<<endl;</p><p>  cout<<"請(qǐng)輸入工人級(jí)別:"<<curnode->jb&l

105、t;<endl;</p><p>  cout<<"請(qǐng)輸入工人加班天數(shù):"<<curnode->jbsj<<endl;</p><p>  cout<<"請(qǐng)輸入工人曠工天數(shù):"<<curnode->kgsj<<endl;</p><p>

106、  cout<<endl;</p><p>  return head;</p><p><b>  }</b></p><p>  workers *outputgzh(char *e,workers *head) //輸出特定工種的工人信息列表的函數(shù)</p><p><b>  {<

107、/b></p><p>  workers *curnode=head;</p><p>  workers *prenode=NULL;</p><p>  while(curnode!=NULL)</p><p><b>  {</b></p><p>  if(strcmp(curno

108、de->gzh,e))</p><p><b>  {</b></p><p>  cout<<"正在查找..."<<endl; </p><p><b>  }</b></p><p><b>  else</b></

109、p><p><b>  {</b></p><p>  cout<<endl;</p><p>  cout<<"名字:"<<curnode->name<<endl;</p><p>  cout<<"工號(hào):"<&

110、lt;curnode->num<<endl;</p><p>  cout<<"工種:"<<curnode->gzh<<endl;</p><p>  cout<<"級(jí)別:"<<curnode->jb<<endl;</p><p&

111、gt;  cout<<"工資:"<<curnode->gz<<endl;</p><p>  cout<<"獎(jiǎng)金:"<<curnode->jbsj<<endl;</p><p>  cout<<"曠工天數(shù):"<<curnod

112、e->kgsj<<endl;</p><p>  cout<<endl;</p><p><b>  }</b></p><p>  prenode=curnode;</p><p>  curnode=curnode->next;</p><p><b&

113、gt;  }</b></p><p>  return head;</p><p><b>  }</b></p><p>  void outputlist(workers *head) //遍歷鏈表輸出的函數(shù)</p><p><b>  {</b></p><

114、p>  cout<<"工人信息如下所示:"<<endl;</p><p>  workers *curnode=head;</p><p>  while(curnode!=NULL)</p><p><b>  {</b></p><p>  cout<<&

115、quot;工人姓名、工號(hào)、工種、工資、獎(jiǎng)金、級(jí)別、加班天數(shù)、曠工天數(shù)依次為:"<<endl;</p><p>  cout<<curnode->name<<"\t"<<curnode->num<<"\t"<<curnode->gzh<<"\t"

116、<<curnode->gz<<"\t"<<curnode->jj<<"\t"<<curnode->jbsj<<"\t"<<curnode->kgsj<<"\t"<<endl;</p><p>  curn

117、ode=curnode->next;</p><p><b>  }</b></p><p><b>  }</b></p><p>  workers *pxlist(workers *head) //按工資升序排序的函數(shù)</p><p><b>  {</b>

118、</p><p>  workers *tail,*min,*n,*newf=NULL,*e_min;</p><p>  while(head!=NULL){</p><p>  for(n=head,min=head;n->next!=NULL;n=n->next)</p><p><b>  {</b>

119、</p><p>  if(min->gz>n->next->gz)</p><p><b>  {</b></p><p><b>  e_min=n;</b></p><p>  min=n->next;</p><p><b> 

120、 }</b></p><p><b>  }</b></p><p>  if(min==head)</p><p><b>  {</b></p><p>  head=head->next;</p><p><b>  }</b>&

121、lt;/p><p><b>  else</b></p><p><b>  {</b></p><p>  e_min->next=min->next;</p><p><b>  }</b></p><p>  if(newf==NULL)

122、</p><p><b>  {</b></p><p><b>  newf=min;</b></p><p><b>  tail=min;</b></p><p><b>  }</b></p><p><b>  

123、else</b></p><p><b>  {</b></p><p>  tail->next=min;</p><p><b>  tail=min;</b></p><p><b>  }</b></p><p><b&g

124、t;  }</b></p><p>  if(newf!=NULL)</p><p><b>  {</b></p><p>  tail->next=NULL;</p><p><b>  }</b></p><p>  head=newf;</p&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(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)論