vc++6.0環(huán)境下 簡單的職工管理系統(tǒng) 課程設(shè)計(jì)_第1頁
已閱讀1頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  VC++6.0環(huán)境下 簡單的職工管理系統(tǒng) </p><p><b>  簡單的職工管理系統(tǒng)</b></p><p><b>  一、實(shí)驗(yàn)?zāi)康?lt;/b></p><p> ?。?)熟練掌握線性表基本操作及應(yīng)用。</p><p>  (2)利用線性表實(shí)現(xiàn)簡單的職工管理系統(tǒng)。</

2、p><p><b>  二、實(shí)驗(yàn)內(nèi)容:</b></p><p><b>  【問題描述】</b></p><p>  對單位的職工進(jìn)行管理,包括插入、刪除、查找、排序等功能。</p><p><b>  【基本要求】</b></p><p>  職工對象包括

3、姓名、性別、出生年月、工作年月、學(xué)歷、職務(wù)、住址、電話等信息。</p><p> ?。?)新增一名職工:將新增職工對象按姓名以字典方式職工管理文件中。</p><p> ?。?)刪除一名職工:從職工管理文件中刪除一名職工對象。</p><p>  (3)查詢:從職工管理文件中查詢符合某些條件的職工。</p><p>  (4)修改:檢索某個職

4、工對象,對其某些屬性進(jìn)行修改。</p><p> ?。?)排序:按某種需要對職工對象文件進(jìn)行排序。</p><p><b>  【測試數(shù)據(jù)】</b></p><p>  自己指定。注意盡量覆蓋算法的各種情況。</p><p><b>  【實(shí)現(xiàn)提示】</b></p><p>

5、  職工對象數(shù)不必很多,便于一次讀入內(nèi)存,所有操作不經(jīng)過內(nèi)外存交換。</p><p> ?。?)由鍵盤輸入職工對象,以文件方式保存。程序執(zhí)行時先將文件讀入內(nèi)存。</p><p>  (2)對職工對象中的"姓名"按字典順序進(jìn)行排序。</p><p> ?。?)對排序后的職工對象進(jìn)行增、刪、查詢、修改、排序等操作。</p><p&

6、gt;<b>  【選作內(nèi)容】</b></p><p>  將職工對象按散列法存儲,并設(shè)計(jì)解決沖突的方法。在此基礎(chǔ)上實(shí)現(xiàn)增、刪、查詢、修改、排序等操作。</p><p><b>  頭文件</b></p><p><b>  /*生成單鏈表*/</b></p><p>  in

7、t CreatList(Linklist &L)</p><p><b>  {</b></p><p>  Linklist h=NULL;</p><p>  Linklist p=(Linklist)malloc(sizeof(LNode));</p><p>  if(NULL==p)</p>

8、<p><b>  {</b></p><p>  printf("錄入失敗提示:內(nèi)存不足!\n");</p><p>  return -1;</p><p><b>  }</b></p><p>  h=L->next;</p><p

9、><b>  while(h)</b></p><p><b>  {</b></p><p>  if(h->name==p->name)</p><p><b>  {</b></p><p><b>  free(p);</b>&l

10、t;/p><p>  printf("錄入失敗提示:此職工號已經(jīng)存在!\n");</p><p>  return -1;</p><p><b>  }</b></p><p>  h=h->next;</p><p><b>  }</b></

11、p><p>  printf("請輸入員工姓名\n");</p><p>  scanf("%s",p->name);</p><p>  printf("請輸入員工性別\n");</p><p>  scanf("%s",p->sex);</p&g

12、t;<p>  printf("請輸入員工出生年月\n");</p><p>  scanf("%s",p->birthdate);</p><p>  printf("請輸入員工工作年月\n");</p><p>  scanf("%s",p->workdat

13、e);</p><p>  printf("請輸入員工學(xué)歷\n");</p><p>  scanf("%s",p->edu);</p><p>  printf("請輸入員工職務(wù)\n");</p><p>  scanf("%s",p->duty);

14、</p><p>  printf("請輸入員工電話\n");</p><p>  scanf("%s",p->phone);</p><p>  printf("請輸入員工地址\n");</p><p>  scanf("%s",p->address

15、);</p><p>  p->next=L->next;</p><p>  L->next=p;</p><p>  printf("錄入成功!\n");</p><p>  return -1;</p><p><b>  }</b></p>

16、<p>  /*初始化單鏈表*/</p><p>  int Initlist(Linklist &L)</p><p><b>  {</b></p><p>  L=(Linklist)malloc(sizeof(LNode));</p><p><b>  if(!L)</b&

17、gt;</p><p>  return (0);</p><p>  L->next=NULL;</p><p>  return OK;</p><p><b>  }</b></p><p>  /*顯示所有員工信息*/</p><p>  void Displ

18、ay(Linklist &L)</p><p><b>  {</b></p><p>  Linklist p;</p><p>  for(p=L->next;p;p=p->next)</p><p><b>  {</b></p><p>  pri

19、ntf("姓名 %s\n",p->name);</p><p>  printf("性別 %s\n",p->sex);</p><p>  printf("出生年月 %s\n",p->birthdate);</p><p>  printf("工作年月 %s\n"

20、;,p->workdate);</p><p>  printf("學(xué)歷 %s\n",p->edu);</p><p>  printf("職務(wù) %s\n",p->duty);</p><p>  printf("電話 %s\n",p->phone);</p>

21、<p>  printf("地址 %s\n",p->address);</p><p>  printf("============================\n");</p><p><b>  }</b></p><p><b>  }</b><

22、/p><p>  /*出生年月查詢*/</p><p>  int SearchBirthdate(Linklist &L,char birthdate[20])</p><p><b>  {</b></p><p><b>  LNode *p;</b></p><p&g

23、t;<b>  p=L;</b></p><p><b>  while(p)</b></p><p><b>  {</b></p><p>  if(strcmp(p->birthdate,birthdate)==0)</p><p><b>  {<

24、/b></p><p>  printf("姓名 %s\n",p->name);</p><p>  printf("性別 %s\n",p->sex);</p><p>  printf("出生年月 %s\n",p->birthdate);</p><p&g

25、t;  printf("工作年月 %s\n",p->workdate);</p><p>  printf("學(xué)歷 %s\n",p->edu);</p><p>  printf("職務(wù) %s\n",p->duty);</p><p>  printf("電話 %s\n&

26、quot;,p->phone);</p><p>  printf("地址 %s\n",p->address);</p><p>  return OK;</p><p><b>  }</b></p><p>  p=p->next;</p><p&

27、gt;<b>  }</b></p><p>  printf("沒有此人\n");</p><p><b>  return 0;</b></p><p><b>  }</b></p><p><b>  /*姓名查詢*/</b>&

28、lt;/p><p>  int SearchName(Linklist &L,char name[10])</p><p><b>  {</b></p><p><b>  LNode *p;</b></p><p><b>  p=L;</b></p>&

29、lt;p><b>  while(p)</b></p><p><b>  {</b></p><p>  if(strcmp(p->name,name)==0)</p><p><b>  {</b></p><p>  printf("姓名 %s\n

30、",p->name);</p><p>  printf("性別 %s\n",p->sex);</p><p>  printf("出生年月 %s\n",p->birthdate);</p><p>  printf("工作年月 %s\n",p->workdate);

31、</p><p>  printf("學(xué)歷 %s\n",p->edu);</p><p>  printf("職務(wù) %s\n",p->duty);</p><p>  printf("電話 %s\n",p->phone);</p><p>  print

32、f("地址 %s\n",p->address);</p><p>  return OK;</p><p><b>  }</b></p><p>  p=p->next;</p><p><b>  }</b></p><p>  prin

33、tf("沒有此人\n");</p><p><b>  return 0;</b></p><p><b>  }</b></p><p><b>  /* 性別查詢*/</b></p><p>  void SearchSex(Linklist &

34、L,char sex[10])</p><p><b>  {</b></p><p><b>  LNode *p;</b></p><p><b>  p=L;</b></p><p>  int tag=1;</p><p><b>  

35、while(p)</b></p><p><b>  {</b></p><p>  if(strcmp(p->sex,sex)==0)</p><p><b>  {</b></p><p>  printf("姓名 %s\n",p->name);&l

36、t;/p><p>  printf("性別 %s\n",p->sex);</p><p>  printf("出生年月 %s\n",p->birthdate);</p><p>  printf("工作年月 %s\n",p->workdate);</p><p>

37、  printf("學(xué)歷 %s\n",p->edu);</p><p>  printf("職務(wù) %s\n",p->duty);</p><p>  printf("電話 %s\n",p->phone);</p><p>  printf("地址 %s\n"

38、;,p->address);</p><p><b>  tag=0;</b></p><p><b>  }</b></p><p>  p=p->next;</p><p><b>  }</b></p><p>  if(tag==1)

39、</p><p><b>  {</b></p><p>  printf("找不到符合此條件的職工!");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  /*

40、地址查詢*/</b></p><p>  int SearchAddress(Linklist &L,char address[30])</p><p><b>  {</b></p><p><b>  LNode *p;</b></p><p><b>  p=L;

41、</b></p><p><b>  while(p)</b></p><p><b>  {</b></p><p>  if(strcmp(p->address,address)==0)</p><p><b>  {</b></p><

42、;p>  printf("姓名 %s\n",p->name);</p><p>  printf("性別 %s\n",p->sex);</p><p>  printf("出生年月 %s\n",p->birthdate);</p><p>  printf("工作年月

43、 %s\n",p->workdate);</p><p>  printf("學(xué)歷 %s\n",p->edu);</p><p>  printf("職務(wù) %s\n",p->duty);</p><p>  printf("電話 %s\n",p->phone);

44、</p><p>  printf("地址 %s\n",p->address);</p><p>  return OK;</p><p><b>  }</b></p><p>  p=p->next;</p><p><b>  }</b&g

45、t;</p><p>  printf("沒有此人\n");</p><p><b>  return 0;</b></p><p><b>  }</b></p><p><b>  /*姓名排序*/</b></p><p>  v

46、oid SortName(Linklist &L ,char name[10])</p><p><b>  { </b></p><p>  Linklist La;</p><p>  Linklist p,q,m;</p><p>  La=(Linklist)malloc(sizeof(LNode))

47、;</p><p>  La->next =NULL;</p><p>  while(L->next)</p><p><b>  {</b></p><p>  for(q=L->next ,p=L->next ;p->next ;p=p->next )</p>&

48、lt;p><b>  {</b></p><p>  if((strcmp( p->next->name,q->name ))>0 )</p><p><b>  {</b></p><p><b>  m=p;</b></p><p>  q=p

49、->next ; </p><p><b>  }</b></p><p><b>  }</b></p><p>  if(q==L->next)</p><p><b>  {</b></p><p>  L->next =

50、L->next->next ;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  m->next =q->next ;</p><p>

51、;<b>  }</b></p><p>  q->next =La->next ;</p><p>  La->next =q ;</p><p><b>  }</b></p><p><b>  L=La;</b></p><p>

52、;  Display(L);</p><p><b>  }</b></p><p><b>  /*性別排序*/</b></p><p>  void SortSex(Linklist &L ,char sex[10])</p><p><b>  { </b>&

53、lt;/p><p>  Linklist La;</p><p>  Linklist p,q,m;</p><p>  La=(Linklist)malloc(sizeof(LNode));</p><p>  La->next =NULL;</p><p>  while(L->next)</p>

54、;<p><b>  {</b></p><p>  for(q=L->next ,p=L->next ;p->next ;p=p->next )</p><p><b>  {</b></p><p>  if((strcmp( p->next->sex,q->s

55、ex))>0 )</p><p><b>  {</b></p><p><b>  m=p;</b></p><p>  q=p->next ; </p><p><b>  }</b></p><p><b>  }&l

56、t;/b></p><p>  if(q==L->next)</p><p><b>  {</b></p><p>  L->next =L->next->next ;</p><p><b>  }</b></p><p><b>

57、  else</b></p><p><b>  {</b></p><p>  m->next =q->next ;</p><p><b>  }</b></p><p>  q->next =La->next ;</p><p>  

58、La->next =q ;</p><p><b>  }</b></p><p><b>  L=La;</b></p><p>  Display(L);</p><p><b>  }</b></p><p>  /*出生年月排序*/<

59、/p><p>  void SortBirth(Linklist &L ,char birthdate[20])</p><p><b>  { </b></p><p>  Linklist La;</p><p>  Linklist p,q,m;</p><p>  La=(Link

60、list)malloc(sizeof(LNode));</p><p>  La->next =NULL;</p><p>  while(L->next)</p><p><b>  {</b></p><p>  for(q=L->next ,p=L->next ;p->next ;p

61、=p->next )</p><p><b>  {</b></p><p>  if((strcmp( p->next->birthdate,q->birthdate))>0 )</p><p><b>  {</b></p><p><b>  m=p;&

62、lt;/b></p><p>  q=p->next ; </p><p><b>  }</b></p><p><b>  }</b></p><p>  if(q==L->next)</p><p><b>  {</b>

63、</p><p>  L->next =L->next->next ;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  m->nex

64、t =q->next ;</p><p><b>  }</b></p><p>  q->next =La->next ;</p><p>  La->next =q ;</p><p><b>  }</b></p><p><b>  

65、L=La;</b></p><p>  Display(L);</p><p><b>  }</b></p><p>  /*工作年月排序*/</p><p>  void SortWork(Linklist &L ,char workdate[20])</p><p>&l

66、t;b>  { </b></p><p>  Linklist La;</p><p>  Linklist p,q,m;</p><p>  La=(Linklist)malloc(sizeof(LNode));</p><p>  La->next =NULL;</p><p>  wh

67、ile(L->next)</p><p><b>  {</b></p><p>  for(q=L->next ,p=L->next ;p->next ;p=p->next )</p><p><b>  {</b></p><p>  if((strcmp( p-

68、>next->workdate,q->workdate))>0 )</p><p><b>  {</b></p><p><b>  m=p;</b></p><p>  q=p->next ; </p><p><b>  }</b>&l

69、t;/p><p><b>  }</b></p><p>  if(q==L->next)</p><p><b>  {</b></p><p>  L->next =L->next->next ;</p><p><b>  }</b

70、></p><p><b>  else</b></p><p><b>  {</b></p><p>  m->next =q->next ;</p><p><b>  }</b></p><p>  q->next =La

71、->next ;</p><p>  La->next =q ;</p><p><b>  }</b></p><p><b>  L=La;</b></p><p>  Display(L);</p><p><b>  }</b><

72、;/p><p><b>  /*更改*/</b></p><p>  int Alter(Linklist &L,char name[10])</p><p><b>  {</b></p><p><b>  LNode *p;</b></p><p&

73、gt;<b>  p=L;</b></p><p><b>  while(p)</b></p><p><b>  {</b></p><p>  if(strcmp(p->name,name)==0)</p><p><b>  {</b><

74、;/p><p>  printf("請輸入員工姓名\n");</p><p>  scanf("%s",p->name);</p><p>  printf("請輸入員工性別\n");</p><p>  scanf("%s",p->sex);</p

75、><p>  printf("請輸入員工出生年月\n");</p><p>  scanf("%s",p->birthdate);</p><p>  printf("請輸入員工工作年月\n");</p><p>  scanf("%s",p->workd

76、ate);</p><p>  printf("請輸入員工學(xué)歷\n");</p><p>  scanf("%s",p->edu);</p><p>  printf("請輸入員工職務(wù)\n");</p><p>  scanf("%s",p->duty

77、);</p><p>  printf("請輸入員工電話\n");</p><p>  scanf("%s",p->phone);</p><p>  printf("請輸入員工地址\n");</p><p>  scanf("%s",p->addre

78、ss);</p><p>  return OK;</p><p><b>  }</b></p><p>  p=p->next;</p><p>  } printf("沒有此人\n");</p><p><b>  return 0;</b&

79、gt;</p><p><b>  }</b></p><p><b>  /*按姓名刪除*/</b></p><p>  int Del(Linklist &L,char name[10])</p><p><b>  {</b></p><p&g

80、t;<b>  LNode *p;</b></p><p><b>  LNode *r;</b></p><p>  p=L->next;</p><p><b>  r=L;</b></p><p><b>  while(p)</b></

81、p><p><b>  {</b></p><p>  if(strcmp(p->name,name)==0)</p><p><b>  {</b></p><p>  r->next=p->next;</p><p><b>  free(p);&

82、lt;/b></p><p>  printf("刪除成功\n");</p><p>  return OK;</p><p><b>  }</b></p><p>  p=p->next;</p><p>  } printf("沒有此人\n&

83、quot;);</p><p><b>  return 0;</b></p><p><b>  }</b></p><p><b>  主函數(shù)</b></p><p>  #include<stdio.h></p><p>  #incl

84、ude<stdlib.h></p><p>  #include<string.h></p><p>  #define TRUE 1</p><p>  #define FALSE -1</p><p>  #define OK 1</p><p>  #define ERROR 0</

85、p><p>  #define OVERFLOW -2</p><p>  typedef struct LNode</p><p><b>  {</b></p><p>  char name[10];</p><p>  char sex[10];</p><p>  c

86、har birthdate[20];</p><p>  char workdate[20];</p><p>  char edu[10];</p><p>  char duty[10];</p><p>  char phone[20];</p><p>  char address[30];</p>

87、<p>  struct LNode *next;</p><p>  }*Linklist;</p><p>  #include"Header.h";</p><p>  void main()</p><p><b>  {</b></p><p>  Li

88、nklist L;</p><p><b>  int a;</b></p><p>  char name[10];</p><p>  char sex[10];</p><p>  char birthdate[20];</p><p>  char workdate[20];</p&

89、gt;<p>  char edu[10];</p><p>  char duty[10];</p><p>  char phone[20];</p><p>  char address[30];</p><p>  Initlist(L);</p><p><b>  int y;<

90、;/b></p><p><b>  int x=1;</b></p><p><b>  while(x)</b></p><p><b>  {</b></p><p>  printf("\t\t******************************

91、***********\n\n");</p><p>  printf("\t\t>>>>>>>>>歡迎進(jìn)入職工管理系統(tǒng)<<<<<<<<<<<<\n\n");</p><p>  printf("\t\t***********

92、******************************\n");</p><p>  printf("\t\t**************1-添加員工信息*************\n");</p><p>  printf("\t\t**************2-查詢員工信息*************\n");</p>

93、<p>  printf("\t\t**************3-排序員工信息*************\n");</p><p>  printf("\t\t**************4-顯示員工信息*************\n");</p><p>  printf("\t\t**************5-更改員工

94、信息*************\n");</p><p>  printf("\t\t**************6-刪除員工信息*************\n");</p><p>  printf("\t\t**************7-退 出*************\n");</p><p>

95、  printf("\t\t*****************************************\n");</p><p>  printf("請選擇操作序號并按回車:");</p><p>  scanf("%d",&y);</p><p><b>  switch(y)&

96、lt;/b></p><p><b>  {</b></p><p>  case 1: CreatList(L);break;</p><p>  case 2: printf("請輸入查詢方式(1按出生年月查詢,2按姓名查找,3按性別查找)");</p><p>  scanf("

97、%d",&a);</p><p><b>  if(a==1)</b></p><p><b>  {</b></p><p>  printf("請輸入查詢員工出生年月\n");</p><p>  scanf("%s",&birt

98、hdate);</p><p>  SearchBirthdate(L,birthdate);</p><p><b>  }</b></p><p><b>  if(a==2)</b></p><p><b>  {</b></p><p>  pr

99、intf("請輸入查詢員工姓名\n");</p><p>  scanf("%s",&name);</p><p>  SearchName(L,name);</p><p><b>  }</b></p><p><b>  if(a==3)</b>

100、</p><p><b>  {</b></p><p>  printf("請輸入查詢員工性別\n");</p><p>  scanf("%s",&sex);</p><p>  SearchSex(L,sex);</p><p><b&g

101、t;  }</b></p><p><b>  break;</b></p><p>  case 3: printf("請選擇排序條件:1.姓名2.性別3出生年月0.退出\n");</p><p>  scanf("%d",&a);</p><p><b

102、>  if(a==1)</b></p><p><b>  {</b></p><p>  printf("姓名排序\n");</p><p>  SortName(L,name);</p><p><b>  }</b></p><p>

103、;<b>  if(a==2)</b></p><p><b>  {</b></p><p>  printf("性別排序\n");</p><p>  SortSex(L,sex);</p><p><b>  }</b></p><

104、p><b>  if(a==3)</b></p><p><b>  {</b></p><p>  printf("出生年月排序\n");</p><p>  SortBirth(L,birthdate);</p><p><b>  }</b>&

105、lt;/p><p><b>  break;</b></p><p>  case 4: printf("所有員工信息如下所示\n");</p><p>  Display(L);</p><p><b>  break;</b></p><p>  case

106、 5: printf("請輸入更改員工姓名");</p><p>  getchar();</p><p>  scanf("%s",&name);</p><p>  Alter(L,name);</p><p><b>  break;</b></p>&

107、lt;p>  case 6: printf("請輸入刪除員工姓名");</p><p>  getchar();</p><p>  scanf("%s",&name);</p><p>  Del(L,name);</p><p><b>  break;</b>&

108、lt;/p><p>  case 7: x=0;</p><p><b>  break;</b></p><p><b>  default:</b></p><p>  printf("請輸入正確序號!\n");</p><p><b>  br

溫馨提示

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

評論

0/150

提交評論