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

下載本文檔

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

文檔簡介

1、<p><b>  摘 要</b></p><p>  C是一種計(jì)算機(jī)程序設(shè)計(jì)語言,可以作為系統(tǒng)設(shè)計(jì)語言編寫系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語言,編寫不依賴計(jì)算機(jī)硬件的應(yīng)用程序,因此它的應(yīng)用范圍廣闊。本系統(tǒng)是根據(jù)職工信息管理工作的需要,通過C語言開發(fā)一個(gè)職工信息管理系統(tǒng)來實(shí)現(xiàn)對職工信息進(jìn)行有效、準(zhǔn)確的管理。整個(gè)系統(tǒng)從簡便、實(shí)用的要求出發(fā),完成職工信息管理的全過程,包括職工信息

2、的錄入、修改、刪除、查找、輸出等功能。</p><p>  本文主要介紹了本課題的開發(fā)背景,所要完成的功能和開發(fā)的過程。系統(tǒng)的說明了系統(tǒng)的設(shè)計(jì)思路、總體設(shè)計(jì)、各個(gè)功能模塊的設(shè)計(jì)與實(shí)現(xiàn)方法。</p><p>  關(guān)鍵詞:職工信息管理系統(tǒng), C語言,信息采集模塊</p><p><b>  目錄</b></p><p>  

3、程序設(shè)計(jì)任務(wù)書要求···································&

4、#183;·4</p><p>  程序基本框架······························

5、;·············5</p><p>  C語言課程設(shè)計(jì)的目的··················

6、;·················6</p><p>  詳細(xì)設(shè)計(jì)報(bào)告··············

7、83;····························7</p><p>  程序清單···

8、83;····································&

9、#183;······22</p><p>  課程設(shè)計(jì)總結(jié)························

10、3;··················30</p><p>  后記··············

11、;····································

12、83;··32</p><p>  參考文獻(xiàn)·····························&#

13、183;···················33</p><p><b>  課程設(shè)計(jì)任務(wù)書</b></p><p>  2013—2014 學(xué)年第一學(xué)期</p>

14、<p>  專業(yè)班級: 學(xué)號:姓名:</p><p>  課程名稱: C程序設(shè)計(jì) </p><p>  完成期限:自 2013年 12 月19日至 2013年 12 月26日 共 1 周 </p><p><b>  課程設(shè)計(jì)題目&l

15、t;/b></p><p>  職工信息管理系統(tǒng)的設(shè)計(jì)與應(yīng)用 </p><p>  設(shè)計(jì)目的:進(jìn)一步加深、鞏固學(xué)生所學(xué)專業(yè)課程(《C程序設(shè)計(jì)》)的基本理論知識,進(jìn)一步培養(yǎng)學(xué)生綜合分析問題和解決問題的能力。掌握運(yùn)用C語言獨(dú)立地編寫、調(diào)試應(yīng)用程序和進(jìn)行其它相關(guān)設(shè)計(jì)的技能,充分發(fā)掘廣大同學(xué)的潛力,使得同學(xué)們能夠通過本次課程設(shè)

16、計(jì)而得到全面的鍛煉。</p><p>  一、功能要求:職工信息管理系統(tǒng)是企業(yè)職工管理中的一項(xiàng)重要內(nèi)容,該系統(tǒng)功能主要包括: </p><p>  定義結(jié)構(gòu)體類型數(shù)組存放職工信息。 </p><p>  編寫函數(shù)輸出系統(tǒng)界面。

17、 </p><p>  編寫各函數(shù)實(shí)現(xiàn)系統(tǒng)的追加、刪除、統(tǒng)計(jì)、查詢等功能。 </p><p>  該同學(xué)主要完成系統(tǒng)輸出界面和主函數(shù),追加,刪除,統(tǒng)計(jì),查詢模塊的設(shè)計(jì)。 </p><p>  二、設(shè)計(jì)任務(wù):1、設(shè)計(jì)職工信息管理系統(tǒng)的功能框圖、流程圖; 2、編寫該系統(tǒng)的源 </p>

18、<p>  程序代碼; 3、上機(jī)調(diào)試; 4、撰寫課程設(shè)計(jì)報(bào)告。 </p><p>  三、開發(fā)工具:Turbo C 2.0 /Vc++6.0及UCDOS 7.0。 </p><p>  四、進(jìn)度安排:1、前4天進(jìn)行總體設(shè)計(jì)和模塊編寫與調(diào)試。2、后

19、3天進(jìn)行課程設(shè)計(jì)報(bào)告的撰寫和課程設(shè)計(jì)答辯。 </p><p>  五、主要參考資料: </p><p>  [1] Stephen prata.C primer plus(第五版).北京:人民郵電出版社,2010.4 </p>

20、<p>  [2] 譚浩強(qiáng).C程序設(shè)計(jì)(第三版).北京:清華大學(xué)出版社,2005.7 </p><p>  [3] 張磊等.C語言程序設(shè)計(jì)教程.北京:中國鐵道出版社,2007.8 </p><p>  C語言程序設(shè)計(jì)的目的:</p><p>  職工信息管理系統(tǒng),并且可以實(shí)現(xiàn)以下功能:&

21、lt;/p><p>  系統(tǒng)能夠以菜單的方式顯示所要選擇執(zhí)行的功能</p><p>  程序可以錄入職工的信息</p><p>  【職工信息包括(姓名、職工號、性別、年齡、學(xué)歷、工資、地址、電話、職位)】</p><p>  程序可以修改職工的信息</p><p>  程序可以刪除職工的信息</p><

22、;p>  程序能夠查詢到所需要的職工的信息</p><p>  【查詢時(shí)可按姓名、學(xué)歷或職工號查詢】</p><p>  程序能夠輸出所錄入的所有職工的信息</p><p>  職工信息管理系統(tǒng)詳細(xì)報(bào)告</p><p><b>  主函數(shù):</b></p><p><b>  【程

23、序】</b></p><p>  #include <stdio.h></p><p>  #include <stdlib.h></p><p>  #include <string.h>//ANSI C標(biāo)準(zhǔn)要求在使用字符串時(shí)要包含頭文件 string.h</p><p>  struct z

24、higong { //定義數(shù)據(jù)結(jié)構(gòu)變量,下面九個(gè)成員列表</p><p>  char name[30]; //姓名</p><p>  char zhigonghao[30]; //職工號</p><p>  char xingbie[30]; //性別</p><p>  char age[30];

25、 //年齡</p><p>  char xueli[30]; //學(xué)歷</p><p>  char zhiwei[30]; //職位</p><p>  char gongzi[30]; //工資</p><p>  char tel[30]; //電話&l

26、t;/p><p>  char dizhi[100]; //地址</p><p><b>  }x;</b></p><p>  FILE *fp; //定義一個(gè)指向文件型數(shù)據(jù)的指針變量</p><p>  //(定義fp是一個(gè)指向FILE類型數(shù)據(jù)的指針變量,可以使fp某一個(gè)一個(gè)文件的文件信息區(qū),通過該文件信息

27、區(qū)中的信息就能夠訪問該文件)</p><p>  void zhujiemian(); //查詢系統(tǒng)的主界面</p><p>  void tianjia(); //添加職工信息</p><p>  void chazhao(); //查找職工信息</p><p>  void xiugai(); //修改職工信息</p>&l

28、t;p>  void shanchu(); //刪除職工信息</p><p>  void shuchu(); //輸出職工信息</p><p>  void nameway(); //按姓名查詢職工信息</p><p>  void xueliway(); //按學(xué)歷查詢職工信息</p><p>  void zhigonghaowa

29、y(); //按職工號查詢職工信息</p><p>  int main(void)</p><p><b>  {</b></p><p><b>  int m;</b></p><p><b>  while (1)</b></p><p><

30、;b>  {</b></p><p>  zhujiemian();</p><p>  scanf ("%d",&m);</p><p>  if (m>=0&&m<=5)</p><p><b>  {</b></p><p

31、>  switch (m)</p><p><b>  {</b></p><p><b>  case 1:</b></p><p>  system ("cls");//清空主界面</p><p>  tianjia();</p><p><

32、;b>  break;</b></p><p><b>  case 2:</b></p><p>  system ("cls");//清空主界面</p><p>  chazhao();</p><p><b>  break;</b></p>

33、<p><b>  case 3:</b></p><p>  system ("cls");//清空主界面</p><p><b>  xiugai();</b></p><p><b>  break;</b></p><p><b&g

34、t;  case 4:</b></p><p>  system ("cls");//清空主界面</p><p>  shanchu();</p><p><b>  break;</b></p><p><b>  case 5:</b></p>&l

35、t;p>  system ("cls");//清空主界面</p><p><b>  shuchu();</b></p><p><b>  break;</b></p><p><b>  case 0:</b></p><p><b> 

36、 exit (0);</b></p><p><b>  }</b></p><p>  printf("功能執(zhí)行完畢,請您再次選擇!\n");</p><p><b>  }</b></p><p><b>  else</b></p&g

37、t;<p>  printf("輸入錯(cuò)誤,請您重新輸入。\n");</p><p><b>  }</b></p><p><b>  return 0;</b></p><p><b>  }</b></p><p>  上面的函數(shù)包括職工信

38、息管理系統(tǒng)所需的所有函數(shù)聲明,定義了一個(gè)結(jié)構(gòu)數(shù)組來處理諸多的變量,在下面的int main (void)語句中對在函數(shù)頭的那么多的變量進(jìn)行調(diào)用,以使本系統(tǒng)能夠順利運(yùn)行!</p><p><b>  B、主界面:</b></p><p><b>  【程序】</b></p><p>  void zhujiemian()&l

39、t;/p><p><b>  {</b></p><p>  printf("\t\t#############################################\n");</p><p>  printf("\t\t歡迎進(jìn)入追夢責(zé)任有限公司職工信息管理系統(tǒng)\n");</p>&l

40、t;p>  printf("\t\t#############################################\n");</p><p>  printf("\t\t添加,請按1 查找,請按2\n");</p><p>  printf("\t\t修改,請按3

41、 刪除,請按4\n");</p><p>  printf("\t\t輸出,請按5 退出,請按0\n");</p><p><b>  }</b></p><p><b>  函數(shù)截圖:</b></p><p>  這是函數(shù)的主界面的

42、顯示圖,您如果想進(jìn)行您所想要的實(shí)現(xiàn)的功能,請按提示輸入對應(yīng)的序號來進(jìn)行操作··· ···</p><p><b>  C、錄入職工信息:</b></p><p><b>  【程序】</b></p><p>  void tianjia()</p>

43、<p><b>  {</b></p><p>  if ((fp=fopen("filel","a"))==NULL)//打開輸出文件,并使fp指向此文件</p><p><b>  {</b></p><p>  printf("該文件不能夠被打開\n&quo

44、t;);//如果打開時(shí)出錯(cuò),就輸出“打不開”的信息</p><p>  exit (0);//終止程序</p><p><b>  }</b></p><p>  printf("請輸入職工的信息:姓名、職工號、性別、年齡、學(xué)歷、職位、工資、電話、地址\n");</p><p>  scanf(&qu

45、ot;%s%s%s%s%s%s%s%s%s",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p>  fprintf(fp,"%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",x.name,x.zhigonghao,x.xing

46、bie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p>  fclose (fp);//關(guān)閉前面鎖打開的文件,避免文件中數(shù)據(jù)的丟失</p><p><b>  }</b></p><p><b>  函數(shù)截圖:</b></p><p>

47、  這是添加職工信息的顯示圖,按照提示您可以輸入您想要輸入的職工的信息,執(zhí)行完畢后按回車鍵即可返回主界面,您在進(jìn)行其他操作··· ···</p><p><b>  D、查找職工信息:</b></p><p><b>  【程序】</b></p><p>  vo

48、id chazhao()</p><p><b>  {</b></p><p><b>  int a;</b></p><p>  printf("\t\t若按姓名查找,請選擇:1\n");</p><p>  printf("\t\t若按學(xué)歷查找,請選擇:2\n&

49、quot;);</p><p>  printf("\t\t若按職工號查找,請選擇:3\n");</p><p>  scanf("%d",&a);</p><p>  if(a>=1&&a<=3)</p><p><b>  {</b><

50、/p><p>  switch (a)</p><p><b>  {</b></p><p><b>  case 1:</b></p><p>  nameway();</p><p><b>  break;</b></p><p&

51、gt;<b>  case 2:</b></p><p>  xueliway();</p><p><b>  break;</b></p><p><b>  case 3:</b></p><p>  zhigonghaoway();</p><p&g

52、t;<b>  break;</b></p><p><b>  }</b></p><p>  printf("您所選擇的該操作執(zhí)行完畢\n");</p><p><b>  }</b></p><p><b>  else</b>&

53、lt;/p><p>  printf("\t\t對不起,您的輸入有誤\n");</p><p><b>  }</b></p><p><b>  函數(shù)截圖:</b></p><p>  在查找職工信息是您可以用姓名、學(xué)歷或職工號進(jìn)行查詢,按照提示進(jìn)行您的操作,下面我漸進(jìn)性詳細(xì)說明&

54、#183;·· ···</p><p>  上面是所有員工的信息,查詢方式有以下三種</p><p><b>  按姓名查找:</b></p><p><b>  【程序】</b></p><p>  void nameway()</p>

55、<p><b>  {</b></p><p><b>  int k=0;</b></p><p>  char nam[30];//聲明要查找的職工姓名</p><p>  printf("請輸入您要查找的職工的姓名:");</p><p>  scanf (&

56、quot;%s",nam);</p><p>  if ((fp=fopen("filel","rb"))==NULL)//打開輸出文件,并使fp指向此文件</p><p><b>  {</b></p><p>  printf("該文件不能夠被打開\n");//如果打開時(shí)

57、出錯(cuò),就輸出“打不開”的信息</p><p>  exit (0);//終止程序</p><p><b>  }</b></p><p>  while(!feof(fp))</p><p><b>  {</b></p><p>  fscanf(fp,"%s%s

58、%s%s%s%s%s%s%s",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p>  if(strcmp(nam,x.name)==0)</p><p><b>  {</b></p><p>  printf(&

59、quot;已查到此人,期記錄為:\n");</p><p>  printf("%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p><b>  

60、k=1;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  if(k==0)</b></p><p>  printf("對不起,沒有您想要查找的人!\n");</p>

61、<p>  fclose (fp);//關(guān)閉前面鎖打開的文件,避免文件中數(shù)據(jù)的丟失</p><p><b>  }</b></p><p><b>  程序執(zhí)行結(jié)果截圖:</b></p><p>  以上是按姓名查找您所需要的職工的信息··· ···

62、</p><p><b>  按學(xué)歷查詢:</b></p><p><b>  【程序】</b></p><p>  void xueliway()</p><p><b>  {</b></p><p><b>  int b=0;</

63、b></p><p>  char xuel[30];</p><p>  printf("請輸入您想要查詢的學(xué)歷:");</p><p>  scanf("%s",xuel);</p><p>  if ((fp=fopen("filel","rb"))=

64、=NULL)//打開輸出文件,并使fp指向此文件</p><p><b>  {</b></p><p>  printf("該文件不能夠被打開\n");//如果打開時(shí)出錯(cuò),就輸出“打不開”的信息</p><p>  exit (0);//終止程序</p><p><b>  }</b

65、></p><p>  while (!feof(fp))</p><p><b>  {</b></p><p>  fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel

66、,x.dizhi);</p><p>  if(strcmp(xuel,x.xueli)==0)</p><p><b>  {</b></p><p>  printf("已查到此人,期記錄為:\n");</p><p>  printf("%-10s%-8s%-5s%-5s%-10s%-

67、8s%-8s%-10s%-15s\n",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p><b>  b=1;</b></p><p><b>  }</b></p><p><b>

68、;  }</b></p><p><b>  if(b)</b></p><p>  printf("對不起,沒有您想要查詢的人\n");</p><p>  fclose(fp);//關(guān)閉前面鎖打開的文件,避免文件中數(shù)據(jù)的丟失</p><p><b>  }</b>

69、</p><p>  以上是按學(xué)歷查詢的結(jié)果··· ···</p><p><b>  按職工號查詢:</b></p><p><b>  【程序】</b></p><p>  void zhigonghaoway()</p>

70、<p><b>  {</b></p><p><b>  int c=0;</b></p><p>  char zhigongha[30];</p><p>  printf("請輸入您索要查詢的職工的職工號:");</p><p>  scanf("%

71、s",zhigongha);</p><p>  if ((fp=fopen("filel","rb"))==NULL)//打開輸出文件,并使fp指向此文件</p><p><b>  {</b></p><p>  printf("該文件不能夠被打開\n");//如果打開時(shí)

72、出錯(cuò),就輸出“打不開”的信息</p><p>  exit (0);//終止程序</p><p><b>  }</b></p><p>  while (!feof(fp))</p><p><b>  {</b></p><p>  fscanf(fp,"%s%

73、s%s%s%s%s%s%s%s",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p>  if(strcmp(zhigongha,x.zhigonghao)==0)</p><p><b>  {</b></p><p&

74、gt;  printf("已查到此人,期記錄為:\n");</p><p>  printf("%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p&g

75、t;<b>  c=1;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  if(c)</b></p><p>  printf("對不起,沒有您想要查找的人!\n");

76、</p><p>  fclose (fp);//關(guān)閉前面鎖打開的文件,避免文件中數(shù)據(jù)的丟失</p><p><b>  }</b></p><p><b>  E、修改職工信息:</b></p><p><b>  【程序】</b></p><p> 

77、 void xiugai()</p><p><b>  {</b></p><p><b>  int k=0;</b></p><p><b>  long a;</b></p><p>  char namekey[30];</p><p>  p

78、rintf("請輸入您要修改的職工的姓名:");</p><p>  scanf("%s",namekey);</p><p>  if ((fp=fopen("filel","r+"))==NULL)//打開輸出文件,并使fp指向此文件</p><p><b>  {<

79、/b></p><p>  printf("該文件不能夠被打開\n");//如果打開時(shí)出錯(cuò),就輸出“打不開”的信息</p><p>  exit (0);//終止程序</p><p><b>  }</b></p><p>  while (!feof(fp))</p><p

80、><b>  {</b></p><p>  a=ftell(fp);</p><p>  fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><

81、p>  if(!strcmp(namekey,x.name))</p><p><b>  {</b></p><p><b>  k=1;</b></p><p><b>  break;</b></p><p><b>  }</b></p

82、><p><b>  }</b></p><p><b>  if(k)</b></p><p><b>  {</b></p><p>  printf("已查到,期記錄為:\n");</p><p>  printf("%-

83、10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p>  printf("請輸入信息(按姓名、職工號、性別、年齡、學(xué)歷、職位、工資、電話、地址的順序輸入):\n");</p>

84、;<p>  scanf("%s%s%s%s%s%s%s%s%s",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p>  fseek(fp,a,0);</p><p>  fprintf(fp,"%-10s%-8s%-5s%-

85、5s%-10s%-8s%-8s%-10s%-15s\n",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p><b>  }</b></p><p><b>  else</b></p><p>

86、;  printf("對不起,沒有查到此人,無法進(jìn)行修改\n");</p><p>  fclose(fp);//關(guān)閉前面鎖打開的文件,避免文件中數(shù)據(jù)的丟失</p><p><b>  }</b></p><p>  程序之執(zhí)行結(jié)果截圖:</p><p><b>  {1}</b>

87、;</p><p><b>  {2}</b></p><p>  以上是程序執(zhí)行前后的職工信息的修改結(jié)果,您如果還想修改其他的職工的信息,只需進(jìn)行如同以上的操作即可··· ···</p><p>  F、刪除職工的信息:</p><p><b>  

88、【程序】</b></p><p>  void shanchu()</p><p><b>  {</b></p><p>  int m,k=0;</p><p><b>  long a;</b></p><p>  char namekey[30];<

89、/p><p>  printf("請輸入您要刪除的職工的姓名:");</p><p>  scanf("%s",namekey);</p><p>  if ((fp=fopen("filel","r+"))==NULL)//打開輸出文件,并使fp指向此文件</p><p

90、><b>  {</b></p><p>  printf("該文件不能被打開\n");//如果打開時(shí)出錯(cuò),就輸出“打不開”的信息</p><p>  exit (0);//終止程序</p><p><b>  }</b></p><p>  while (!feof(fp

91、))</p><p><b>  {</b></p><p>  a=ftell(fp);</p><p>  fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizh

92、i);</p><p>  if((strcmp(namekey,x.name))==0)</p><p><b>  {</b></p><p><b>  k=1;</b></p><p><b>  break;</b></p><p><b

93、>  }</b></p><p><b>  }</b></p><p><b>  if(k==1)</b></p><p><b>  {</b></p><p>  printf ("已查到您所需要的信息,其記錄為:\n");<

94、/p><p>  printf("%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p>  printf("確實(shí)要刪除,請按1;如果不刪除,請按0\n"

95、;);</p><p>  scanf("%d",&m);</p><p><b>  if(m==1)</b></p><p><b>  {</b></p><p>  fseek(fp,a,0);</p><p>  fprintf(fp,&

96、quot;%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n,",","","","","","","","",");</p><p><b>  }</b></p><

97、p><b>  }</b></p><p><b>  else</b></p><p>  printf("對不起,沒有查到此人\n");</p><p>  fclose (fp);//關(guān)閉前面鎖打開的文件,避免文件中數(shù)據(jù)的丟失</p><p><b>  }

98、</b></p><p>  上面是刪除前的結(jié)果,下面我將刪除欣欣、偉偉的職工信息</p><p><b>  下面是刪除后的結(jié)果</b></p><p>  G、輸出職工的信息:</p><p><b>  【程序】</b></p><p>  void shu

99、chu()</p><p><b>  {</b></p><p>  if((fp=fopen("filel","r"))==NULL)//打開輸出文件,并使fp指向此文件</p><p><b>  {</b></p><p>  printf("

100、;\n該文件不能被打開\n");//如果打開時(shí)出錯(cuò),就輸出“打不開”的信息</p><p>  exit (0);//終止程序</p><p><b>  }</b></p><p>  printf("\n%20s\n","職工信息管理系統(tǒng)");</p><p>  w

101、hile (!feof(fp))</p><p><b>  {</b></p><p>  fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p&

102、gt;  printf("%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p><b>  }</b></p><p>  fclose (fp

103、);//關(guān)閉前面鎖打開的文件,避免文件中數(shù)據(jù)的丟失</p><p><b>  }</b></p><p>  下面是輸出結(jié)果的屏慕截圖:</p><p>  本程序的運(yùn)行過程到此已全部執(zhí)行完畢··· ···</p><p>  下面是該程序的其它介紹:<

104、/p><p>  在輸入的數(shù)大于5并且小于0時(shí)的結(jié)果:</p><p>  輸入不存在的職工姓名時(shí):</p><p>  在該程序中我還引入了文件的使用,如下:</p><p>  FILE *fp; //定義一個(gè)指向文件的指針變量fp</p><p>  用fopen函數(shù)打開數(shù)據(jù)文件:fopen(文件名,使用文件方

105、式);</p><p>  用fclose函數(shù)關(guān)閉數(shù)據(jù)文件:fclose(文件指針);</p><p><b>  使用文件的方式</b></p><p><b>  程序清單</b></p><p>  #include <stdio.h></p><p>  

106、#include <stdlib.h></p><p>  #include <string.h>//ANSI C標(biāo)準(zhǔn)要求在使用字符串時(shí)要包含頭文件 string.h</p><p>  struct zhigong { //定義數(shù)據(jù)結(jié)構(gòu)變量,下面九個(gè)成員列表</p><p>  char name[30]; //姓名&l

107、t;/p><p>  char zhigonghao[30]; //職工號</p><p>  char xingbie[30]; //性別</p><p>  char age[30]; //年齡</p><p>  char xueli[30]; //學(xué)歷</p><p

108、>  char zhiwei[30]; //職位</p><p>  char gongzi[30]; //工資</p><p>  char tel[30]; //電話</p><p>  char dizhi[100]; //地址</p><p><b>  }

109、x;</b></p><p>  FILE *fp; //定義一個(gè)指向文件型數(shù)據(jù)的指針變量</p><p>  //(定義fp是一個(gè)指向FILE類型數(shù)據(jù)的指針變量,可以使fp某一個(gè)一個(gè)文件的文件信息區(qū),通過該文件信息區(qū)中的信息就能夠訪問該文件)</p><p>  void zhujiemian(); //查詢系統(tǒng)的主界面</p><

110、p>  void tianjia(); //添加職工信息</p><p>  void chazhao(); //查找職工信息</p><p>  void xiugai(); //修改職工信息</p><p>  void shanchu(); //刪除職工信息</p><p>  void shuchu(); //輸出職工信息<

111、;/p><p>  void nameway(); //按姓名查詢職工信息</p><p>  void xueliway(); //按學(xué)歷查詢職工信息</p><p>  void zhigonghaoway(); //按職工號查詢職工信息</p><p>  int main(void)</p><p><b&g

112、t;  {</b></p><p><b>  int m;</b></p><p><b>  while (1)</b></p><p><b>  {</b></p><p>  zhujiemian();</p><p>  scan

113、f ("%d",&m);</p><p>  if (m>=0&&m<=5)</p><p><b>  {</b></p><p>  switch (m)</p><p><b>  {</b></p><p>&l

114、t;b>  case 1:</b></p><p>  system ("cls");//清空主界面</p><p>  tianjia();</p><p><b>  break;</b></p><p><b>  case 2:</b></p>

115、;<p>  system ("cls");//清空主界面</p><p>  chazhao();</p><p><b>  break;</b></p><p><b>  case 3:</b></p><p>  system ("cls&quo

116、t;);//清空主界面</p><p><b>  xiugai();</b></p><p><b>  break;</b></p><p><b>  case 4:</b></p><p>  system ("cls");//清空主界面</p

117、><p>  shanchu();</p><p><b>  break;</b></p><p><b>  case 5:</b></p><p>  system ("cls");//清空主界面</p><p><b>  shuchu();

118、</b></p><p><b>  break;</b></p><p><b>  case 0:</b></p><p><b>  exit (0);</b></p><p><b>  }</b></p><p&g

119、t;  printf("功能執(zhí)行完畢,請您再次選擇!\n");</p><p><b>  }</b></p><p><b>  else</b></p><p>  printf("輸入錯(cuò)誤,請您重新輸入。\n");</p><p><b>  

120、}</b></p><p><b>  return 0;</b></p><p><b>  }</b></p><p>  void zhujiemian()</p><p><b>  {</b></p><p>  printf(&q

121、uot;\t\t#############################################\n");</p><p>  printf("\t\t歡迎進(jìn)入追夢責(zé)任有限公司職工信息管理系統(tǒng)\n");</p><p>  printf("\t\t#############################################\n

122、");</p><p>  printf("\t\t添加,請按1 查找,請按2\n");</p><p>  printf("\t\t修改,請按3 刪除,請按4\n");</p><p>  printf("\t\t輸出,請按5

123、 退出,請按0\n");</p><p><b>  }</b></p><p>  void tianjia()</p><p><b>  {</b></p><p>  if ((fp=fopen("filel","a"))==

124、NULL)//打開輸出文件,并使fp指向此文件</p><p><b>  {</b></p><p>  printf("該文件不能夠被打開\n");//如果打開時(shí)出錯(cuò),就輸出“打不開”的信息</p><p>  exit (0);//終止程序</p><p><b>  }</b&

125、gt;</p><p>  printf("請輸入職工的信息:姓名、職工號、性別、年齡、學(xué)歷、職位、工資、電話、地址\n");</p><p>  scanf("%s%s%s%s%s%s%s%s%s",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi

126、);</p><p>  fprintf(fp,"%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p>  fclose (fp);//關(guān)閉前面鎖打開的文件,避免文件

127、中數(shù)據(jù)的丟失</p><p><b>  }</b></p><p>  void chazhao()</p><p><b>  {</b></p><p><b>  int a;</b></p><p>  printf("\t\t若按姓

128、名查找,請選擇:1\n");</p><p>  printf("\t\t若按學(xué)歷查找,請選擇:2\n");</p><p>  printf("\t\t若按職工號查找,請選擇:3\n");</p><p>  scanf("%d",&a);</p><p>  i

129、f(a>=1&&a<=3)</p><p><b>  {</b></p><p>  switch (a)</p><p><b>  {</b></p><p><b>  case 1:</b></p><p>  na

130、meway();</p><p><b>  break;</b></p><p><b>  case 2:</b></p><p>  xueliway();</p><p><b>  break;</b></p><p><b>  c

131、ase 3:</b></p><p>  zhigonghaoway();</p><p><b>  break;</b></p><p><b>  }</b></p><p>  printf("您所選擇的該操作執(zhí)行完畢\n");</p><

132、p><b>  }</b></p><p><b>  else</b></p><p>  printf("\t\t對不起,您的輸入有誤\n");</p><p><b>  }</b></p><p>  void nameway()</p&

133、gt;<p><b>  {</b></p><p><b>  int k=0;</b></p><p>  char nam[30];//聲明要查找的職工姓名</p><p>  printf("請輸入您要查找的職工的姓名:");</p><p>  scanf

134、 ("%s",nam);</p><p>  if ((fp=fopen("filel","rb"))==NULL)//打開輸出文件,并使fp指向此文件</p><p><b>  {</b></p><p>  printf("該文件不能夠被打開\n");//如果

135、打開時(shí)出錯(cuò),就輸出“打不開”的信息</p><p>  exit (0);//終止程序</p><p><b>  }</b></p><p>  while(!feof(fp))</p><p><b>  {</b></p><p>  fscanf(fp,"%

136、s%s%s%s%s%s%s%s%s",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p>  if(strcmp(nam,x.name)==0)</p><p><b>  {</b></p><p>  print

137、f("已查到此人,期記錄為:\n");</p><p>  printf("%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p><b>

138、;  k=1;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  if(k==0)</b></p><p>  printf("對不起,沒有您想要查找的人!\n");</p&

139、gt;<p>  fclose (fp);//關(guān)閉前面鎖打開的文件,避免文件中數(shù)據(jù)的丟失</p><p><b>  }</b></p><p>  void zhigonghaoway()</p><p><b>  {</b></p><p><b>  int c=0;

140、</b></p><p>  char zhigongha[30];</p><p>  printf("請輸入您索要查詢的職工的職工號:");</p><p>  scanf("%s",zhigongha);</p><p>  if ((fp=fopen("filel"

141、;,"rb"))==NULL)//打開輸出文件,并使fp指向此文件</p><p><b>  {</b></p><p>  printf("該文件不能夠被打開\n");//如果打開時(shí)出錯(cuò),就輸出“打不開”的信息</p><p>  exit (0);//終止程序</p><p>

142、;<b>  }</b></p><p>  while (!feof(fp))</p><p><b>  {</b></p><p>  fscanf(fp,"%s%s%s%s%s%s%s%s%s",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiw

143、ei,x.gongzi,x.tel,x.dizhi);</p><p>  if(strcmp(zhigongha,x.zhigonghao)==0)</p><p><b>  {</b></p><p>  printf("已查到此人,期記錄為:\n");</p><p>  printf(&qu

144、ot;%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p><b>  c=1;</b></p><p><b>  }</b>&l

145、t;/p><p><b>  }</b></p><p><b>  if(c)</b></p><p>  printf("對不起,沒有您想要查找的人!\n");</p><p>  fclose (fp);//關(guān)閉前面鎖打開的文件,避免文件中數(shù)據(jù)的丟失</p>&l

146、t;p><b>  }</b></p><p>  void xueliway()</p><p><b>  {</b></p><p><b>  int b=0;</b></p><p>  char xuel[30];</p><p>  

147、printf("請輸入您想要查詢的學(xué)歷:");</p><p>  scanf("%s",xuel);</p><p>  if ((fp=fopen("filel","rb"))==NULL)//打開輸出文件,并使fp指向此文件</p><p><b>  {</b&g

148、t;</p><p>  printf("該文件不能夠被打開\n");//如果打開時(shí)出錯(cuò),就輸出“打不開”的信息</p><p>  exit (0);//終止程序</p><p><b>  }</b></p><p>  while (!feof(fp))</p><p>

149、<b>  {</b></p><p>  fscanf(fp,"%s%s%s%s%s%s%s%s%s\n",x.name,x.zhigonghao,x.xingbie,x.age,x.xueli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p>  if(strcmp(xuel,x.xueli)==0)</

150、p><p><b>  {</b></p><p>  printf("已查到此人,期記錄為:\n");</p><p>  printf("%-10s%-8s%-5s%-5s%-10s%-8s%-8s%-10s%-15s\n",x.name,x.zhigonghao,x.xingbie,x.age,x.xu

151、eli,x.zhiwei,x.gongzi,x.tel,x.dizhi);</p><p><b>  b=1;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  if(b)</b><

152、/p><p>  printf("對不起,沒有您想要查詢的人\n");</p><p>  fclose(fp);//關(guān)閉前面鎖打開的文件,避免文件中數(shù)據(jù)的丟失</p><p><b>  }</b></p><p>  void xiugai()</p><p><b>

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論