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

下載本文檔

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

文檔簡介

1、<p><b>  本科生課程論文封面</b></p><p>  課程名稱 C語言課程設(shè)計 </p><p>  教師姓名 </p><p>  本科生姓名 </p><p>  本科生學(xué)號

2、 </p><p>  本科生專業(yè) 地質(zhì)學(xué) </p><p>  所在院系 地球科學(xué)學(xué)院 </p><p>  類別: C.本科 </p><p>  日期: 2013年1月10日 </p><p><b

3、>  課程設(shè)計評語</b></p><p>  注:1、無評閱人簽名成績無效;</p><p>  2、必須用鋼筆或圓珠筆批閱,用鉛筆閱卷無效;</p><p>  3、如有平時成績,必須在上面評分表中標(biāo)出,并計算入總成績。</p><p><b>  目 錄</b></p><p&

4、gt;<b>  課程設(shè)計評語2</b></p><p><b>  目 錄3</b></p><p>  1.課程論文題目4</p><p>  2.程序設(shè)計思路4</p><p><b>  3.功能模塊圖5</b></p><p>  4

5、.?dāng)?shù)據(jù)結(jié)構(gòu)設(shè)計6</p><p><b>  5.算法設(shè)計6</b></p><p><b>  6.程序代碼7</b></p><p>  7.程序運行結(jié)果19</p><p>  8.編程中遇到的困難及解決方法24</p><p>  9.總結(jié)心得及良好建議2

6、5</p><p><b>  10.致謝26</b></p><p><b>  1.課程論文題目</b></p><p>  職工信息包括職工號、姓名、性別、年齡、學(xué)歷、工資、住址、電話等(職工號不重復(fù))。試設(shè)計一職工信息管理系統(tǒng),使之能提供以下功能:</p><p>  系統(tǒng)以菜單方式工作。

7、</p><p>  職工信息錄入功能(職工信息用文件保存)。</p><p><b>  職工信息瀏覽功能。</b></p><p>  職工信息查詢功能,查詢方式可按學(xué)歷查詢或按職工號查詢。</p><p>  職工信息刪除、修改功能(可選項)。</p><p><b>  【提示】

8、</b></p><p>  建立職工信息結(jié)構(gòu)體,結(jié)構(gòu)體成員包括職工號、姓名、性別、年齡、學(xué)歷、工資、住址、電話。</p><p><b>  2.程序設(shè)計思路</b></p><p>  按要求設(shè)計一個職工信息管理系統(tǒng),使之能提供以下功能:</p><p> ?。?)應(yīng)提供一個界面來調(diào)用各個功能,調(diào)用界面和

9、各個功能的操作界面應(yīng)盡可能清晰美觀!</p><p> ?。?)輸入功能:職工信息錄入(職工信息用文件保存),可以一次完成若干條記錄的輸入。</p><p> ?。?)瀏覽功能:完成對全部職工信息的顯示。</p><p> ?。?)查找功能:①完成按職工的職工號查詢職工的相關(guān)信息,并顯示。</p><p> ?、谕瓿砂绰毠さ膶W(xué)歷查詢職工的相關(guān)

10、信息,并顯示。</p><p> ?、弁瓿砂绰毠さ碾娫捥柎a查詢職工的相關(guān)信息,并顯示。</p><p> ?。?)刪除功能:通過輸入職工的姓名完成對該名職工的信息進行刪除。</p><p>  (6)添加功能:完成添加新職工的信息的任務(wù)。</p><p>  (7)修改功能:通過輸入職工的姓名完成對該名職工的信息進行修改。</p>

11、<p> ?。?)退出職工信息管理系統(tǒng)。</p><p><b>  3.功能模塊圖</b></p><p> ?。總€功能模塊都標(biāo)注函數(shù)名稱,如右圖)</p><p><b>  4.?dāng)?shù)據(jù)結(jié)構(gòu)設(shè)計</b></p><p>  為了方便使用結(jié)構(gòu)此系統(tǒng)結(jié)構(gòu)均為全局類型定義</p&g

12、t;<p>  struct employee //定義一個職工信息的結(jié)構(gòu)體//</p><p><b>  {</b></p><p><b>  int num;</b></p><p>  char name[10];</p><p>  char sex;

13、 </p><p><b>  int age;</b></p><p>  char xueli[30];</p><p><b>  int wage;</b></p><p>  char addr[30];</p><p>  char tel[20];</p

14、><p>  }em[100]; </p><p><b>  5.算法設(shè)計</b></p><p>  1.菜單模塊:顯示職工管理系統(tǒng)的主菜單,供用戶選擇所需的功能,通過自己定義的void menu()函數(shù)來實現(xiàn)。 </p><p>  2.輸入模塊:輸入職工的工號、姓名以及其它的一些職工的相關(guān)信息,通過自己定義的v

15、oid input()函數(shù)來實現(xiàn)。</p><p>  3.保存模塊:將內(nèi)存中職工的信息輸出到磁盤文件中,可以通過自己定義的void save(int)函數(shù)來實現(xiàn)。</p><p>  4.瀏覽模塊:瀏覽所有職工的相關(guān)信息,通過自己定義的void display()函數(shù)來實現(xiàn)。</p><p>  5.刪除模塊:刪除需要刪除的職工的所有信息,通過自己定義的void

16、del()函數(shù)來實現(xiàn)。</p><p>  6.按職工號查詢模塊:可以按職工號來查詢職工的相關(guān)信息,通過自己定義的void search_num()函數(shù)來實現(xiàn)。</p><p>  7.按職工的的學(xué)歷查詢模塊:可以按職工的學(xué)歷來查詢職工的相關(guān)信息,通過自己定義的void search_xuelil函數(shù)來實現(xiàn)。</p><p>  8.修改模塊:可以修改需要修改的職工

17、的相關(guān)信息,通過自己定義的void modify()函數(shù) 來實現(xiàn)。</p><p>  9.退出系統(tǒng)模塊:退出職工信息管理系統(tǒng),通過頭文件windows.h中的exit(0)函數(shù)來實現(xiàn)。</p><p><b>  6.程序代碼</b></p><p>  #include <stdio.h></p><p&g

18、t;  #include <windows.h></p><p>  #include <string.h></p><p>  #define N 100</p><p>  struct employee</p><p><b>  {</b></p><p><

19、b>  int num;</b></p><p>  char name[20];</p><p>  char sex; </p><p><b>  int age;</b></p><p>  char xueli[30];</p><p><b>  int

20、wage;</b></p><p>  char addr[30];</p><p>  char tel[20];</p><p>  }em[100]; /*定義一個結(jié)構(gòu)體*/</p><p>  void menu();</p><p>  void input();</p>

21、<p>  void save(int);</p><p>  void display();</p><p>  void del();</p><p>  void add();</p><p>  void search();</p><p>  void search_num();</p&g

22、t;<p>  void search_xueli();</p><p>  void search_tel();</p><p>  void modify(); /*定義各函數(shù)*/</p><p>  void main()</p><p><b>  { </b></p><

23、p><b>  menu(); </b></p><p>  int n,flag;</p><p><b>  char a;</b></p><p><b>  do</b></p><p><b>  {</b></p><

24、;p>  printf("請選擇你需要操作的步驟(1--7):\n");</p><p>  scanf("%d",&n);</p><p>  if(n>=1&&n<=7)</p><p><b>  {</b></p><p><

25、b>  flag=1;</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><

26、p><b>  flag=0;</b></p><p>  printf("您輸入有誤,請重新選擇!");</p><p><b>  }</b></p><p><b>  }</b></p><p>  while(flag==0);</p&

27、gt;<p>  while(flag==1)</p><p><b>  {</b></p><p><b>  switch(n)</b></p><p><b>  {</b></p><p>  case 1:printf("

28、 ◆◆◆輸入職工信息◆◆◆\n");printf("\n");input();break;</p><p>  case 2:printf(" ◆◆◆瀏覽職工信息◆◆◆\n");printf("\n");display();break;</p><p>  case 3:printf(&

29、quot; ◆◆◆按職工號查詢職工信息◆◆◆\n");printf("\n");search();break; </p><p>  case 4:printf(" ◆◆◆刪除職工信息◆◆◆\n");printf("\n");del();break;</p><p> 

30、 case 5:printf(" ◆◆◆添加職工信息◆◆◆\n");printf("\n");add();break;</p><p>  case 6:printf(" ◆◆◆修改職工信息◆◆◆\n");printf("\n");modify();break;</p>

31、<p>  case 7:exit(0);break;</p><p>  default :break;</p><p><b>  }</b></p><p>  getchar();</p><p>  printf("\n");</p><p>  pri

32、ntf("是否繼續(xù)進行(y or n):\n");</p><p>  scanf("%c",&a);</p><p>  if(a=='y')</p><p><b>  {</b></p><p><b>  flag=1;</b>

33、</p><p>  system("cls"); /*清屏*/</p><p>  menu(); /*調(diào)用菜單函數(shù)*/</p><p>  printf("請再次選擇你需要操作的步驟(1--7):\n");</p><p>  scanf("%d",&n);</p

34、><p>  printf("\n");</p><p><b>  }</b></p><p><b>  else </b></p><p><b>  exit(0);</b></p><p><b>  }</b&

35、gt;</p><p><b>  }</b></p><p>  void menu() /*菜單函數(shù)*/</p><p><b>  {</b></p><p>  printf(" ************歡迎進入職工信息管理系統(tǒng)**********\n"

36、);</p><p>  printf(" 1.錄入職工信息");</p><p>  printf(" 2.瀏覽職工信息\n");</p><p>  printf(" 3.查詢職工信息");</p><p>  prin

37、tf(" 4.刪除職工信息\n");</p><p>  printf(" 5.添加職工信息");</p><p>  printf(" 6.修改職工信息\n");</p><p>  printf(" 7.退出\n&

38、quot;);</p><p>  printf(" ********************謝謝使用******************\n");</p><p>  printf("\n");</p><p>  printf("\n");</p><p><

39、b>  }</b></p><p>  void input() /*錄入函數(shù)*/</p><p><b>  {</b></p><p><b>  int i,m;</b></p><p>  printf("請輸入需要創(chuàng)建信息的職工人數(shù)(1--100):\n&q

40、uot;);</p><p>  scanf("%d",&m);</p><p>  for (i=0;i<m;i++)</p><p><b>  {</b></p><p>  printf("請輸入職工號: ");</p><p>  s

41、canf("%d",&em[i].num);</p><p>  printf("請輸入姓名: ");</p><p>  scanf("%s",em[i].name);</p><p>  getchar();</p><p>  printf("請輸入性別(f

42、--女 m--男): ");</p><p>  scanf("%c",&em[i].sex);</p><p>  printf("請輸入年齡: ");</p><p>  scanf("%d",&em[i].age);</p><p>  prin

43、tf("請輸入學(xué)歷: ");</p><p>  scanf("%s",em[i].xueli);</p><p>  printf("請輸入工資: ");</p><p>  scanf("%d",&em[i].wage);</p><p>  pr

44、intf("請輸入住址: ");</p><p>  scanf("%s",em[i].addr);</p><p>  printf("請輸入電話: ");</p><p>  scanf("%s",em[i].tel);</p><p>  printf(

45、"\n");</p><p><b>  }</b></p><p>  printf("\n創(chuàng)建完畢!\n");</p><p><b>  save(m);</b></p><p><b>  }</b></p><

46、;p>  void save(int m) /*保存文件函數(shù)*/</p><p><b>  {</b></p><p><b>  int i;</b></p><p><b>  FILE*fp;</b></p><p>  if ((fp=fopen("

47、employee_list","wb"))==NULL)</p><p><b>  {</b></p><p>  printf ("cannot open file\n");</p><p><b>  exit(0);</b></p><p>

48、<b>  }</b></p><p>  for (i=0;i<m;i++) /*將內(nèi)存中職工的信息輸出到磁盤文件中去*/</p><p>  if (fwrite(&em[i],sizeof(struct employee),1,fp)!=1)</p><p>  printf("file write error\n

49、");</p><p>  fclose(fp);</p><p><b>  }</b></p><p>  int load() /*導(dǎo)入函數(shù)*/</p><p><b>  {</b></p><p><b>  FILE*fp;</b>

50、;</p><p><b>  int i=0;</b></p><p>  if((fp=fopen("employee_list","rb"))==NULL)</p><p><b>  {</b></p><p>  printf ("cann

51、ot open file\n");</p><p><b>  exit(0);</b></p><p><b>  }</b></p><p><b>  else </b></p><p><b>  {</b></p><

52、;p><b>  do </b></p><p><b>  {</b></p><p>  fread(&em[i],sizeof(struct employee),1,fp);</p><p><b>  i++;</b></p><p><b> 

53、 }</b></p><p>  while(feof(fp)==0);</p><p><b>  }</b></p><p>  fclose(fp);</p><p>  return(i-1);</p><p><b>  }</b></p>

54、<p>  void display() /*瀏覽函數(shù)*/</p><p><b>  {</b></p><p><b>  int i;</b></p><p>  int m=load();</p><p>  printf(" 職工號\t姓名\t\t性別\t\t年齡

55、 \n");</p><p>  for(i=0;i<m;i++) /*m為輸入部分的職工人數(shù)*/</p><p>  printf("\n %d\t\t%s\t%c\t\t%d\t\n",em[i].num,em[i].name,em[i].sex,em[i].age); </p><p>  printf("

56、\n 學(xué)歷\t\t工資\t\t住址\t\t電話 \n");</p><p>  for(i=0;i<m;i++) /*m為輸入部分的職工人數(shù)*/</p><p>  printf("\n %s\t%d\t\t%s\t%s\n",em[i].xueli,em[i].wage,em[i].addr,em[i].tel);</p>&l

57、t;p><b>  }</b></p><p>  void del() /*刪除函數(shù)*/</p><p><b>  {</b></p><p>  int m=load();</p><p>  int i,j,n,t,flag;</p><p>  char

58、name[20];</p><p>  printf("\n 原來的職工信息:\n");</p><p>  display(); </p><p>  printf("\n");</p><p>  printf("請輸入要刪除的職工的姓名:\n");</p>&l

59、t;p>  scanf("%s",name);</p><p>  for(flag=1,i=0;flag&&i<m;i++)</p><p><b>  {</b></p><p>  if(strcmp(em[i].name,name)==0)</p><p><

60、b>  {</b></p><p>  printf("\n已找到此人,原始記錄為:\n");</p><p>  printf(" 職工號\t姓名\t\t性別\t\t年齡 \n");</p><p>  printf("\n %d\t\t%s\t%c\t\t%d\t\n",em[

61、i].num,em[i].name,em[i].sex,em[i].age); </p><p>  printf("\n 學(xué)歷\t\t工資\t\t住址\t\t電話 \n");</p><p>  printf("\n %s\t%d\t\t%s\t%s\n",em[i].xueli,em[i].wage,em[i].addr,em[i].

62、tel); </p><p>  printf("\n確實要刪除此人信息請按1,不刪除請按0\n");</p><p>  scanf("%d",&n);</p><p><b>  if(n==1)</b></p><p><b>  {</b>&

63、lt;/p><p>  for(j=i;j<m-1;j++)</p><p><b>  {</b></p><p>  strcpy(em[j].name,em[j+1].name);</p><p>  em[j].num=em[j+1].num;</p><p>  em[j].sex=e

64、m[j+1].sex;</p><p>  em[j].age=em[j+1].age;</p><p>  strcpy(em[j].xueli,em[j+1].xueli);</p><p>  em[j].wage=em[j+1].wage; </p><p>  strcpy(em[j].addr,em[j+1].addr);<

65、;/p><p>  strcpy(em[j].tel,em[j+1].tel);</p><p><b>  }</b></p><p><b>  flag=0;</b></p><p><b>  }</b></p><p><b>  }&l

66、t;/b></p><p><b>  }</b></p><p><b>  if(!flag)</b></p><p><b>  m=m-1;</b></p><p><b>  else</b></p><p>  p

67、rintf("\n對不起,查無此人!\n");</p><p>  printf("\n 瀏覽刪除后的所有職工信息:\n");</p><p>  save(m); /*調(diào)用保存函數(shù)*/</p><p>  display(); /*調(diào)用瀏覽函數(shù)*/</p><p>  printf(&quo

68、t;\n繼續(xù)刪除請按1,不再刪除請按0\n");</p><p>  scanf("%d",&t);</p><p><b>  switch(t)</b></p><p><b>  {</b></p><p>  case 1:del();break;<

69、;/p><p>  case 0:break;</p><p>  default :break;</p><p><b>  }</b></p><p><b>  }</b></p><p>  void add()/*添加函數(shù)*/</p><p>&

70、lt;b>  {</b></p><p><b>  FILE*fp;</b></p><p><b>  int n;</b></p><p>  int count=0;</p><p><b>  int i;</b></p><p&

71、gt;  int m=load();</p><p>  printf("\n 原來的職工信息:\n");</p><p>  display(); </p><p>  printf("\n");</p><p>  fp=fopen("emploee_list","a

72、");</p><p>  printf("請輸入想增加的職工數(shù):\n");</p><p>  scanf("%d",&n);</p><p>  for (i=m;i<(m+n);i++)</p><p><b>  {</b></p>&

73、lt;p>  printf("\n 請輸入新增加職工的信息:\n");</p><p>  printf("請輸入職工號: ");</p><p>  scanf("%d",&em[i].num);</p><p>  printf("\n");</p>&

74、lt;p>  printf("請輸入姓名: ");</p><p>  scanf("%s",em[i].name);</p><p>  getchar();</p><p>  printf("請輸入性別(f--女 m--男): ");</p><p>  scanf

75、("%c",&em[i].sex);</p><p>  printf("請輸入年齡: ");</p><p>  scanf("%d",&em[i].age);</p><p>  printf("請輸入學(xué)歷: ");</p><p>  s

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

77、 scanf("%s",em[i].addr);</p><p>  printf("請輸入電話: ");</p><p>  scanf("%s",em[i].tel);</p><p>  printf("\n");</p><p>  count=coun

78、t+1;</p><p>  printf("已增加的人數(shù):\n");</p><p>  printf("%d\n",count);</p><p><b>  }</b></p><p>  printf("\n添加完畢!\n"); </p>

79、<p>  m=m+count;</p><p>  printf("\n瀏覽增加后的所有職工信息:\n");</p><p>  printf("\n");</p><p><b>  save(m);</b></p><p>  display();</p>

80、;<p>  fclose(fp);</p><p><b>  }</b></p><p>  void search()/*查詢函數(shù)*/</p><p><b>  {</b></p><p>  int t,flag;</p><p><b> 

81、 do</b></p><p><b>  {</b></p><p>  printf("\n按職工號查詢請按1; 按學(xué)歷查詢請按2; 按電話號碼查詢請按3; 進入主函數(shù)請按4\n");</p><p>  scanf("%d",&t);</p><p>

82、  if(t>=1&&t<=4)</p><p><b>  {</b></p><p><b>  flag=1;</b></p><p><b>  break;</b></p><p><b>  }</b></p&

83、gt;<p><b>  else</b></p><p><b>  {</b></p><p><b>  flag=0;</b></p><p>  printf("您輸入有誤,請重新選擇!");</p><p><b>  }

84、</b></p><p><b>  }</b></p><p>  while(flag==0);</p><p>  while(flag==1)</p><p><b>  {</b></p><p><b>  switch(t)</b&g

85、t;</p><p><b>  { </b></p><p>  case 1:printf("按職工號查詢\n");search_num();break;</p><p>  case 2:printf("按學(xué)歷查詢\n");search_xueli();break;</p><p

86、>  case 3:printf("按電話號碼查詢\n");search_tel();break;</p><p>  case 4:main();break;</p><p>  default:break;</p><p><b>  }</b></p><p><b>  }&l

87、t;/b></p><p><b>  }</b></p><p>  void search_num()</p><p><b>  {</b></p><p><b>  int num;</b></p><p><b>  int

88、i,t;</b></p><p>  int m=load();</p><p>  printf("請輸入要查找的職工號:\n");</p><p>  scanf("%d",&num);</p><p>  for(i=0;i<m;i++)</p><p

89、>  if(num==em[i].num)</p><p><b>  { </b></p><p>  printf("\n已找到此人,其記錄為:\n");</p><p>  printf(" 職工號\t姓名\t\t性別\t\t年齡 \n");</p><p> 

90、 printf("\n %d\t\t%s\t%c\t\t%d\t\n",em[i].num,em[i].name,em[i].sex,em[i].age); </p><p>  printf("\n 學(xué)歷\t\t工資\t\t住址\t\t電話 \n");</p><p>  printf("\n %s\t%d\t\t%s\t%

91、s\n",em[i].xueli,em[i].wage,em[i].addr,em[i].tel);</p><p><b>  break;</b></p><p><b>  }</b></p><p>  if(i==m) </p><p>  printf("\n對不起

92、,查無此人\n");</p><p>  printf("\n");</p><p>  printf("返回查詢函數(shù)請按1,繼續(xù)查詢職工號請按2\n");</p><p>  scanf("%d",&t);</p><p><b>  switch(t)

93、</b></p><p><b>  { </b></p><p>  case 1:search();break;</p><p>  case 2: break;</p><p>  default:break;</p><p><b>  }</b><

94、/p><p><b>  }</b></p><p>  void search_xueli()</p><p><b>  {</b></p><p>  char xueli[30];</p><p><b>  int i,t;</b></p&g

95、t;<p>  int m=load();</p><p>  printf("請輸入要查找的學(xué)歷:\n");</p><p>  scanf("%s",xueli);</p><p>  for(i=0;i<m;i++)</p><p>  if(strcmp(em[i].xuel

96、i,xueli)==0)</p><p><b>  {</b></p><p>  printf("\n已找到,其記錄為:\n");</p><p>  printf(" 職工號\t姓名\t\t性別\t\t年齡 \n");</p><p>  printf("\n

97、 %d\t\t%s\t%c\t\t%d\t\n",em[i].num,em[i].name,em[i].sex,em[i].age); </p><p>  printf("\n 學(xué)歷\t\t工資\t\t住址\t\t電話 \n");</p><p>  printf("\n %s\t%d\t\t%s\t%s\n",em[i].

98、xueli,em[i].wage,em[i].addr,em[i].tel); </p><p><b>  }</b></p><p><b>  if(i==m) </b></p><p>  printf("\n對不起,查無此人\n");</p><p>  printf

99、("\n");</p><p>  printf("返回查詢函數(shù)請按1,繼續(xù)查詢學(xué)歷請按2\n");</p><p>  scanf("%d",&t);</p><p><b>  switch(t)</b></p><p><b>  { &

100、lt;/b></p><p>  case 1:search();break;</p><p>  case 2:break;</p><p>  default :break;</p><p><b>  }</b></p><p><b>  }</b></p

101、><p>  void search_tel()</p><p><b>  {</b></p><p>  char tel[20];</p><p><b>  int i, t;</b></p><p>  int m=load();</p><p>

102、;  printf("請輸入要查找的電話號碼:\n");</p><p>  scanf("%s",tel);</p><p>  for(i=0;i<m;i++)</p><p>  if(strcmp(tel,em[i].tel)==0)</p><p><b>  { </

103、b></p><p>  printf("\n已找到此人,其記錄為:\n");</p><p>  printf(" 職工號\t姓名\t\t性別\t\t年齡 \n");</p><p>  printf("\n %d\t\t%s\t%c\t\t%d\t\n",em[i].num,em[i].n

104、ame,em[i].sex,em[i].age); </p><p>  printf("\n 學(xué)歷\t\t工資\t\t住址\t\t電話 \n");</p><p>  printf("\n %s\t%d\t\t%s\t%s\n",em[i].xueli,em[i].wage,em[i].addr,em[i].tel);</p>

105、;<p><b>  break;</b></p><p><b>  }</b></p><p>  if(i==m) </p><p>  printf("\n對不起,查無此人\n");</p><p>  printf("\n");<

106、;/p><p>  printf("返回查詢函數(shù)請按1,繼續(xù)查詢電話號碼請按2\n");</p><p>  scanf("%d",&t);</p><p><b>  switch(t)</b></p><p><b>  { </b></p>

107、;<p>  case 1:search();break;</p><p>  case 2:break;</p><p>  default :break;</p><p><b>  }</b></p><p><b>  }</b></p><p>  v

108、oid modify() /*修改函數(shù)*/</p><p><b>  {</b></p><p><b>  int num;</b></p><p>  char name[20];</p><p>  char sex; </p><p><b>  int

109、 age;</b></p><p>  char xueli[30];</p><p><b>  int wage;</b></p><p>  char addr[30];</p><p>  char tel[20];</p><p>  int b,c,i,n,t,flag;

110、</p><p>  int m=load();</p><p>  printf("\n 原來的職工信息:\n");</p><p>  display(); </p><p>  printf("\n");</p><p>  printf("請輸入要修改的職工的姓

111、名:\n");</p><p>  scanf("%s",name);</p><p>  for(flag=1,i=0;flag&&i<m;i++)</p><p><b>  {</b></p><p>  if(strcmp(em[i].name,name)==0

112、)</p><p><b>  {</b></p><p>  printf("\n已找到此人,原始記錄為:\n");</p><p>  printf(" 職工號\t姓名\t\t性別\t\t年齡 \n");</p><p>  printf("\n %d\t\t

113、%s\t%c\t\t%d\t\n",em[i].num,em[i].name,em[i].sex,em[i].age); </p><p>  printf("\n 學(xué)歷\t\t工資\t\t住址\t\t電話 \n");</p><p>  printf("\n %s\t%d\t\t%s\t%s\n",em[i].xueli,em

114、[i].wage,em[i].addr,em[i].tel); </p><p>  printf("\n確實要修改此人信息請按1 ; 不修改請按0\n");</p><p>  scanf("%d",&n);</p><p><b>  if(n==1)</b></p>

115、<p><b>  {</b></p><p>  printf("\n需要進行修改的選項\n 1.職工號 2.姓名 3.性別 4.年齡 5.學(xué)歷 6.工資 7.住址 8.電話\n"); </p><p>  printf("請輸入你想修改的那一項序號:\n"); </p><p>  sc

116、anf("%d",&c); </p><p>  if(c>8||c<1) </p><p>  printf("\n選擇錯誤,請重新選擇!\n"); </p><p><b>  }</b></p><p><b>  flag=0;</

117、b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(flag==1)</p><p>  printf("\n對不起,查無此人!\n"); </p><p><b>  do

118、</b></p><p><b>  {</b></p><p>  switch(c) /*因為當(dāng)找到第i個職工時,for語句后i自加了1,所以下面的應(yīng)該把改后的信息賦值給第i-1個人*/</p><p><b>  { </b></p><p>  case 1:prin

119、tf("職工號改為: ");</p><p>  scanf("%d",&num);</p><p>  em[i-1].num=num;</p><p><b>  break; </b></p><p>  case 2:printf("姓名改為: &quo

120、t;);</p><p>  scanf("%s",name);</p><p>  strcpy(em[i-1].name,name); </p><p><b>  break; </b></p><p>  case 3:printf("性別改為: ");</p>

121、;<p>  getchar();</p><p>  scanf("%c",&sex);</p><p>  em[i-1].sex=sex;</p><p><b>  break; </b></p><p>  case 4:printf("年齡改為: &quo

122、t;);</p><p>  scanf("%d",&age);</p><p>  em[i-1].age=age;</p><p><b>  break; </b></p><p>  case 5:printf("學(xué)歷改為: ");</p><

123、p>  scanf("%s",xueli);</p><p>  strcpy(em[i-1].xueli,xueli); </p><p><b>  break; </b></p><p>  case 6:printf("工資改為: ");</p><p>  sca

124、nf("%d",wage);</p><p><b>  break; </b></p><p>  case 7:printf("住址改為: ");</p><p>  scanf("%s",addr);</p><p>  strcpy(em[i-1].a

125、ddr,addr);</p><p><b>  break; </b></p><p>  case 8:printf("電話改為: ");</p><p>  scanf("%s",tel);</p><p>  strcpy(em[i-1].tel,tel); </p

126、><p><b>  break; </b></p><p><b>  } </b></p><p>  printf("\n");</p><p>  printf("\n是否確定所修改的信息?\n 是 請按1 ; 不,重新修改 請按2: \n"); &l

127、t;/p><p>  scanf("%d",&b);</p><p><b>  } </b></p><p>  while(b==2);</p><p>  printf("\n瀏覽修改后的所有職工信息:\n");</p><p>  printf

128、("\n");</p><p><b>  save(m);</b></p><p>  display();</p><p>  printf("\n繼續(xù)修改請按1,不再修改請按0\n");</p><p>  scanf("%d",&t);</

129、p><p><b>  switch(t)</b></p><p><b>  {</b></p><p>  case 1:modify();break;</p><p>  case 0:break;</p><p>  default :break;</p>

130、<p><b>  }</b></p><p><b>  }</b></p><p><b>  7.程序運行結(jié)果</b></p><p> ?。?).運行程序,進入職工信息管理系統(tǒng)的主菜單:</p><p>  圖1:進入主菜單界面</p><

131、p> ?。?).輸入數(shù)字“1”進行錄入職工信息:</p><p><b>  圖2:錄入職工信息</b></p><p> ?。?).輸入“y”返回主菜單(界面同圖1)。</p><p> ?。?).輸入“2”瀏覽職工信息:</p><p><b>  圖3:瀏覽職工信息</b></p&

132、gt;<p> ?。?).輸入“y”后繼續(xù),輸入“3”進行查詢職工信息:</p><p>  圖4:按職工號及學(xué)歷查詢職工信息</p><p>  圖5:按電話號碼查詢職工信息</p><p>  6.進入主菜單,輸入“4”進行刪除職工信息:</p><p><b>  圖6:刪除職工信息</b></

133、p><p>  7.進入主菜單輸入“5”進行添加職工信息:</p><p><b>  圖7:添加職工信息</b></p><p> ?。?).進入主菜單輸入“6”進行修改職工信息:</p><p><b>  圖8:修改職工信息</b></p><p> ?。?).進入主菜單輸

134、入”7”退出職工信息管理系統(tǒng)。</p><p>  8.編程中遇到的困難及解決方法</p><p>  在這一周的課程設(shè)計中,我的課程設(shè)計題目是:職工信息管理系統(tǒng)。一開始,接到這個題目,我們對“職工信息管理”,這個概念不是很了解,所以在機房上機時,我們查閱了許多資料,了解到即是對職工的工號,姓名,年齡,學(xué)歷等復(fù)雜多樣的信息,能夠較清晰,快捷而操作方便的現(xiàn)代化管理系統(tǒng)。弄清了這個基本概念以后

135、,我們又詳細(xì)理解了老師所講的設(shè)計要求和注意事項,大致確定了總體的設(shè)計思路,初步提出問題的解決方案,以及系統(tǒng)大致設(shè)計方案和框架,接下來我們就著手編程。在編程過程中,先是根據(jù)系統(tǒng)所要求,找出所需要的我們在c++語言課程中所學(xué)到的知識點。編完程序,我們在機房進行了一次又一次的調(diào)試,找出了其中的錯誤,一一糾正,并且修改了其中不太完善的部分,力求做到實用并且精確。相應(yīng)的解決方法:</p><p> ?。?)首先進行需求分析

136、,搞清楚系統(tǒng)功能和任務(wù);</p><p> ?。?)然后在總體設(shè)計中確定模塊結(jié)構(gòu)、劃分功能模塊,將軟件功能需求分配給所劃分的最單元模塊。確定模塊間的聯(lián)系,確定數(shù)據(jù)結(jié)構(gòu)、文件結(jié)構(gòu)、數(shù)據(jù)庫模式,確定測試方法與策略;</p><p> ?。?)在詳細(xì)設(shè)計中,為每個模塊確定采用的算法,選擇適當(dāng)?shù)墓ぞ弑磉_(dá)算法的過程(流程圖)來描述模塊的詳細(xì)過程。確定每一模塊采用的數(shù)據(jù)結(jié)構(gòu)和模塊接口的細(xì)節(jié),包括對系統(tǒng)

137、外部的接口和用戶界面,對系統(tǒng)內(nèi)部其他模塊的接口;</p><p>  (4)根據(jù)分析編寫C語言代碼。</p><p>  9.總結(jié)心得及良好建議</p><p>  在本系統(tǒng)的開發(fā)過程中,由于組是初次開發(fā)軟件,在知識、經(jīng)驗方面都存在著不足。另外,在整個開發(fā)的過程中,時間也比較倉促。因此,該系統(tǒng)必然會存在一些缺陷和不足。因為對職工信息管理的整個流程不夠熟悉,在需求分析

138、時未能做到完全滿足用戶的需求。</p><p>  盡管本管理系統(tǒng)存在著很多不足,但其功能全面、易于日后程序更新、數(shù)據(jù)庫管理容易、界面友好、操作方便、效率高、安全性好等優(yōu)點是本管理系統(tǒng)所必需的。通過開發(fā)這個系統(tǒng),我組掌握了的項目基本開發(fā)過程,用到的知識鞏固了我對C語言的學(xué)習(xí),但在這次設(shè)計中的最大收獲并不是掌握這幾門開發(fā)工具的應(yīng)用,而是學(xué)會了設(shè)計系統(tǒng)的思維方法。</p><p>  通過一周

139、的課程設(shè)計,我們對c++語言知識掌握了很多,并能將它用以程序編寫中??傊?,在這一周學(xué)到了許多知識,提高了自己的解決實際問題的能力</p><p><b>  10.致謝</b></p><p>  這次C語言的實習(xí)給我留下了深刻的印象,讓我學(xué)會了很多僅從書本上學(xué)不到的知識,這將給我未來的工作提供重大的幫助。實習(xí)過程中,讓我鞏固了C語言課程上學(xué)習(xí)的基礎(chǔ)知識,以前只操作過

140、一些簡單的程序,從來沒有這樣編過完整的程序,實習(xí)給了自己獨立編寫程序的機會。我覺得自己所學(xué)的東西可能并不多,但是能夠?qū)⑺鼈冞\用出來。在此次實習(xí)過程中,很多人熱心的給予我?guī)椭?,首先要特別感謝邵老師給我的指導(dǎo)和幫助,你那富有幽默感的教學(xué)方式,使得整個課堂的氣氛異?;钴S,大家能輕松愉悅的進行整個實習(xí)課程,同時使我在學(xué)習(xí)C語言的過程中也學(xué)到和鞏固了許多計算機應(yīng)用基礎(chǔ)知識,對計算機的機體也有了一個較為詳細(xì)的了解。在具體操作中對所學(xué)的C語言的理論知

溫馨提示

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

評論

0/150

提交評論