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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

8、<p>  系統(tǒng)的執(zhí)行應(yīng)從功能菜單的選擇開始,依據(jù)用戶的選擇進行后續(xù)的處理,直到用戶選擇退出系統(tǒng)為止,其間應(yīng)對用戶的選擇做出判斷及異常處理。系統(tǒng)流程圖如下圖所示:</p><p>  三、詳細設(shè)計 </p><p><b>  1. 數(shù)據(jù)結(jié)構(gòu)</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]; //學(xué)歷</p><p>  char position[15]; //職務(wù)</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>  對應(yīng)總體設(shè)計時的系統(tǒng)模塊圖,各個功能模塊的處 流程如下:</p><p><b>  菜單模塊</b></p><p><b>  清屏;</b></p><p><b>  繪制菜單界面;</b></p><p>  信息提

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

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

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

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

18、lt;/b></p><p><b>  定義相關(guān)變量;</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>  提示用戶選擇相應(yīng)的序號;</p><p>  switch(變量)</p><p><b>  {</b></p><p><b>  判斷查詢方式;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

38、t;b>  關(guān)閉相關(guān)文件;</b></p><p><b>  判斷標(biāo)志變量的值;</b></p><p>  如果為1,則將源文件刪除,并將臨時文件重命名;</p><p>  否則輸出相關(guān)提示信息;</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();//輸入函數(shù)</p><p>  int pdnum(char num[20]);//判斷職工號

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

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

43、;/p><p>  void del();//刪除函數(shù)</p><p>  void xiugai();//修改函數(shù)</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]; //學(xué)歷</p><p>  char position[15]; //職務(wù)</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>  /****************************主函數(shù)****************

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☆★☆☆★◆◆ 本 系 統(tǒng) ◆◆★☆☆★☆\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>  /******************************讀取文件中數(shù)據(jù)個數(shù)****************************/</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請輸入錄入職工數(shù):");</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("請輸入學(xué)歷(junior,high,college,master,doctor):");scanf("%s",&zg[i].xueli);</p><p>  printf("請輸入職務(wù):");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、職工號是否重復(fù)****************************/</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("學(xué)歷:%s\n",zg[i].xueli);</p><p>  printf("職務(wù):%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.職務(wù) ★\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★★★是否繼續(xù)按職工號查詢(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★★★是否繼續(xù)按性別查詢(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★★★是否繼續(xù)按姓名查詢(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>  /******************************按職務(wù)查詢信息***

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請輸入你要查詢的職務(wù):");</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沒有該職務(wù)的職工!\n");</p><p>  printf("\n\t★★★是否繼續(xù)按職務(wù)查詢(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★★★★按任意鍵繼續(xù)★★★★");</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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論