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

下載本文檔

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

文檔簡介

1、<p><b>  C語言</b></p><p><b>  課程設(shè)計說明書</b></p><p>  課 程 名 稱: C語言程序設(shè)計  </p><p>  題 目: 職工信息管理系統(tǒng) </p><p> 

2、 專 業(yè): 嵌入與技術(shù)與應(yīng)用 </p><p>  學 生 姓 名: </p><p>  學   號: </p><p><b>  課程設(shè)計成績:</b></p><p

3、><b>  目 錄 </b></p><p><b>  1 引 言1</b></p><p>  1.1 問題的提出1</p><p>  1.2國內(nèi)外研究的現(xiàn)狀1</p><p>  1.3任務(wù)與分析1</p><p>  本課題主要的目的是編程實現(xiàn)

4、職工信息管理系統(tǒng)。1</p><p>  系統(tǒng)以菜單方式工作:1</p><p><b>  2.1添加功能2</b></p><p><b>  2.2刪除功能2</b></p><p><b>  2.3顯示功能2</b></p><p>

5、  2.4按職工號查詢功能2</p><p>  2.4按職工號修改功能2</p><p><b>  5 模塊分析5</b></p><p>  5.1 添加模塊5</p><p>  5.2 顯示模塊6</p><p>  5.3按工號查找模塊7</p><p&

6、gt;  5.4 刪除模塊9</p><p>  5.5 修改模塊11</p><p><b>  6 系統(tǒng)測試13</b></p><p>  6.1職工信息錄入13</p><p>  6.2職工信息瀏覽13</p><p>  6.3職工信息刪除。13</p>&l

7、t;p><b>  7 結(jié)論14</b></p><p><b>  7.1體會14</b></p><p><b>  7.2感悟15</b></p><p><b>  致 謝16</b></p><p><b>  參考文獻

8、17</b></p><p><b>  摘 要 </b></p><p>  隨著計算機的普及,小型系統(tǒng)的編寫有了很快的發(fā)展。本系統(tǒng)分析了任務(wù)書中的要求,利用C語言編程實現(xiàn)了職工信息管理系統(tǒng),該系統(tǒng)具有人員信息的添加,刪除,查找,修改和顯示功能。</p><p>  關(guān)鍵詞:職工信息管理系統(tǒng);計算機; 添加;刪除;查找;修改

9、。</p><p><b>  1 引 言 </b></p><p>  1.1 問題的提出 </p><p>  在現(xiàn)代化的企業(yè)管理中,人事管理系統(tǒng)有著十分重要的作用,然而,用大型軟件系統(tǒng)來于小型的企事業(yè)單位,不啻于“殺雞用牛刀”,因此小型的的軟件對于這種單位自然有十分重要作用。小型企業(yè)出與這種目的制作了這個人事管理系統(tǒng)。</p>

10、;<p>  1.2國內(nèi)外研究的現(xiàn)狀 </p><p>  現(xiàn)今國內(nèi)外大多注意在大型人事管理系統(tǒng)的開發(fā),在小型人事管理系統(tǒng)卻少有開發(fā),但并非所有的公司都實用與大型系統(tǒng),所以小型系統(tǒng)有開發(fā)的必要。</p><p><b>  1.3任務(wù)與分析 </b></p><p>  本課題主要的目的是編程實現(xiàn)職工信息管理系統(tǒng)。</p&g

11、t;<p>  系統(tǒng)以菜單方式工作:</p><p>  (1)職工信息錄入功能(職工信息用文件保存)——輸入</p><p>  (2)職工信息瀏覽功能——輸出</p><p>  (3)查詢功能:(至少一種查詢方式)——算法,按工資查詢,按學歷查詢等</p><p>  (4)修改職工信息并保存2 程序的主要功能</p

12、><p><b>  2.1添加功能</b></p><p>  添加一個職工的基本信息,包括工號,姓名,性別,職務(wù),學歷,出生日期,工資,電話,地址。</p><p><b>  2.2刪除功能</b></p><p>  能夠?qū)σ粋€職工的信息進行刪除。(按職工號進行刪除)</p>&l

13、t;p><b>  2.3顯示功能</b></p><p>  顯示所有職工的信息包括包括工號,姓名,性別,職務(wù),學歷,出生日期,工資,電話,地址。</p><p>  2.4按職工號查詢功能</p><p>  根據(jù)你鍵入的職工號,顯示其詳細信息。</p><p>  2.4按職工號修改功能</p>

14、<p>  根據(jù)你鍵入的職工號,修改其數(shù)據(jù)。</p><p><b>  3 程序運行平臺</b></p><p><b>  VC++6.0。</b></p><p>  具體操作如下:新建C語言源程序工程,添加相應(yīng)的源文件至此源程序,再編譯發(fā)現(xiàn)是否有錯誤,有則改之,無則鏈接成可執(zhí)行文件,執(zhí)行次可執(zhí)行文件。4

15、 總體設(shè)計</p><p>  圖4.1 系統(tǒng)總體框架圖</p><p><b>  5 模塊分析</b></p><p><b>  5.1 添加模塊</b></p><p>  系統(tǒng)將提示用戶輸入新添加的職員的信息,插入在文件中。</p><p>  //通過尾插法,輸入

16、數(shù)據(jù)</p><p>  TYPE *CrateEndChain(void)</p><p><b>  {</b></p><p>  TYPE *head,*pointer,*p;</p><p>  printf("請輸入員工信息,并按例子輸入(按ESC鍵退出):\n例:\n");</p

17、><p>  printf(" 工號 姓名 性別 職務(wù) 學歷 出生日期 \t工資\t 電話\t 地址\n");</p><p>  printf("12407221 位東輝 男 人事部經(jīng)理 大專 1993 2 13 \t5000.0 18056982101\t安徽亳州\n&

18、quot;);</p><p>  head=(TYPE*)malloc(LEN);</p><p>  head->next=NULL;</p><p>  pointer=p=head;</p><p><b>  while (1)</b></p><p><b>  {&l

19、t;/b></p><p>  p=(TYPE*)malloc(LEN);</p><p>  scanf("%s%s%s%s%s%d%d%d %f %s%s",p->num,p->name,p->sex,p->duty,p->education,&p->birthday.year,&p->birthday

20、.month,&p->birthday.day,&p->wage,p->phone,p->addr);</p><p>  fflush(stdin);</p><p>  pointer->next=p;</p><p>  pointer=p;</p><p>  if (getch()==&

21、#39;\x1b')</p><p><b>  {</b></p><p>  //printf("wfdfsadfefasdf5");</p><p>  pointer->next=NULL;</p><p><b>  break;</b></p>

22、;<p><b>  }</b></p><p><b>  }</b></p><p>  return head;</p><p><b>  }</b></p><p><b>  5.2 顯示模塊</b></p><

23、;p>  顯示模塊將輸出所有職員的主要資料 。</p><p>  //輸出鏈表中全部數(shù)據(jù)</p><p>  void PrintChain(TYPE*head)</p><p><b>  {</b></p><p><b>  TYPE *p;</b></p><p&

24、gt;  if (head==NULL)</p><p><b>  {</b></p><p>  printf("\n數(shù)據(jù)不存在!!\n");</p><p><b>  return;</b></p><p><b>  }</b></p>

25、<p><b>  else</b></p><p><b>  {</b></p><p>  if (head->next==NULL)</p><p><b>  {</b></p><p>  printf("\n數(shù)據(jù)不存在!!\n&quo

26、t;);</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  p=head->next;</p><p>  printf("\n 工

27、號 姓名 性別 職務(wù) 學歷 出生日期 \t 工資\t 電話\t 地址\n");</p><p>  while (p!=NULL)</p><p><b>  {</b></p><p>  printf(" %-10s %-6s %-4s %-8s %-9s

28、%-4d.%-2d.%-2d %-6.3f %-13s %-51s\n",p->num,p->name,p->sex,p->duty,p->education,p->birthday.year,p->birthday.month,p->birthday.day,p->wage,p->phone,p->addr);</p><p

29、>  p=p->next;</p><p><b>  }</b></p><p><b>  }</b></p><p>  5.3按工號查找模塊</p><p>  首先由用戶輸入要修改的職員的工號,然后系統(tǒng)用查找函數(shù)查找,然后系統(tǒng)就調(diào)用輸出函數(shù),輸出所查找的職員資料。</p&

30、gt;<p><b>  //查找數(shù)據(jù)</b></p><p>  TYPE *FoundChain(TYPE*head,char num[])</p><p><b>  {</b></p><p>  TYPE *pointer,*p;</p><p>  pointer=hea

31、d;</p><p>  if (head==NULL)</p><p><b>  {</b></p><p>  printf("\n請先創(chuàng)建鏈表!!\n");</p><p>  return head;</p><p><b>  }</b>&l

32、t;/p><p>  if (pointer->next==NULL)</p><p><b>  {</b></p><p>  printf("\n請先輸入數(shù)據(jù)!!\n");</p><p>  return head;</p><p><b>  }</

33、b></p><p>  while (strcmp(pointer->num,num)!=0 && pointer->next!=NULL)</p><p><b>  {</b></p><p>  //printf("w ");</p><p>  point

34、er=pointer->next;</p><p><b>  }</b></p><p>  if (pointer->next==NULL&&strcmp(pointer->num,num)!=0)</p><p><b>  {</b></p><p>  p

35、rintf("\n沒有找到工號為 %s 的員工,請檢查不否輸入錯誤!",num);</p><p>  return NULL;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b>&l

36、t;/p><p>  return pointer;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  5.4 刪除模塊</b></p><p>  首先由用戶輸入要刪除的單個職員工號,然后調(diào)用刪除函

37、數(shù),刪除該名職員的資料,并輸出刪除結(jié)果。</p><p>  //刪除鏈表中的數(shù)據(jù)</p><p>  TYPE *DelEndChain(TYPE*head,char num[])</p><p><b>  {</b></p><p>  TYPE *pointer,*p,*next;</p><

38、;p>  pointer=head;</p><p>  if (head==NULL)</p><p><b>  {</b></p><p>  printf("\n請先創(chuàng)建鏈表!!\n");</p><p>  return head;</p><p><b

39、>  }</b></p><p>  if (head->next==NULL)</p><p><b>  {</b></p><p>  printf("\n這是一個空鏈表!!\n");</p><p>  return head;</p><p>

40、<b>  }</b></p><p>  while (strcmp(pointer->num,num)!=0 && pointer->next!=NULL)</p><p><b>  {</b></p><p>  //printf("w ");</p>

41、<p>  next=pointer;</p><p>  pointer=pointer->next;</p><p><b>  }</b></p><p>  if (strcmp(pointer->num,num)==0)</p><p>  if (pointer==head->n

42、ext&&pointer->next==NULL)</p><p><b>  {</b></p><p>  free(pointer);</p><p>  head->next=NULL;</p><p>  return head;</p><p><b&

43、gt;  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  next->next=pointer->next;</p><p>  free(pointer);</p><p>  p

44、rintf("\n工號為 %s 的員工信息已被刪除! \n",num);</p><p>  return head;</p><p><b>  }</b></p><p>  printf("\n沒有找到工號為 %s 的員工信息!\n");</p><p>  return

45、head;</p><p><b>  5.5 修改模塊</b></p><p>  首先由用戶輸入要修改的單個職員工號,然后調(diào)用修改函數(shù),修改該名職員的資料,并輸出修改結(jié)果。</p><p>  //通過職工號,修改職工信息</p><p>  void AlterChain(TYPE*head,char num[])

46、</p><p><b>  {</b></p><p>  TYPE *pointer,*p;</p><p>  pointer=head;</p><p>  if (head==NULL)</p><p><b>  {</b></p><p&

47、gt;  printf("\n請先創(chuàng)建鏈表!!\n");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  if (pointer->next==NULL)</p><p><b>  {</b&

48、gt;</p><p>  printf("\n請先輸入數(shù)據(jù)!!\n");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  while (strcmp(pointer->num,num)!=0 &&am

49、p; pointer->next!=NULL)</p><p><b>  {</b></p><p>  pointer=pointer->next;</p><p><b>  }</b></p><p>  if (pointer->next==NULL&&s

50、trcmp(pointer->num,num)!=0)</p><p><b>  {</b></p><p>  printf("\n沒有找到工號為 %s 的員工,請檢查不否輸入錯誤!",num);</p><p>  return NULL;</p><p><b>  }<

51、/b></p><p><b>  else</b></p><p><b>  {</b></p><p>  printf("請輸入員工信息,并按例子輸入(按ESC鍵退出):\n例:\n");</p><p>  printf(" 工號 姓名

52、性別 職務(wù) 學歷 出生日期 \t工資\t 電話\t 地址\n");</p><p>  printf("12407221 位東輝 男 人事部經(jīng)理 大專 1993 2 13 \t5000.0 18056982101\t安徽亳州\n");</p><p>  scanf("%s

53、%s%s%s%s%d%d%d %f %s%s",pointer->num,pointer->name,pointer->sex,pointer->duty,pointer->education,&pointer->birthday.year,&pointer->birthday.month,&pointer->birthday.day,&point

54、er->wage,pointer->phone,pointer->addr);</p><p>  printf("\n修改完成!\n");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  6

55、 系統(tǒng)測試</b></p><p>  首先進入VC++6.0,打開文件stru_gl.c,然后進入源程序,接著選擇編譯、連接、執(zhí)行即可。</p><p><b>  6.1職工信息錄入</b></p><p><b>  6.2職工信息瀏覽</b></p><p>  6.3職工信息刪

56、除。</p><p><b>  刪除前信息</b></p><p><b>  刪除人</b></p><p><b>  刪除后信息</b></p><p><b>  7 結(jié)論</b></p><p><b>  7

57、.1體會</b></p><p>  經(jīng)過不到一個星期的C語言課程設(shè)計,我對C語言有了更進一步的認識和了解,從剛開始不知從何下筆到現(xiàn)在的漂亮運行,我付出大量的時間。從而也使我明白要學好C語言重在實踐,要通過不斷的上機操作,并且練習自主設(shè)計程序才能更好的掌握它。以前上課感覺自己學會了很多 ,但到真正用的時候才發(fā)現(xiàn)沒學的還有好多好多,雖然課堂上看似學會了,可到實際操作時問題多多。通過這次課程設(shè)計把所學的東

58、西用在了實踐上,設(shè)計出來一些有用的東西,感覺很有成就感,雖然在設(shè)計的過程中遇到了很多困難,但通過參閱資料和自己的不斷調(diào)試最終都被我解決了,從而也加強了解決問題的能力。</p><p>  課程設(shè)計是培養(yǎng)學生綜合運用所學知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學生實際工作能力的具體訓練和考察過程.隨著科學技術(shù)發(fā)展的日新日異,軟件開發(fā)已經(jīng)成為當今計算機應(yīng)用中空前活躍的領(lǐng)域, 在生活中可以說得

59、是無處不在。因此作為二十一世紀的大學來說掌握程序開發(fā)開發(fā)技術(shù)是十分重要的。 回顧起此次C語言課程設(shè)計,至今我仍感慨頗多,的確,從模塊單獨設(shè)計到整體調(diào)用,從理論到實踐,在整整一個星期的日子里,可以說是苦多于甜,但是可以學到很多很多的的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結(jié)合起來

60、,從理論中得出結(jié)論,才能真正對所學知識得到應(yīng)用,從而提高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,通過這次課程設(shè)計之后,對以前所學過的知識做了重新溫故。</p><p><b>  7.2感悟</b></p>

61、<p>  程序設(shè)計需要很強的邏輯推理能力,以及過硬的數(shù)學函數(shù)能力。一定要細心,無論是需求分析,概要設(shè)計,詳細設(shè)計,編寫代碼,還是調(diào)試分析階段都需要特別的細心,稍有不慎將會影響整個程序的設(shè)計運行。而且實現(xiàn)同一目的的方法有很多,要靈活應(yīng)運,選擇循環(huán)次數(shù)少,簡潔明了的途徑。通過這次課程設(shè)計使我看到了自己在這方面的缺陷,同時也有了很大的進步,學會了很多新知識。對程序設(shè)計產(chǎn)生了比較濃厚的興趣,在以后的學習當中將會不斷地去探索研究,

62、希望能夠在程序開發(fā)方面取得一定的成就。 </p><p><b>  致 謝</b></p><p>  感謝老師一學期的教導,正是由于老師的辛勤教導,我才能完成本次課程設(shè)計。</p><p>  同樣感謝曾幫助過我的同學,正是由于他們的無私幫助,我才能解決編程過程中的一些問題,成功編程。</p><p>  最后感謝

溫馨提示

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

評論

0/150

提交評論