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

下載本文檔

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

文檔簡介

1、<p>  C語言課程設計實驗總結</p><p><b>  一、需求分析:</b></p><p><b>  1.需求概述</b></p><p>  設計一個職工信息管理系統,使之能提供以下功能:</p><p> ?。?)職工信息錄入功能</p><p>

2、 ?。?)職工信息瀏覽功能</p><p> ?。?)職工信息刪除功能</p><p> ?。?)職工信息修改功能</p><p>  (5) 職工信息查詢功能 </p><p><b>  2.需求說明</b></p><p> ?。?)職工信息包括:職工號、姓名、性別、出生年月、學歷職務、工

3、資、住址、電話,并且職工號要求不重復。</p><p> ?。?)錄入的職工信息要求用文件形式保存,并對其進行瀏覽、查詢、修改、刪除等基本操作。</p><p> ?。?)對職工的信息分別按職工號、性別、姓名、工資四種方式進行查詢,并返回所有符合條件的職工信息。</p><p> ?。?)對職工信息的修改應該逐個進行,一個職工的信息修改不應影響其他職工的信息。<

4、;/p><p> ?。?)所設計的系統應以菜單的方式工作,應為用戶提供清晰的使用提示,依據用戶的選擇進行各種處理,并要求在此過程中能夠盡可能的兼容用戶使用過程中的異常情況。</p><p><b>  二、總體設計</b></p><p><b>  1.功能劃分</b></p><p>  該系統可以

5、按功能進行模塊劃分,如下圖所示:</p><p><b>  其中:</b></p><p>  菜單選擇模塊完成用戶的選擇,此模塊也是職工信息管理系統的入口,用戶所要進行的所有操作需要在此模塊中選擇,并調用相對應的模塊實現相應的功能。</p><p>  信息輸入模塊完成信息的錄入功能,輸入的信息包括:職工號、姓名、性別、出生年月、學歷職務、

6、工資、住址、電話。</p><p>  信息瀏覽模塊完成對所有的職工的信息的顯示。</p><p>  信息查詢模塊分四種查詢方式:按職工號查詢、按性別查詢、按姓名查詢、按職務查詢。并且輸出相對應且符合要求的職工信息。</p><p>  信息修改模塊完成的是職工信息的修改功能。</p><p>  信息刪除模塊完成的是職工信息的刪除功能。&

7、lt;/p><p><b>  2.數據結構</b></p><p>  本系統中的主要數據結構為職工的信息,其中包含:職工號、姓名、性別、出生年月、學歷職務、工資、住址、電話等,其中的出生年月用結構體表示,其中又包含:出生的年份、出生的月份、出生的日期。</p><p><b>  3.程序流程</b></p>

8、<p>  系統的執行應從功能菜單的選擇開始,依據用戶的選擇進行后續的處理,直到用戶選擇退出系統為止,其間應對用戶的選擇做出判斷及異常處理。系統流程圖如下圖所示:</p><p>  三、詳細設計 </p><p><b>  1. 數據結構</b></p><p><b>  (1)職工信息:</b>&

9、lt;/p><p><b>  struct Zg</b></p><p><b>  {</b></p><p>  char num[20]; //職工號</p><p>  char name[15]; // 姓名</p><p>  char sex; //性別</

10、p><p>  struct Birthday birthday; //出生年月</p><p>  char xueli[10]; //學歷</p><p>  char position[15]; //職務</p><p>  int wage; //工資</p><p>  char address[20];住址&l

11、t;/p><p>  char phone[12]; //電話</p><p><b>  }zg[N];</b></p><p><b>  (2)出生年月</b></p><p>  struct Birthday //出生年月</p><p><b>  {&l

12、t;/b></p><p><b>  int year;</b></p><p>  int month;</p><p><b>  int day;</b></p><p><b>  };</b></p><p>  2. 各個功能模塊的處

13、理流程</p><p>  對應總體設計時的系統模塊圖,各個功能模塊的處 流程如下:</p><p><b>  菜單模塊</b></p><p><b>  清屏;</b></p><p><b>  繪制菜單界面;</b></p><p>  信息提

14、示,提示用戶選擇相應的序號;</p><p>  判斷選擇序號是否正確;</p><p><b>  返回變量的值;</b></p><p><b>  信息錄入模塊</b></p><p><b>  定義相關變量;</b></p><p><b

15、>  判斷文件能否打開;</b></p><p>  提示需要輸入職工個數;</p><p><b>  for(循環條件)</b></p><p><b>  {</b></p><p><b>  提示輸入信息;</b></p><p&

16、gt;<b>  將信息寫進文件;</b></p><p><b>  }</b></p><p>  提示是否退出該菜單;</p><p><b>  關閉文件;</b></p><p><b>  瀏覽信息模塊</b></p><p

17、><b>  定義相關變量;</b></p><p><b>  判斷文件能否打開;</b></p><p><b>  輸出所有職工信息;</b></p><p><b>  關閉文件;</b></p><p><b>  信息查詢模塊&

18、lt;/b></p><p><b>  定義相關變量;</b></p><p><b>  判斷文件能否打開;</b></p><p><b>  do</b></p><p><b>  {</b></p><p><

19、;b>  清屏;</b></p><p><b>  輸出查詢菜單;</b></p><p>  提示用戶選擇相應的序號;</p><p>  switch(變量)</p><p><b>  {</b></p><p><b>  判斷查詢方式;

20、</b></p><p><b>  }</b></p><p>  提示是否退出該菜單;</p><p>  }while(循環條件); </p><p><b>  按職工號查詢模塊</b></p><p><b>  定義相關變量;</b&

21、gt;</p><p><b>  判斷文件能否打開;</b></p><p><b>  do</b></p><p><b>  {</b></p><p><b>  信息提示;</b></p><p>  for(;循環條件

22、;)</p><p><b>  {</b></p><p><b>  判斷是否符合條件;</b></p><p><b>  若符合計數器加1;</b></p><p>  輸出符合的職工信息;</p><p><b>  }</b&

23、gt;</p><p>  判斷計數器是否為0;</p><p>  若為0,輸出相關信息;</p><p>  提示是否退出該菜單;</p><p>  }while(循環條件);</p><p><b>  按性別查詢模塊</b></p><p><b>  

24、定義相關變量;</b></p><p><b>  判斷文件能否打開;</b></p><p><b>  do</b></p><p><b>  {</b></p><p><b>  信息提示;</b></p><p&

25、gt;  for(;循環條件;)</p><p><b>  {</b></p><p><b>  判斷是否符合條件;</b></p><p><b>  若符合計數器加1;</b></p><p>  輸出符合的職工信息;</p><p><b

26、>  }</b></p><p>  判斷計數器是否為0;</p><p>  若為0,輸出相關信息;</p><p>  提示是否退出該菜單;</p><p>  }while(循環條件);</p><p><b>  按姓名查詢模塊</b></p><p&

27、gt;<b>  定義相關變量;</b></p><p><b>  判斷文件能否打開;</b></p><p><b>  do</b></p><p><b>  {</b></p><p><b>  信息提示;</b><

28、/p><p>  for(;循環條件;)</p><p><b>  {</b></p><p><b>  判斷是否符合條件;</b></p><p><b>  若符合計數器加1;</b></p><p>  輸出符合的職工信息;</p>

29、<p><b>  }</b></p><p>  判斷計數器是否為0;</p><p>  若為0,輸出相關信息;</p><p>  提示是否退出該菜單;</p><p>  }while(循環條件);</p><p><b>  按職務查詢模塊</b><

30、/p><p><b>  定義相關變量;</b></p><p><b>  判斷文件能否打開;</b></p><p><b>  do</b></p><p><b>  {</b></p><p><b>  信息提示;

31、</b></p><p>  for(;循環條件;)</p><p><b>  {</b></p><p><b>  判斷是否符合條件;</b></p><p><b>  若符合計數器加1;</b></p><p>  輸出符合的職工信

32、息;</p><p><b>  }</b></p><p>  判斷計數器是否為0;</p><p>  若為0,輸出相關信息;</p><p>  提示是否退出該菜單;</p><p>  }while(循環條件);</p><p><b>  信息刪除模塊&

33、lt;/b></p><p><b>  定義相關變量</b></p><p><b>  判斷能否打開文件</b></p><p><b>  提示信息;</b></p><p><b>  for(循環條件)</b></p><

34、;p><b>  {</b></p><p>  判斷是否是要刪除的職工;</p><p>  若是則記標志變量為1;</p><p>  若不是則將其寫入臨時文件;</p><p><b>  }</b></p><p><b>  關閉相關文件;</

35、b></p><p><b>  判斷標志變量的值;</b></p><p>  如果為1,則將源文件刪除,并將臨時文件重命名;</p><p>  否則輸出相關提示信息;</p><p><b>  提示退出該菜單; </b></p><p><b>  信

36、息修改模塊</b></p><p><b>  定義相關變量</b></p><p><b>  判斷能否打開文件</b></p><p><b>  提示信息;</b></p><p><b>  for(循環條件)</b></p>

37、;<p><b>  {</b></p><p>  判斷是否是要修改的職工;</p><p>  若是則記標志變量為1,并將修改后的信息寫入臨時文件;</p><p>  若不是則將其寫入臨時文件;</p><p><b>  }</b></p><p>&l

38、t;b>  關閉相關文件;</b></p><p><b>  判斷標志變量的值;</b></p><p>  如果為1,則將源文件刪除,并將臨時文件重命名;</p><p>  否則輸出相關提示信息;</p><p><b>  提示退出該菜單;</b></p>&

39、lt;p><b>  四、詳細程序</b></p><p>  # include<stdio.h></p><p>  # include<stdlib.h></p><p>  # include<conio.h></p><p>  # include<string.

40、h></p><p>  # define N 100</p><p>  void welcome();//歡迎界面</p><p>  int menu();//菜單</p><p>  void input();//輸入函數</p><p>  int pdnum(char num[20]);//判斷職工號

41、是否重復</p><p>  int pdsex(char ch);//判斷輸入性別是否符合要求</p><p>  void output();//輸出函數</p><p>  void dayin(int i);//輸出所查詢的信息</p><p>  int dq();//讀取文件中數據個數</p><p>  

42、void search();//查詢函數</p><p>  void searchzgnum();//按職工號查詢</p><p>  void searchsex();//按性別查詢</p><p>  void searchname();//按姓名查詢</p><p>  void searchposition();//按職務查詢<

43、;/p><p>  void del();//刪除函數</p><p>  void xiugai();//修改函數</p><p>  struct Birthday //出生年月</p><p><b>  {</b></p><p><b>  int year;</b>

44、</p><p>  int month;</p><p><b>  int day;</b></p><p><b>  };</b></p><p><b>  struct Zg</b></p><p><b>  {</b>

45、;</p><p>  char num[20]; //職工號</p><p>  char name[15]; // 姓名</p><p>  char sex; //性別</p><p>  struct Birthday birthday; /

46、/出生年月</p><p>  char xueli[10]; //學歷</p><p>  char position[15]; //職務</p><p>  int wage; //工資</p><p>  char address[20];

47、 //住址</p><p>  char phone[12]; //電話</p><p><b>  }zg[N];</b></p><p>  int Number=0;</p><p>  /****************************主函數****************

48、**************/</p><p>  int main()</p><p><b>  {</b></p><p>  fflush(stdin);</p><p>  welcome();</p><p><b>  while(1)</b></p>

49、;<p><b>  {</b></p><p>  switch(menu())</p><p><b>  {</b></p><p>  case 1:input();break;</p><p>  case 2:output();break;</p><p

50、>  case 3:search();break;</p><p>  case 4:del();break;</p><p>  case 5:xiugai();break;</p><p>  case 6:exit(0);break;</p><p><b>  }</b></p><p&

51、gt;<b>  }</b></p><p><b>  return 0;</b></p><p><b>  }</b></p><p>  /******************************歡迎界面****************************/</p>&l

52、t;p>  void welcome()</p><p><b>  {</b></p><p>  system("cls");</p><p>  printf("\n\t\5\5\3\3\3\3☆☆※★★※☆☆※★★※☆☆※★★※☆☆\3\3\3\3\3\3\3\3\3\3\3\3");<

53、;/p><p>  printf("\n\t\5\5\3\3※◆◆☆☆◆◆◆◆◆◆※☆☆※◆◆◆◆◆◆☆☆◆◆※\3\3");</p><p>  printf("\n\t\5\5\3\3\3\3\3\3★★ ★★\3\3\3\3\3\3\3\3\3");</p><p&

54、gt;  printf("\n\t\5\5\3\3\3\3\3☆★☆☆★★☆ 歡 迎 進 入 ☆☆★☆☆★★\3\3\3\3\3\3\3");</p><p>  printf("\n\t\5\5\3\3\3\3\3\3★★ ★★\3\3\3\3\3\3\3\3\3");</p><p

55、>  printf("\n\t\5\5\3\3\3\3☆★☆☆★◆◆ 本 系 統 ◆◆★☆☆★☆\3\3\3\3\3\3");</p><p>  printf("\n\t\5\5\3\3\3\3\3\3★★ ★★\3\3\3\3\3\3\3\3\3");</p><p

56、>  printf("\n\t\5\5\3\3\3\3\3\3☆☆※★★※☆☆※★★※☆☆※★★※☆☆\3\3\3\3\3\3\3\3\3\3");</p><p>  printf("\n\t\5\5\3\3\3\3\3\3★★☆◆◆ 按任意鍵進入 ◆◆☆★★\3\3\3\3\3\3\3\3\3");</p><p>  pri

57、ntf("\n\t\5\5\3\3\3\3☆☆※★★※☆☆※★★※☆☆※★★※☆☆\3\3\3\3\3\3\3\3\3\3\3\3\n");</p><p>  fflush(stdin);</p><p><b>  getch();</b></p><p><b>  }</b></p>

58、<p>  /******************************菜單****************************/</p><p>  int menu()</p><p><b>  {</b></p><p><b>  int n;</b></p><p>

59、  system("cls");</p><p>  printf("\t\t※◆※◆※◆※ 菜◆單 ※◆※◆※◆※\n");</p><p>  printf("\t\t※ ※\n");</p><p>  printf("\t\t※

60、 1.錄入 2.瀏覽 ※\n");</p><p>  printf("\t\t※ 3.查詢 4.刪除 ※\n");</p><p>  printf("\t\t※ 5.修改 6.退出 ※\n");</p><p>

61、  printf("\t\t※ ※\n");</p><p>  printf("\t\t※◆※◆※◆※◆※◆※◆※◆※◆※※\n");</p><p>  printf("\n\t\t--請輸入您的選擇的序號(1-6):[ ]--\b\b\b\b");</p&g

62、t;<p>  fflush(stdin);</p><p>  scanf("%d",&n);</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  if(n<1 || n>6)<

63、;/p><p><b>  {</b></p><p>  printf("\t\t-----輸入錯誤!請重新選擇:[ ]----\b\b\b\b\b\b");</p><p>  scanf("%d",&n);</p><p><b>  }</b>&l

64、t;/p><p><b>  else</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  return n;</b></p><p><b>  }&

65、lt;/b></p><p>  /******************************讀取文件中數據個數****************************/</p><p><b>  int dq()</b></p><p><b>  {</b></p><p>  FIL

66、E *fp=NULL;</p><p><b>  int i=0;</b></p><p>  fp=fopen("職工信息登記表.txt","rb");</p><p>  while(fread(&zg[i],sizeof(struct Zg),1,fp))</p><p

67、><b>  i++;</b></p><p>  fclose(fp);</p><p><b>  return i;</b></p><p><b>  }</b></p><p>  /******************************錄入信息*****

68、***********************/</p><p>  void input()</p><p><b>  {</b></p><p><b>  FILE *fp;</b></p><p>  int i,number,flage;</p><p>  if

69、((fp=fopen("職工信息登記表.txt","ab"))==NULL)</p><p><b>  {</b></p><p>  printf("文件 職工信息登記表.txt 不能打開!");</p><p><b>  getch();</b></

70、p><p><b>  exit(1);</b></p><p><b>  }</b></p><p>  printf("\t請輸入錄入職工數:");</p><p>  scanf("%d",&number);</p><p>

71、;  for(i=0;i<number;i++)</p><p><b>  {</b></p><p>  printf("\t---請輸入第%d個職工的信息:---",i+1);</p><p><b>  do</b></p><p><b>  {<

72、/b></p><p>  printf("\n請輸入職工號:");scanf("%s",&zg[i].num);</p><p>  flage=pdnum(zg[i].num);</p><p>  }while(flage==1);</p><p>  printf("請輸

73、入姓名:");scanf("%s",&zg[i].name);</p><p><b>  do</b></p><p><b>  {</b></p><p>  printf("請輸入性別(f/m):");scanf("%s",&zg

74、[i].sex);</p><p>  flage=pdsex(zg[i].sex);</p><p>  }while(flage==0);</p><p>  printf("請輸入出生年月如(2010 6 7):");scanf("%d%d%d",&zg[i].birthday.year,&zg[i].b

75、irthday.month,&zg[i].birthday.day);</p><p>  printf("請輸入學歷(junior,high,college,master,doctor):");scanf("%s",&zg[i].xueli);</p><p>  printf("請輸入職務:");scanf(&

76、quot;%s",&zg[i].position);</p><p>  printf("請輸入工資:");scanf("%d",&zg[i].wage);</p><p>  printf("請輸入住址:");scanf("%s",&zg[i].address);</p

77、><p>  printf("請輸入電話:");scanf("%s",&zg[i].phone);</p><p>  fwrite(&zg[i],sizeof(struct Zg),1,fp);</p><p><b>  }</b></p><p>  printf

78、("\t★★★★按任意鍵退出錄入菜單★★★★\n");</p><p><b>  getch();</b></p><p>  fclose(fp);</p><p><b>  }</b></p><p>  /******************************判斷

79、職工號是否重復****************************/</p><p>  int pdnum(char num[20])</p><p><b>  {</b></p><p><b>  FILE *fp;</b></p><p>  struct Zg temp;</p

80、><p>  int i,flage=0;</p><p>  if((fp=fopen("職工信息登記表.txt","rb"))==NULL)</p><p><b>  {</b></p><p>  printf("文件 職工信息登記表.txt 不能打開!")

81、;</p><p><b>  getch();</b></p><p><b>  exit(1);</b></p><p><b>  }</b></p><p>  while(fread(&temp,sizeof(struct Zg),1,fp)==1)<

82、/p><p><b>  {</b></p><p>  if(strcmp(temp.num,num)==0)</p><p><b>  {</b></p><p>  printf("\t此職工號已存在!請重新輸入");</p><p><b>

83、;  flage=1;</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  return(flage);</p><p><b&g

84、t;  }</b></p><p>  /******************************判斷輸入性別是否正確****************************/</p><p>  int pdsex(char ch)</p><p><b>  {</b></p><p>  int f

85、lage;</p><p>  if(ch=='f' || ch=='m')</p><p><b>  flage=1;</b></p><p><b>  else</b></p><p><b>  flage=0;</b></p&g

86、t;<p>  if(flage==0)</p><p>  printf("\t**輸入錯誤!請重新輸入\n**");</p><p>  return(flage);</p><p><b>  }</b></p><p>  /***************************

87、***輸出所查詢的信息****************************/</p><p>  void dayin(int i)</p><p><b>  {</b></p><p>  printf("職工號:%s\n",zg[i].num);</p><p>  printf("

88、;姓名:%s\n",zg[i].name);</p><p>  printf("性別:%c\n",zg[i].sex);</p><p>  printf("出生日期:%d %d %d\n",zg[i].birthday.year,zg[i].birthday.month,zg[i].birthday.day);</p>&

89、lt;p>  printf("學歷:%s\n",zg[i].xueli);</p><p>  printf("職務:%s\n",zg[i].position);</p><p>  printf("工資:%d\n",zg[i].wage);</p><p>  printf("住址:%s\

90、n",zg[i].address);</p><p>  printf("電話:%s\n\n",zg[i].phone);</p><p><b>  }</b></p><p>  /******************************輸出全部信息****************************/

91、</p><p>  void output()</p><p><b>  {</b></p><p><b>  FILE *fp;</b></p><p>  int count=0,i;</p><p>  Number=dq();</p><p&

92、gt;  if((fp=fopen("職工信息登記表.txt","rb"))==NULL)</p><p><b>  {</b></p><p>  printf("文件 職工信息登記表.txt 不能打開!");</p><p><b>  getch();</b&g

93、t;</p><p><b>  exit(1);</b></p><p><b>  }</b></p><p>  for(i=0;i<Number;i++)</p><p><b>  {</b></p><p><b>  day

94、in(i);</b></p><p><b>  count++;</b></p><p><b>  }</b></p><p>  printf("\t共有%d個職工。\n",count);</p><p>  printf("\t---按任意鍵退出瀏覽

95、菜單---\n");</p><p><b>  getch();</b></p><p>  fclose(fp);</p><p><b>  }</b></p><p>  /******************************查詢信息********************

96、********/</p><p>  void search()</p><p><b>  {</b></p><p>  int choice;</p><p><b>  char ch;</b></p><p><b>  do</b><

97、/p><p><b>  {</b></p><p>  system("cls");</p><p>  printf("\n\t★★★★★★★★★★★★★★★★\n");</p><p>  printf("\t★ 請輸入你的查詢方式 ★\n")

98、;</p><p>  printf("\t★ 1.職工號 2.性別 ★\n");</p><p>  printf("\t★ 3.姓名 4.職務 ★\n");</p><p>  printf("\t★★★★★★★★★★★★★★★★\n");</p&g

99、t;<p>  scanf("%d",&choice);</p><p>  switch(choice)</p><p><b>  {</b></p><p>  case 1:searchzgnum();break;</p><p>  case 2:searchsex()

100、;break;</p><p>  case 3:searchname();break;</p><p>  case 4:searchposition();break;</p><p>  default:printf("\t輸入錯誤,沒有該功能!請返回重新選擇");break;</p><p><b>  }

101、</b></p><p>  printf("\n\n\t◇◇◇是否退出查詢菜單(y/n)?◇◇◇\n");</p><p>  fflush(stdin);</p><p>  ch=getchar();</p><p>  }while(ch=='Y'||ch=='y');&

102、lt;/p><p><b>  }</b></p><p>  /******************************按職工號查詢信息****************************/</p><p>  void searchzgnum()</p><p><b>  {</b><

103、;/p><p><b>  FILE *fp;</b></p><p><b>  char ch;</b></p><p>  int count=0,i;</p><p>  char temp[20];</p><p>  Number=dq();</p>&

104、lt;p>  if((fp=fopen("職工信息登記表.txt","rb"))==NULL)</p><p><b>  {</b></p><p>  printf("\t----文件 職工信息登記表.txt 不能打開!----");</p><p><b>  g

105、etch();</b></p><p><b>  exit(1);</b></p><p><b>  }</b></p><p><b>  do</b></p><p><b>  {</b></p><p>  

106、printf("\t請輸入你要查詢的職工號:");</p><p>  scanf("%s",&temp);</p><p>  for(i=0;i<Number;i++)</p><p><b>  {</b></p><p>  if(strcmp(zg[i].n

107、um,temp)==0)</p><p><b>  {</b></p><p><b>  count++;</b></p><p><b>  dayin(i);</b></p><p><b>  }</b></p><p>

108、<b>  }</b></p><p>  if(count==0) /*count=0說明沒有該職工號的職工*/</p><p>  printf("\t沒有該工號的職工!\n");</p><p>  printf("\n\t★★★是否繼續按職工號查詢(y/n)?★★★");</p>

109、<p>  fflush(stdin);</p><p>  ch=getchar();</p><p>  }while(ch=='y' ||ch=='Y');</p><p><b>  }</b></p><p>  /**************************

110、****按性別查詢信息****************************/</p><p>  void searchsex()</p><p><b>  {</b></p><p><b>  FILE *fp;</b></p><p>  int count=0,i;</p>

111、<p>  char sex,ch;</p><p>  Number=dq();</p><p>  if((fp=fopen("職工信息登記表.txt","rb"))==NULL)</p><p><b>  {</b></p><p>  printf(&quo

112、t;\t----文件 職工信息登記表.txt 打不開!----");</p><p><b>  getch();</b></p><p><b>  exit(1);</b></p><p><b>  }</b></p><p><b>  do<

113、/b></p><p><b>  {</b></p><p>  printf("\t請輸入你要查詢的性別:");</p><p>  fflush(stdin);</p><p>  scanf("%c",&sex);</p><p>  

114、for(i=0;i<Number;i++)</p><p><b>  {</b></p><p>  if(zg[i].sex==sex)</p><p><b>  {</b></p><p><b>  count++;</b></p><p&g

115、t;<b>  dayin(i);</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(count==0)</p><p>  printf("\t沒有該性別的職工!\n");</p>

116、<p>  printf("\n\t★★★是否繼續按性別查詢(y/n)?★★★");</p><p>  fflush(stdin);</p><p>  ch=getchar();</p><p>  }while(ch=='y' ||ch=='Y');</p><p>&l

117、t;b>  }</b></p><p>  /******************************按姓名查詢信息****************************/</p><p>  void searchname()</p><p><b>  {</b></p><p><b&

118、gt;  FILE *fp;</b></p><p>  int count=0,i;</p><p>  char name[15];</p><p><b>  char ch;</b></p><p>  Number=dq();</p><p>  if((fp=fopen(&

119、quot;職工信息登記表.txt","rb"))==NULL)</p><p><b>  {</b></p><p>  printf("\t----文件 職工信息登記表.txt 打不開!----");</p><p><b>  getch();</b></p&g

120、t;<p><b>  exit(1);</b></p><p><b>  }</b></p><p><b>  do</b></p><p><b>  {</b></p><p>  printf("\t請輸入你要查詢的姓名

121、:");</p><p>  fflush(stdin);</p><p>  scanf("%s",&name);</p><p>  for(i=0;i<Number;i++)</p><p><b>  {</b></p><p>  if(str

122、cmp(zg[i].name,name)==0)</p><p><b>  {</b></p><p><b>  count++;</b></p><p><b>  dayin(i);</b></p><p><b>  }</b></p>

123、;<p><b>  }</b></p><p>  if(count==0)</p><p>  printf("\t沒有該名字的職工!\n");</p><p>  printf("\n\t★★★是否繼續按姓名查詢(y/n)?★★★");</p><p>  ff

124、lush(stdin);</p><p>  ch=getchar();</p><p>  }while(ch=='y' ||ch=='Y');</p><p><b>  }</b></p><p>  /******************************按職務查詢信息***

125、*************************/</p><p>  void searchposition()</p><p><b>  {</b></p><p><b>  FILE *fp;</b></p><p>  int count=0,i;</p><p&g

126、t;  char position[15];</p><p><b>  char ch;</b></p><p>  Number=dq();</p><p>  if((fp=fopen("職工信息登記表.txt","rb"))==NULL)</p><p><b>

127、  {</b></p><p>  printf("\t----文件 職工信息登記表.txt 打不開!----");</p><p><b>  getch();</b></p><p><b>  exit(1);</b></p><p><b>  }&

128、lt;/b></p><p><b>  do</b></p><p><b>  {</b></p><p>  printf("\t請輸入你要查詢的職務:");</p><p>  fflush(stdin);</p><p>  scanf(&

129、quot;%s",&position);</p><p>  for(i=0;i<Number;i++)</p><p><b>  {</b></p><p>  if(strcmp(zg[i].position,position)==0)</p><p><b>  {</b&

130、gt;</p><p><b>  count++;</b></p><p><b>  dayin(i);</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(coun

131、t==0)</p><p>  printf("\t沒有該職務的職工!\n");</p><p>  printf("\n\t★★★是否繼續按職務查詢(y/n)?★★★");</p><p>  fflush(stdin);</p><p>  ch=getchar();</p><

132、p>  }while(ch=='y' ||ch=='Y');</p><p><b>  }</b></p><p>  /******************************刪除信息****************************/</p><p>  void del()</p&g

133、t;<p><b>  {</b></p><p>  FILE *fp,*fp2;</p><p>  int i,flage=0;</p><p>  char number[20],ch;</p><p>  Number=dq();</p><p>  if((fp=fope

134、n("職工信息登記表.txt","rb"))==NULL)</p><p><b>  {</b></p><p>  printf("文件 職工信息登記表.txt 打不開!\n");</p><p><b>  getch();</b></p>&

135、lt;p><b>  exit(1);</b></p><p><b>  }</b></p><p>  if((fp2=fopen("temp.txt","wb"))==NULL)</p><p><b>  {</b></p><

136、p>  printf("文件 temp.txt 打不開!\n");</p><p><b>  getch();</b></p><p><b>  exit(1);</b></p><p><b>  }</b></p><p>  printf(&

137、quot;請輸入你要刪除的職工號:");</p><p>  scanf("%s",number);</p><p>  for(i=0;i<Number;i++)</p><p><b>  {</b></p><p>  if(strcmp(zg[i].num,number)==0

138、)</p><p><b>  {</b></p><p>  printf("\t**你確定刪除該職工信息(y/n)?**");</p><p>  fflush(stdin);</p><p>  ch=getchar();</p><p>  if(ch=='y&

139、#39;||ch=='Y')</p><p><b>  {</b></p><p><b>  flage=1;</b></p><p><b>  }</b></p><p><b>  else</b></p><

140、p>  fwrite(&zg[i],sizeof(struct Zg),1,fp2);</p><p><b>  }</b></p><p><b>  else</b></p><p>  fwrite(&zg[i],sizeof(struct Zg),1,fp2);</p><

141、;p><b>  }</b></p><p>  fclose(fp);</p><p>  fclose(fp2);</p><p>  if(flage==1)</p><p><b>  {</b></p><p>  remove("職工信息登記表.t

142、xt");</p><p>  rename("temp.txt","職工信息登記表.txt");</p><p>  printf("\t***刪除成功!***\n");</p><p><b>  }</b></p><p><b>  

143、else</b></p><p>  printf("\t***未找到該職工號,刪除失??!***\n");</p><p>  fclose(fp);</p><p>  fclose(fp2);</p><p>  printf("\n\t★★★★按任意鍵繼續★★★★");</p&g

144、t;<p><b>  getch();</b></p><p><b>  }</b></p><p>  /**************************************修改信息********************************************/</p><p>  v

145、oid xiugai()</p><p><b>  {</b></p><p>  struct Zg temp;</p><p>  FILE *fp,*fp2;</p><p>  char number[20],ch;</p><p>  int i,flage=0;</p>

146、<p>  Number=dq();</p><p>  if((fp=fopen("職工信息登記表.txt","rb"))==NULL)</p><p><b>  {</b></p><p>  printf("文件 職工信息登記表.txt 打不開!\n");</

147、p><p><b>  getch();</b></p><p><b>  exit(1);</b></p><p><b>  }</b></p><p>  if((fp2=fopen("temp.txt","wb"))==NULL)&

148、lt;/p><p><b>  {</b></p><p>  printf("文件 temp.txt 打不開!\n");</p><p><b>  getch();</b></p><p><b>  exit(1);</b></p><

149、p><b>  }</b></p><p>  printf("\t請輸入你要修改的職工的職工號:");</p><p>  scanf("%s",number);</p><p>  for(i=0;i<Number;i++)</p><p><b>  {

150、</b></p><p>  if(strcmp(zg[i].num,number)==0)</p><p><b>  {</b></p><p>  printf("\t**你確定修改該職工信息(y/n)?**");</p><p>  fflush(stdin);</p>

151、<p>  ch=getchar();</p><p>  if(ch=='y'||ch=='Y')</p><p><b>  {</b></p><p>  printf("\t請你輸入要修改的信息:\n");</p><p>  printf(&qu

152、ot;\n請輸入職工號:");scanf("%s",&temp.num);</p><p>  printf("請輸入姓名:");scanf("%s",&temp.name);</p><p>  printf("請輸入性別(f/m):");scanf("%s",&

溫馨提示

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

評論

0/150

提交評論