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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  課程設計(論文)</b></p><p>  題 目 名 稱 職工信息管理系統 </p><p>  課 程 名 稱 C語言程序課程設計 </p><p>  2012年 5月 28 日</p><p><b>

2、  目 錄</b></p><p>  一、課程設計的目的與要求3</p><p><b>  1.1目的3</b></p><p><b>  1.2 要求3</b></p><p><b>  二、題目說明4</b></p><

3、p>  2.1程序開發背景4</p><p>  2.2開發工具介紹4</p><p><b>  三、總體設計5</b></p><p><b>  3.1總體思想5</b></p><p>  3.2軟件模塊結構圖5</p><p>  3.3系統流程圖

4、6</p><p>  3.3.1主函數6</p><p>  3.3.2顯示函數7</p><p>  3.3.3錄入函數7</p><p>  3.3.4查詢函數8</p><p>  3.3.5刪除函數9</p><p>  3.3.6排序函數10</p><

5、;p>  四、詳細設計和系統實施11</p><p>  4.1數據結構設計11</p><p>  4.1.1定義數組11</p><p>  4.1.2定義結構體11</p><p>  4.1.3函數功能描述11</p><p>  4.2界面設計12</p><p> 

6、 4.2.1用戶登錄界面12</p><p>  4.2.2 主界面13</p><p>  4.2.3顯示界面15</p><p>  4.2.4錄入界面16</p><p>  4.2.5信息查詢界面17</p><p>  4.2.6刪除界面19</p><p>  五、遇到的

7、問題及解決辦法20</p><p>  六、課程設計總結21</p><p><b>  七、參考文獻22</b></p><p>  附錄(源程序代碼)23</p><p>  一、課程設計的目的與要求</p><p><b>  1.1目的</b></p&g

8、t;<p>  1.掌握C語言編程的基礎知識較熟練的編寫C語言應用程序。</p><p>  2.能夠利用所學的基本知識和技能,解決簡單的程序設計問題,增強獨立完成工作的能力。</p><p>  3.通過設計主要使學生有一個獨立編寫程序的過程,對理論學習及動手能力都有一個很大的提高,進一步培養學生熱愛專業的思想,同時對本專業綜合素質的提高起一個積極的推動作用。</p&

9、gt;<p><b>  1.2 要求 </b></p><p>  1.要求利用C語言面向過程的編程思想來完成系統的設計; </p><p>  2.突出C語言的函數特征,以多個函數實現每一個子功能; </p><p>  3.畫出功能模塊圖; </p><p>  4. 進行簡單界面設計,能夠實現友好的

10、交互; </p><p>  5. 具有清晰的程序流程圖和數據結構的詳細定義; </p><p>  6. 熟練掌握C語言對文件的各種操作。</p><p><b>  二、題目說明</b></p><p>  1.職工信息管理系統設計,使之包括職工號、姓名、性別、年齡、學歷、工資、住址、電話等(職工號不重復)。<

11、/p><p>  2.使這個管理系統具有以下功能:可以使系統以菜單方式工作、能夠錄入、查詢、刪除、排序職工的信息。</p><p>  3.可以按學歷、按工號查詢職工信息。使查詢職工信息變得方便、簡單。</p><p><b>  2.1程序開發背景</b></p><p>  現在隨著社會的進步和人民生活水平的逐漸提升,大

12、學生數量越來越多,相應的所需要處理的的信息也越來越復雜,而憑借人力不可能準確及時地處理所有信息,因此,編寫此程序是極為必要的。但由于各個學校的情況不同,所以難以編寫一個通用的成績管理程序。此程序是根據本校情況和老師指導所編寫,用以解決教師對學生成績的添加、修改、刪除以及學生對其成績的查詢等工作。</p><p><b>  2.2開發工具介紹</b></p><p>

13、  Visual C++ Visual C++是一個功能強大的可視化軟件開發工具。自1993年Microsoft公司推出Visual C++1.0后,隨著其新版本的不斷問世,Visual C++已成為專業程序員進行軟件開發的首選工具。 雖然微軟公司推出了Visual C++.NET(Visual C++7.0),但它的應用的很大的局限性,只適用于Windows 2000,Windows XP和Windows NT4.0。所以實際中,更多

14、的是以Visual C++6.0為平臺。 Visual C++6.0不僅是一個C++編譯器,而且是一個基于Windows操作系統的可視化集成開發環境。 Visual C++6.0由許多組件組成,包括編輯器、調試器以及程序向導AppWizard、類向導Class Wizard等開發工具。 這些組件通過一個名為Developer Studio的組件集成為和諧的開發環境。 Visual C++它大概可以分成三個主要的部分: 1. Devel

15、oper Studio。2. MFC。3. Platform SDK。[1]</p><p><b>  三、總體設計</b></p><p><b>  3.1總體思想</b></p><p>  本系統主要的設計思想是實現對職工信息的錄入、刪除、排序、查詢等主要功能。職工信息以文件的形式存儲。系統的人機接口采用簡單的字

16、符界面進行交互。系統的設計方法是結構化設計方法,采用C語言進行開發。軟件開發平臺采用Visual C++6.0,主要考慮在VC中可以使用中文,用戶交互界面設計比較美觀清晰。</p><p>  3.2軟件模塊結構圖</p><p>  根據需求分析結果,職工信息管理系統可以分為顯示員工資料、錄入員工資料、員工信息查詢、刪除員工信息、員工信息排序、退出信息系統。如圖3-1所示。</p&

17、gt;<p><b>  圖3-1</b></p><p><b>  3.3系統流程圖</b></p><p>  3.3.1主函數 </p><p><b>  3.3.2顯示函數</b></p><p><b>  3.3.3錄入函數</

18、b></p><p><b>  3.3.4查詢函數</b></p><p><b>  3.3.5刪除函數</b></p><p><b>  3.3.6排序函數</b></p><p>  四、詳細設計和系統實施 </p><p><b&

19、gt;  4.1數據結構設計</b></p><p><b>  4.1.1定義數組</b></p><p>  定義一維數組struct worker work[50];用于定義員工的總人數,當員工總人數超過50后便不能再錄入員工資料。</p><p>  4.1.2定義結構體</p><p>  結構體s

20、truct worker用于存放存放員工的資料,包括員工的基本信息:工號,姓名,年齡,學歷,工資,住址,電話號碼。</p><p>  struct worker</p><p><b>  {</b></p><p>  int num; 工號</p><p>  char name[15];

21、名字</p><p>  char xingbie; 性別</p><p>  int age; 年齡</p><p>  char exp[6]; 學歷</p><p>  int wage; 工資</p><p>  char address[20]; 住址<

22、;/p><p>  char tel[12]; 電話號碼</p><p><b>  };</b></p><p>  int count=0; 當前工人個數</p><p>  int sort_type=0; 當前排序類型</p><p>  4.1

23、.3函數功能描述</p><p>  函數主界面:void homepage();</p><p>  顯示職工成績信息:void display();</p><p>  錄入職工信息信息:void input();</p><p>  刪除職工信息:void del();</p><p>  查詢職工信息:void

24、 find();</p><p>  排序職工信息:void sort();</p><p>  用戶等待函數:void waiting();</p><p>  退出系統函數: void quit();</p><p><b>  4.2界面設計</b></p><p>  4.2.1用戶登錄界

25、面</p><p>  此模塊用于歡迎界面,同時要求用戶輸入用戶名和密碼,只有當兩者都正確時,才能進入到系統,當有三次錯誤,系統就會自動退出,如圖4-1所示。</p><p><b>  圖4-1</b></p><p><b>  代碼實現:</b></p><p>  void main()&l

26、t;/p><p>  { int i=0,k=0;</p><p>  char username[15],pwd[6];</p><p>  for(i=0;i<3;i++)</p><p><b>  {</b></p><p>  printf("\n請輸入用戶名:"

27、;);</p><p>  gets(username);</p><p>  printf("\n請輸入6位密碼:");</p><p>  gets(pwd);</p><p>  if((strcmp(username,"admin")==0)&&(strcmp(pwd,"

28、;123456")==0))</p><p><b>  {</b></p><p>  printf("\n您已經成功登錄");</p><p><b>  k=1;</b></p><p>  for(i=0;i<20;i++)</p><

29、p><b>  {</b></p><p>  printf(".");</p><p>  Sleep(100);</p><p><b>  }</b></p><p>  system("cls");</p><p>  h

30、omepage();</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  else</b></p><p>  printf("\n用戶名或密碼無效 請重新輸入:\n");</p>

31、<p><b>  continue;</b></p><p><b>  }</b></p><p><b>  if(k==0)</b></p><p>  printf("\n連續輸入錯誤3次 將退出程序\n");</p><p>  S

32、leep(2000);</p><p><b>  quit();</b></p><p><b>  }</b></p><p>  在此模塊中,if((strcmp(username,"Admin")==0)&&(strcmp(pwd,"123456")==0))

33、,用于檢測用戶名和密碼是否正確。</p><p>  for(i=0;i<3;i++)</p><p><b>  {</b></p><p>  printf("\n請輸入用戶名:");</p><p>  gets(username);</p><p>  print

34、f("\n請輸入6位密碼:");</p><p>  gets(pwd);</p><p>  此段代碼用于獲取賬戶名和密碼并計數是否超過三次,超過三次,則有Sleep(2000);實現退出程序。</p><p><b>  4.2.2 主界面</b></p><p>  此模塊主要實現進入主界面和根

35、據用戶需要進入相應界面,包括顯示界面,錄入界面,刪除界面,排序界面并可以選擇退出,如圖4-2所示:</p><p><b>  圖4-2</b></p><p><b>  代碼實現</b></p><p>  void homepage()</p><p><b>  {</b&g

36、t;</p><p><b>  char n;</b></p><p>  while ((n!='1')&&(n!='2')&&(n!='3')&&(n!='4')&&(n!='5')&&(n!='

37、0'))</p><p><b>  {</b></p><p>  printf("\n請選擇:");</p><p>  fflush(stdin);</p><p>  scanf("%c",&n);</p><p><b>

38、  switch(n)</b></p><p><b>  {</b></p><p><b>  case '1':</b></p><p>  display();</p><p><b>  break;</b></p><

39、p><b>  case '2':</b></p><p>  if(count<50) input();</p><p><b>  else</b></p><p>  {printf("記錄數已滿\n");</p><p>  Sleep(200

40、0);</p><p>  system("cls");</p><p>  homepage();</p><p><b>  }</b></p><p><b>  break;</b></p><p><b>  ……</b>&

41、lt;/p><p>  此模塊中,switch(n),case()用于判定主界面的選項,根據選項進行設置。其中if(count<50)用于限制錄入員工的人數,超過50名員工就無法再進行錄入,并且直接通過sleep(2000);homepage()回到主界面上。</p><p><b>  4.2.3顯示界面</b></p><p>  此模塊

42、是用來顯示員工的資料信息的,包括工號,姓名,性別,年齡,學歷,工資,住址,電話等基本信息,一邊管理員能夠及時的掌握到所要員工的資料。如圖4-3所示。</p><p><b>  圖4-3</b></p><p><b>  代碼實現</b></p><p>  void display()</p><p

43、><b>  {</b></p><p><b>  int i;</b></p><p><b>  char c;</b></p><p>  printf("備注:學歷(1=中專,2=大專,3=本科,4=碩士,5=博士,6=其它):\n\n\n");</p>

44、<p>  switch(sort_type)</p><p><b>  {</b></p><p>  case 0: printf("\t\t未排序:\n\n"); break;</p><p>  case 1:printf("\t\t按工號排序:\n\n"); //sort();b

45、reak;</p><p>  case 2:printf("\t\t按工資排序:\n\n");//sort();break;</p><p><b>  }</b></p><p>  printf("\t工號\t姓名\t性別\t年齡\t學歷\t工資\t住址\t電話\n");</p>&l

46、t;p><b>  ……</b></p><p>  此模塊中有三種顯示方式,第一種是無序顯示,就是按照錄入時的順序顯示,,還有兩種分別是是按照工號和工資來排序。后兩種顯示方式主要是有switch(sort_type)語句來實現的,它相當于一個開關,與下面的case()相對應,相括號中的數字相對應時,就會執行相應的語句。</p><p><b>  4

47、.2.4錄入界面</b></p><p>  這個模塊主要是錄入員工資料,錄入的順序如圖所示,當錄入的員工人數滿到50后,便不能再進行錄入員工資料,此時已經達到了錄入人數的最大值。如圖4-4所示。</p><p><b>  圖4-4</b></p><p><b>  代碼實現</b></p>

48、<p>  void input()</p><p>  { int i,numcheck;</p><p><b>  char c;</b></p><p><b>  do</b></p><p>  { printf("工號:\n");</p>

49、<p>  scanf("%d",&work[count].num);</p><p>  numcheck=1;</p><p>  if(work[count].num<0)</p><p>  printf("請輸入正整數:\n");</p><p>  for(i=0

50、;i<count;i++)</p><p><b>  {</b></p><p>  if(work[count].num==work[i].num)</p><p>  { numcheck=0;</p><p>  printf("工號重復,重新輸入:\n");</p>&

51、lt;p><b>  }</b></p><p><b>  }</b></p><p><b>  ……</b></p><p><b>  do</b></p><p><b>  {</b></p><

52、p>  c=getchar();</p><p>  if(c=='y'||c=='Y')</p><p><b>  {</b></p><p><b>  count++;</b></p><p><b>  ……</b></p&

53、gt;<p>  此模塊中if(work[count].num==work[i].num);numcheck=0;很是重要,它判定錄入的工號是否重復,重復的話會有重新輸入的提示,避免職工信息的重復。當記錄數已滿時,通過sleep(2000),使之回到主界面,進行其他選項設置。</p><p>  4.2.5信息查詢界面</p><p>  此模塊用于職工信息的查詢,共分為兩種

54、查詢方式,一是按工號查詢,二是按學歷查詢。用if函數來實現,可快速查詢到職工的姓名、工號、學歷、電話等詳細信息。如圖4-5所示。</p><p><b>  圖4-5</b></p><p><b>  代碼實現</b></p><p>  void find()</p><p><b>

55、  {</b></p><p><b>  int i,j;</b></p><p>  int choice=0;</p><p>  int find_num;</p><p>  char findedu[6];</p><p><b>  char c;</b&

56、gt;</p><p>  system("cls");</p><p>  printf("\t\t請選擇查詢功能:\n");</p><p>  printf("\t1.按工號查詢\n");</p><p>  printf("\t2.按學歷查詢\n");&l

57、t;/p><p>  printf("請輸入選擇:");</p><p><b>  do</b></p><p><b>  {</b></p><p>  scanf("%d",&choice);</p><p>  }whil

58、e ((choice!=1)&&(choice!=2));</p><p>  if (choice==1)</p><p><b>  {</b></p><p>  printf("\n\t請輸入要查詢的職工號\n");</p><p>  scanf("%d"

59、,&find_num);</p><p>  printf("\n正在查詢,請稍候");</p><p>  for(i=0;i<20;i++)</p><p><b>  {</b></p><p>  printf(".");</p><p&g

60、t;  Sleep(100);</p><p><b>  }</b></p><p>  system("cls");</p><p>  printf("\n\n按任意鍵返回\n");</p><p>  c=getch();</p><p>  sys

61、tem("cls");</p><p>  homepage();</p><p><b>  }</b></p><p>  此模塊中,通過while ((choice!=1)&&(choice!=2));這個選擇來實現查詢的方式,選擇“1”為工號查詢,選擇“2”則為按學歷查詢。 if (find_num=

62、=work[i].num)即為根據職工號進行查詢,strcmp(findedu,work[i].exp)根據學歷進行職工信息查詢。</p><p><b>  4.2.6刪除界面</b></p><p>  此模塊用于刪除員工信息,對于已經無用的員工信息進行刪除,采用按工號刪除的模式。如圖4-6所示。</p><p><b>  圖4

63、-6</b></p><p><b>  代碼實現</b></p><p>  void del()</p><p><b>  {</b></p><p>  int i,j,del_num,match=0;</p><p><b>  char c;

64、</b></p><p>  system("cls");</p><p>  printf("請輸入要刪除的員工工號:\n");</p><p>  scanf("%d",&del_num);</p><p>  waiting();</p>&l

65、t;p>  for(i=0;i<count;i++)</p><p><b>  {</b></p><p>  if(work[i].num==del_num)</p><p><b>  {</b></p><p><b>  match=1;</b></

66、p><p>  for(j=i;j<count;j++)</p><p>  work[j]=work[j+1];</p><p><b>  count--;</b></p><p><b>  }</b></p><p><b>  }</b>&l

67、t;/p><p>  此模塊中,首先還是要先進職工信息查詢模塊,然后再根據查詢到的職工號進行刪除。printf("%d",&del_num);即為顯示要刪除的職工號,if(c=='y'||c=='Y')則是確定是否刪除選定的職工信息。最后通過homepage()回到主界面。 五、遇到的問題及解決辦法 </p&g

68、t;<p>  1.在一些字符或字符串的定義上出項錯誤,如定義職工電話號碼的時候,用成了float類型,而正確的應該是char類型。</p><p>  2.在進行模塊函數設計時,find()函數功能沒有設計好,導致部分函數代碼過長,可讀性降低,以至于再次重寫里面的一小部分代碼,浪費了大量的時間。</p><p>  3.在整個程序設計編寫完成后,編譯時出現了大量的錯誤,而且

69、里面大部分是因為大小寫問題,還有void拼錯拼成viod,還有“;”沒有寫,后來經過程序錯誤查詢,一一更改了過來。</p><p>  4. 在編寫代碼時沒有添加注解,降低了在調試測試時程序的可讀性,同時也降低了與其他同學的交流,雖然在測試過程中我把全部的注解加上, 但也延長了整個程序的開發時間。</p><p><b>  六、課程設計總結</b></p>

70、;<p>  通過此次學生成績信息管理系統,讓我熟悉了軟件開發的流程,相信在以后的工作中我能在最短的時間內投入到大的程序開發項目中。</p><p>  在進行課程設計的前兩天,不知道從何入手,很是不解,不知道我們究竟要做什么。后來通過上網找資料,才發現有好多做法,根本就看不完,此時才真正意識到差距所在。于是,通過借鑒網絡作品,才發現作品并不是一味的照搬照抄才實用,集眾家之所成,不斷完善,才能造出屬

71、于自己的作品,并且實用。</p><p>  在整個課程設計中,我認為最重要的就是耐心和細心。細心,就是在編寫過程中注意拼寫,仔細編寫程序;耐心,就是程序編譯中出現很多錯誤的時候能夠耐心去修改,只有這樣,才能很好的完成程序。</p><p>  雖然在整個過程中出現了不少錯誤,但最終還是圓滿完成了,此次程序設計的經歷讓我學到了太多,同時也讓我理解到參加的項目越大越能學到知識,因此以后我會積

72、極主動的去參加一些項目,以此來提高自己的技能和編程經驗。</p><p><b>  七、參考文獻</b></p><p>  【1】.《實用c語言簡明教程》李金祥、顧小晶主編</p><p>  【2】.《c++語言程序設計》,劉振安,劉燕君,孫忱,機械工業出版社;</p><p>  【3】.《C語言程序設計一體化案

73、例教程》,劉維富,清華大學出版社;</p><p>  【4】.《C語言課程設計》,黃明,梁旭,萬洪莉,電子工業出版。</p><p><b>  附錄(源程序代碼)</b></p><p>  #include<stdio.h></p><p>  #include<string.h></

74、p><p>  #include<windows.h></p><p>  #include<conio.h></p><p>  void homepage(); //主界面</p><p>  void display(); //顯示全部信息</p><p>  v

75、oid input(); //錄入 插入</p><p>  void find();</p><p>  void del(); //刪除記錄</p><p>  void sort(); //排序</p><p>  void waiting(); //等待

76、界面</p><p>  void quit(); //退出界面</p><p>  struct worker</p><p><b>  {</b></p><p>  int num; //工號</p><p>  char name[15]; //名字&

77、lt;/p><p>  char xingbie; //性別</p><p>  int age; //年齡</p><p>  char exp[6]; //學歷</p><p>  int wage; //工資</p><p>  char address[20];//住址</p&

78、gt;<p>  char tel[12]; //電話號碼</p><p><b>  };</b></p><p>  int count=0; //當前工人個數</p><p>  int sort_type=0; //當前排序類型</p><p>  stru

79、ct worker work[50];</p><p>  void main()</p><p>  { int i=0,k=0;</p><p>  char username[15],pwd[6];</p><p>  system("color 3f");</p><p>  p

80、rintf("\n\n");</p><p>  printf(" \t┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n");</p><p>  printf(" \t┃**********************************************************┃\n");</

81、p><p>  printf(" \t┃***┏━━━━━━━━━━━━━━━━━━━━━━━━┓***┃\n");</p><p>  printf(" \t┃***┃************************************************┃***┃\n");</p><p>  printf(&qu

82、ot; \t┃***┃*** ****┃***┃\n");</p><p>  printf(" \t┃***┃*** 歡迎使用職工信息管理系統 ****┃***┃\n");</p><p>  printf(" \t┃***┃***

83、 ****┃***┃\n");</p><p>  printf(" \t┃***┃*** ****┃***┃\n");</p><p>  printf(" \t┃***┃***

84、 郝佳麗 ****┃***┃\n");</p><p>  printf(" \t┃***┃*** ****┃***┃\n");</p><p>  printf(" \t┃***┃***

85、 2011.06.20 ****┃***┃\n");</p><p>  printf(" \t┃***┃*** ****┃***┃\n");</p><p>  printf(" \t┃***┃*******************

86、*****************************┃***┃\n");</p><p>  printf(" \t┃***┗━━━━━━━━━━━━━━━━━━━━━━━━┛***┃\n");</p><p>  printf(" \t┃***************************************************

87、*******┃\n");</p><p>  printf(" \t┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n"); </p><p>  for(i=0;i<3;i++)</p><p><b>  {</b></p><p>  printf(&q

88、uot;\n請輸入用戶名:");</p><p>  gets(username);</p><p>  printf("\n請輸入6位密碼:");</p><p>  gets(pwd);</p><p>  if((strcmp(username,"admin")==0)&&

89、;(strcmp(pwd,"123456")==0))</p><p><b>  {</b></p><p>  printf("\n您已經成功登錄");</p><p><b>  k=1;</b></p><p>  for(i=0;i<20;i+

90、+)</p><p><b>  {</b></p><p>  printf(".");</p><p>  Sleep(100);</p><p><b>  }</b></p><p>  system("cls");</p

91、><p>  homepage();</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  else</b></p><p>  printf("\n用戶名或密碼無效 請重新輸入:\n

92、");</p><p><b>  continue;</b></p><p><b>  }</b></p><p><b>  if(k==0)</b></p><p>  printf("\n連續輸入錯誤3次 將退出程序\n");</p

93、><p>  Sleep(2000);</p><p><b>  quit();</b></p><p><b>  }</b></p><p>  void homepage()</p><p><b>  {</b></p><p&

94、gt;<b>  char n;</b></p><p>  printf("\n\n");</p><p>  printf("\t┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n");</p><p>  printf("\t┃**********************

95、**************************************┃\n");</p><p>  printf("\t┃* * *┃\n");</p><p>  printf("\t┃* 1.顯示員工資料

96、 * 2.錄入員工資料 *┃\n");</p><p>  printf("\t┃* * *┃\n");</p><p>  printf("\t┃**********************************

97、**************************┃\n");</p><p>  printf("\t┃* * *┃\n");</p><p>  printf("\t┃* 3.員工信息查詢 * 4.刪

98、除員工記錄 *┃\n");</p><p>  printf("\t┃* * *┃\n");</p><p>  printf("\t┃**********************************************

99、**************┃\n");</p><p>  printf("\t┃* * *┃\n");</p><p>  printf("\t┃* 5.員工信息排序 * 0.退出信息系統

100、 *┃\n");</p><p>  printf("\t┃* * *┃\n");</p><p>  printf("\t┃**********************************************************

101、**┃\n");</p><p>  printf("\t┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");</p><p>  while ((n!='1')&&(n!='2')&&(n!='3')&&(n!='4')&am

102、p;&(n!='5')&&(n!='0'))</p><p><b>  {</b></p><p>  printf("\n請選擇:");</p><p>  fflush(stdin);</p><p>  scanf("%c&qu

103、ot;,&n);</p><p><b>  switch(n)</b></p><p><b>  {</b></p><p><b>  case '1':</b></p><p>  display();</p><p>&

104、lt;b>  break;</b></p><p><b>  case '2':</b></p><p>  if(count<50)</p><p><b>  input();</b></p><p><b>  else</b>&

105、lt;/p><p><b>  {</b></p><p>  printf("記錄數已滿\n");</p><p>  Sleep(2000);</p><p>  system("cls");</p><p>  homepage();</p>

106、<p><b>  }</b></p><p><b>  break;</b></p><p><b>  case '3':</b></p><p><b>  find();</b></p><p><b>  

107、break;</b></p><p><b>  case '4':</b></p><p><b>  del();</b></p><p><b>  break;</b></p><p><b>  case '5':

108、</b></p><p><b>  sort();</b></p><p><b>  break;</b></p><p><b>  case '0':</b></p><p><b>  quit();</b></

109、p><p><b>  break;</b></p><p><b>  default:</b></p><p>  printf("\n選項錯誤\n");</p><p><b>  }</b></p><p><b>  

110、}</b></p><p><b>  }</b></p><p>  void display()</p><p><b>  {</b></p><p><b>  int i;</b></p><p><b>  char c

111、;</b></p><p>  system("cls");</p><p>  printf("備注:學歷(1=中專,2=大專,3=本科,4=碩士,5=博士,6=其它):\n\n\n");</p><p>  switch(sort_type)</p><p><b>  {&l

112、t;/b></p><p><b>  case 0:</b></p><p>  printf("\t\t未排序:\n\n");</p><p><b>  break;</b></p><p><b>  case 1:</b></p>

113、<p>  printf("\t\t按工號排序:\n\n");</p><p><b>  //sort();</b></p><p><b>  break;</b></p><p><b>  case 2:</b></p><p>  p

114、rintf("\t\t按工資排序:\n\n");</p><p><b>  //sort();</b></p><p><b>  break;</b></p><p><b>  }</b></p><p>  printf("\t工號\t姓名

115、\t性別\t年齡\t學歷\t工資\t住址\t電話\n");</p><p>  if (count==0) printf("\n\t無員工信息!\n");</p><p>  for(i=0;i<count;i++)</p><p><b>  {</b></p><p>  prin

116、tf("\t%d\t%s\t%c\t%d\t%s\t%d\t%s\t%s\n",work[i].num,work[i].name,work[i].xingbie,work[i].age,work[i].exp,work[i].wage,work[i].address,work[i].tel);</p><p><b>  }</b></p><p>

117、;  printf("\n\n按任意鍵返回\n");</p><p>  c=getch();</p><p>  system("cls");</p><p>  homepage();</p><p><b>  }</b></p><p>  void

118、 input()</p><p><b>  {</b></p><p>  int i,numcheck;</p><p><b>  char c;</b></p><p>  system ("cls");</p><p><b>  do

119、</b></p><p><b>  {</b></p><p>  printf("工號:\n");</p><p>  scanf("%d",&work[count].num);</p><p>  numcheck=1;</p><p&

120、gt;  if(work[count].num<0)</p><p>  printf("請輸入正整數:\n");</p><p>  for(i=0;i<count;i++)</p><p><b>  {</b></p><p>  if(work[count].num==work[i

121、].num)</p><p><b>  {</b></p><p>  numcheck=0;</p><p>  printf("工號重復,重新輸入:\n");</p><p><b>  }</b></p><p><b>  }</

122、b></p><p>  }while(!numcheck);{</p><p>  printf("姓名:");</p><p>  fflush(stdin);</p><p>  scanf("%s",work[count].name);</p><p>  fflu

123、sh(stdin);</p><p>  printf("性別(F:M):");</p><p>  scanf("%c",&work[count].xingbie);</p><p>  printf("年齡:");</p><p>  scanf("%d&quo

124、t;,&work[count].age);</p><p>  fflush(stdin);</p><p>  printf("學歷(1=中專,2=大專,3=本科,4=碩士,5=博士,6=其它):\n");</p><p>  scanf("%s",work[count].exp);</p><p

125、>  printf("工資:");</p><p>  scanf("%d",&work[count].wage);</p><p>  printf("住址:");</p><p>  scanf("%s",work[count].address);</p>

126、<p>  printf("電話:");</p><p>  scanf("%s",work[count].tel);</p><p><b>  }</b></p><p>  printf("\n是否繼續輸入(y/n):\n");</p><p&g

127、t;<b>  do</b></p><p><b>  {</b></p><p>  c=getchar();</p><p>  if(c=='y'||c=='Y')</p><p><b>  {</b></p><p

128、><b>  count++;</b></p><p>  if(count<50)</p><p><b>  input();</b></p><p><b>  else</b></p><p><b>  {</b></p>

129、<p>  printf("記錄數已滿\n");</p><p>  Sleep(2000);</p><p>  system("cls");</p><p>  homepage();</p><p><b>  }</b></p><p>

130、;<b>  }</b></p><p>  else if(c=='n'||c=='N')</p><p><b>  {</b></p><p><b>  count++;</b></p><p>  system("cls&qu

131、ot;);</p><p>  homepage();</p><p><b>  }</b></p><p><b>  else;</b></p><p>  }while((c!='y')&&(c!='n')&&(c!='

132、Y')&&(c!='N'));</p><p><b>  }</b></p><p>  void del()</p><p><b>  {</b></p><p>  int i,j,del_num,match=0;</p><p&g

133、t;<b>  char c;</b></p><p>  system("cls");</p><p>  printf("請輸入要刪除的員工工號:\n");</p><p>  scanf("%d",&del_num);</p><p>  wait

134、ing();</p><p>  for(i=0;i<count;i++)</p><p><b>  {</b></p><p>  if(work[i].num==del_num)</p><p><b>  {</b></p><p><b>  mat

135、ch=1;</b></p><p>  for(j=i;j<count;j++)</p><p>  work[j]=work[j+1];</p><p><b>  count--;</b></p><p><b>  }</b></p><p><

136、b>  }</b></p><p>  if(!match) printf("\n沒有要找的工號.\n");</p><p>  printf("\n是否繼續刪除?(y/n)");</p><p>  fflush(stdin);</p><p><b>  do</b

137、></p><p><b>  {</b></p><p>  c=getchar();</p><p>  if(c=='y'||c=='Y')</p><p><b>  {</b></p><p><b>  del();

138、</b></p><p><b>  }</b></p><p>  else if(c=='n'||c=='N')</p><p><b>  {</b></p><p>  system("cls");</p><

139、;p>  homepage();</p><p><b>  }</b></p><p>  }while((c!='y')&&(c!='n'));</p><p><b>  }</b></p><p>  void sort()</p&

140、gt;<p><b>  {</b></p><p><b>  int i,j;</b></p><p>  int choice=0;</p><p>  struct worker temp;</p><p>  system("cls");</p>

141、;<p>  printf("\t\t請選擇排序功能:\n");</p><p>  printf("\t1.按工號排序\n");</p><p>  printf("\t2.按工資排序\n");</p><p>  printf("請輸入選擇:");</p>

142、<p><b>  do</b></p><p><b>  {</b></p><p>  scanf("%d",&choice);</p><p>  }while((choice!=1)&&(choice!=2));</p><p>  

143、switch(choice)</p><p><b>  {</b></p><p><b>  case 1:</b></p><p><b>  {</b></p><p>  for(i=0;i<count-1;i++)</p><p>&l

144、t;b>  {</b></p><p>  for(j=0;j<count-i-1;j++)</p><p><b>  {</b></p><p>  if(work[j].num>work[j+1].num)</p><p><b>  {</b></p>

145、;<p>  temp=work[j];</p><p>  work[j]=work[j+1];</p><p>  work[j+1]=temp;</p><p><b>  }</b></p><p><b>  }</b></p><p><b&g

146、t;  }</b></p><p>  sort_type=1;</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  case 2:</b></p><p><b>

溫馨提示

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

評論

0/150

提交評論