大學教育作為公共品的效率分析 畢業(yè)設(shè)計_第1頁
已閱讀1頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)設(shè)計(論文)</b></p><p>  題 目:大學教育作為公共品的效率分析 </p><p>  班 級:14級物聯(lián)網(wǎng)應(yīng)用技術(shù)(1)班 </p><p><b>  二〇一六年九月 </b></p><p><b>  目 錄&l

2、t;/b></p><p><b>  目 錄i</b></p><p><b>  摘 要I</b></p><p>  AbstractII</p><p><b>  一 需求分析1</b></p><p><b>  1

3、.1 引言1</b></p><p>  1.2 功能概述1</p><p>  1.3 數(shù)據(jù)描述1</p><p>  1.4 系統(tǒng)菜單1</p><p>  1.5 性能概述2</p><p>  1.6 運行需求2</p><p>  1.7 任務(wù)計劃2</

4、p><p><b>  二 概要設(shè)計8</b></p><p>  2.1 總體設(shè)計8</p><p>  2.2 數(shù)據(jù)類型設(shè)計(或數(shù)據(jù)結(jié)構(gòu)設(shè)計)8</p><p>  2.1 接口設(shè)計9</p><p>  2.3 運行界面設(shè)計9</p><p><b>

5、  三 詳細設(shè)計12</b></p><p>  3.1 輸入模塊設(shè)計12</p><p>  3.2 輸出模塊設(shè)計12</p><p>  3.3 查找模塊設(shè)計13</p><p>  3.4 刪除模塊設(shè)計15</p><p>  3.5 更改模塊設(shè)計15</p><p&g

6、t;  3.6 保存模塊設(shè)計16</p><p><b>  四 測試分析19</b></p><p>  4.1 測試程序執(zhí)行情況19</p><p>  4.2 出現(xiàn)的問題和解決的方法24</p><p>  五 課程設(shè)計總結(jié)25</p><p><b>  附 錄26&

7、lt;/b></p><p><b>  程序代碼26</b></p><p><b>  參考文獻34</b></p><p><b>  摘 要</b></p><p>  隨著網(wǎng)絡(luò)與信息技術(shù)的發(fā)展,人們的聯(lián)系人越來越多,需要聯(lián)系的人逐漸增多,需要記錄的信息也逐漸

8、增多。以前是將這些信息手寫到通訊錄中,這很容易造成信息的丟失,而且查找起來很不方便。 </p><p>  本系統(tǒng)主要實現(xiàn)同學信息的管理,包括同學信息的添加、修改、查詢和刪除,及一些輔助項目管理,如登錄系統(tǒng)用戶管理和用戶組管理。 </p><p>  系統(tǒng)的組成模塊主要包括數(shù)據(jù)集模塊,登錄窗體模塊,系統(tǒng)管理模塊,主窗體模塊,通訊錄模塊,通訊錄數(shù)據(jù)管理模塊,信息管理模塊,

9、登錄信息查詢模塊。</p><p>  關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu);C語言;模塊化程序設(shè)計;算法</p><p><b>  Abstract</b></p><p>  With the development of network and information technology, people are more and more contact

10、s, need to contact the number of people gradually increased, the need to record the information is also increasing. Before the information is written into the address book, which is very easy to cause the loss of informa

11、tion, but it is not easy to find.</p><p>  This system mainly realizes the student information management, including student information to add, modify, query and delete, and some auxiliary project managemen

12、t, such as login system user management and user group management.</p><p>  Composition module of the system includes data collection module, login form module, system management module, the main form module

13、, mail list mail list module, data management module, information management module, information query module login.</p><p>  Keywords: data structure;C language;modular programming;algorithm</p><

14、p><b>  一 需求分析</b></p><p><b>  1.1 引言</b></p><p>  通過程序設(shè)計,達到理論與實際應(yīng)用相結(jié)合,提高對信息管理系統(tǒng)的分析能力,能夠根據(jù)實際應(yīng)用,初步實現(xiàn)系統(tǒng)功能模塊及算法的設(shè)計,通過編程基本實現(xiàn)信息管理系統(tǒng)。</p><p><b>  1.2 功能概述&

15、lt;/b></p><p>  1.采用結(jié)構(gòu)體的形式對數(shù)據(jù)進行輸入輸出。</p><p>  2.可以對通訊錄進行簡單的排序,篩選,刪除。</p><p>  3.可以對任意信息就行修改。</p><p>  4.可以把數(shù)據(jù)已文件的形式輸入輸出。</p><p><b>  5.任意瀏覽信息。<

16、/b></p><p><b>  1.3 數(shù)據(jù)描述</b></p><p>  以所示的文本數(shù)據(jù)位初始數(shù)據(jù)進行簡單操作,也可另行添加。</p><p><b>  1.4 系統(tǒng)菜單</b></p><p><b>  菜單系統(tǒng) 圖一</b></p><

17、;p><b>  實現(xiàn)以上功能需求。</b></p><p><b>  1.5 性能概述</b></p><p>  1.能夠進行簡單的數(shù)據(jù)處理。</p><p>  2.具有對新信息處理打印打能力。</p><p><b>  1.6 運行需求</b></p&g

18、t;<p>  1.輸入個人信息時以例如按照“編號、姓名、年齡、電話號碼 、通訊地址 、 電子郵箱”的順序輸入。</p><p>  2.輸入時編號年齡、電話號碼、通訊地址、電子郵箱以數(shù)字格式輸入,輸入姓名以文字輸入。</p><p>  3.以(Y/N)形式判斷時,僅限N或者n為否,其他字符真。</p><p>  4.進入排序功能后,要想見排序信息

19、,到主菜單下見瀏覽信息功能。</p><p><b>  1.7 任務(wù)計劃</b></p><p><b>  1.樣例輸入和輸出</b></p><p><b>  輸入信息 圖二</b></p><p><b>  輸出信息 圖三</b></p&

20、gt;<p>  2.本通訊錄管理程序,可以對數(shù)據(jù)進行輸入輸出,集排序,修改,打印,刪除等功能。</p><p>  下面以上述數(shù)據(jù)描述的數(shù)據(jù)為測試數(shù)據(jù)進行簡單輸入輸出。</p><p>  ——1.未排序前的信息</p><p><b>  4).刪除界面:</b></p><p><b>  

21、刪除界面 圖四</b></p><p>  刪除后,通訊錄里的顯示記錄:</p><p><b>  刪除界面2 圖五</b></p><p><b>  5).查詢界面:</b></p><p><b>  查詢界面 圖六</b></p><p

22、>  以姓名查詢方式為例:</p><p><b>  查詢界面 圖七</b></p><p><b>  6).修改界面:</b></p><p><b>  修改界面 圖八</b></p><p>  修改后,通訊錄里的顯示記錄:</p><p&g

23、t;<b>  修改界面 圖九</b></p><p><b>  7).保存界面:</b></p><p><b>  保存界面 圖十</b></p><p>  tongxunlu.txt文件截圖:</p><p><b>  文件截圖 圖十一</b>

24、</p><p><b>  二 概要設(shè)計</b></p><p><b>  2.1 總體設(shè)計</b></p><p>  添加:可以添加通訊錄記錄,依次輸入編號、姓名、年齡、電話號碼、通訊地址、電子郵箱后,會提示是否繼續(xù)添加。</p><p>  顯示:可以以表格形式輸出所有通訊錄里的記錄<

25、;/p><p>  刪除:輸入欲刪除的那個人的名字后,會自動刪除他(她)的記錄內(nèi)容</p><p>  查詢:可以選擇用姓名、電話、地址三種方式查詢</p><p>  修改:輸入欲修改的那個人的名字后,再依次輸入編號、姓名、年齡、電話號碼、通訊地址、電子郵箱即可完成修改</p><p>  保存:,輸入文件名(帶后綴名)后,即可將通訊錄信息保存

26、到文件</p><p>  2.2 數(shù)據(jù)類型設(shè)計(或數(shù)據(jù)結(jié)構(gòu)設(shè)計)</p><p>  typedef struct </p><p><b>  { </b></p><p>  char score; /*編號*/</p><p>  char name[10];

27、 /*姓名*/ </p><p>  char num[15]; /*號碼*/ </p><p>  char email[20];/*郵箱*/</p><p>  char age[8];/*年齡*/</p><p>  char adds[20];/*住址*/</p&g

28、t;<p><b>  }Person;</b></p><p>  以結(jié)構(gòu)體數(shù)組類型輸入數(shù)據(jù)。</p><p><b>  接口設(shè)計 </b></p><p><b>  表2.1:函數(shù)列表</b></p><p>  2.3 運行界面設(shè)計</p&

29、gt;<p>  void main() /*主函數(shù)*/ </p><p><b>  { </b></p><p><b>  int n=0; </b></p><p><b>  for(;;) </b>

30、;</p><p><b>  { </b></p><p>  switch(menu_select()) </p><p><b>  { </b></p><p><b>  case 1: </b></p><p>  printf("

31、\n\t添加記錄到通訊錄\n"); /*添加記錄*/ </p><p>  n=Input(pe,n); </p><p><b>  break; </b></p><p><b>  case 2: </b></p><p>  printf(

32、"\n\t\t\t 通訊錄記錄表\n"); /*顯示記錄*/ </p><p>  Display(pe,n); </p><p><b>  break;</b></p><p><b>  case 3: </b></p><p>  

33、printf("\n\t從通訊錄中刪除記錄\n"); </p><p>  n=Delete_a_record(pe,n); /*刪除記錄*/ </p><p>  printf("\t"); </p><p>  system("pause"); </p><p>

34、;<b>  break; </b></p><p><b>  case 4: </b></p><p>  printf("\n\t在通訊錄中查找記錄\n"); </p><p>  Query_a_record(pe,n); /*查找記錄*/ </p><p

35、>  printf("\t"); </p><p>  system("pause"); </p><p><b>  break;</b></p><p><b>  case 5: </b></p><p>  printf("\n\t修改

36、通訊錄中的記錄\n"); </p><p>  Change(pe,n); /*修改數(shù)據(jù)*/ </p><p>  printf("\t"); </p><p>  system("pause"); </p><p><b>  break; </b>

37、;</p><p><b>  case 6: </b></p><p>  printf("\n\t保存功能\n"); </p><p>  WritetoText(pe,n); /*保存數(shù)據(jù)*/ </p><p>  printf("\t"); <

38、;/p><p>  system("pause"); </p><p><b>  break; </b></p><p><b>  case 0: </b></p><p>  printf("\n\t\t謝謝使用,再見!\n");

39、 /*結(jié)束程序*/ </p><p>  printf("\n\t\t"); </p><p>  system("pause"); </p><p><b>  exit(0); </b></p><p><b>  } </b></p

40、><p><b>  } </b></p><p><b>  }</b></p><p>  以switch為關(guān)鍵控制選著要調(diào)用函數(shù)的開關(guān),然后以主菜單為主界面,其他功能為擴展界面來運行通訊錄管理系統(tǒng)。</p><p><b>  主菜單代碼為:</b></p>&

41、lt;p>  int menu_select() </p><p><b>  { </b></p><p><b>  char c; </b></p><p><b>  do{ </b></p><p>  system("cls"); <

42、/p><p>  printf("\t\t *****通訊錄***** \n"); </p><p>  printf("\t\t |----------------------------------|\n"); </p><p> 

43、 printf("\t\t│ 1. 添加記錄 │\n"); </p><p>  printf("\t\t│ 2. 顯示記錄 │\n"); </p><p>  printf("\t\t│ 3. 刪除記錄 │\n"); </p><p>  printf(&q

44、uot;\t\t│ 4. 查詢記錄 │\n"); </p><p>  printf("\t\t│ 5. 修改記錄 │\n"); </p><p>  printf("\t\t│ 6. 保存記錄 │\n");</p><p>  printf("\t\t│

45、 0. 退出程序 │\n"); </p><p>  printf("\t\t\|----------------------------------|n"); </p><p>  printf("\t\t請您選擇(0-6):"); </p><p>  c=getchar(); </p>

46、<p>  }while(c<'0'||c>'6'); </p><p>  return(c-'0'); </p><p><b>  } </b></p><p>  如圖所示為主要運行界面:</p><p><b>  主程序 圖十

47、二</b></p><p><b>  三 詳細設(shè)計</b></p><p>  3.1 輸入模塊設(shè)計</p><p>  int Input(Person per[],int n) </p><p><b>  {</b></p><p><b>  

48、int i=0; </b></p><p>  char sign,x[10]; </p><p>  while(sign!='n'&&sign!='N') </p><p><b>  { </b></p><p>

49、  printf("\t編號:"); </p><p>  scanf("\t%d",&per[n+i].score); </p><p>  printf("\t姓名:"); </p><p>  scanf("\t%s",per[n+i].name); </p>

50、<p>  printf("\t年齡:"); </p><p>  scanf("\t%s",per[n+i].age);</p><p>  printf("\t電話號碼:"); </p><p>  scanf("\t%s",per[n+i].num); </p&g

51、t;<p>  printf("\t通訊住址:"); </p><p>  scanf("\t%s",per[n+i].adds);</p><p>  printf("\t電子郵箱:");</p><p>  scanf("\t%s",per[n+i].email);&l

52、t;/p><p>  gets(x); </p><p>  printf("\n\t是否繼續(xù)添加?(Y/N)"); </p><p>  scanf("\t%c",&sign); </p><p><b>  i++; </b></p><p>&

53、lt;b>  } </b></p><p>  return(n+i); </p><p><b>  } </b></p><p>  3.2 輸出模塊設(shè)計</p><p>  void Display(Person per[],int n)

54、 </p><p><b>  { </b></p><p><b>  int i; </b></p><p>  printf("----------------------------------------------------------------------\n");

55、 /*格式*/ </p><p>  printf("編號 姓名 年齡 電話號碼 通訊地址 電子郵箱\n"); </p><p>  printf("-----------------------------------------------------------------

56、-----\n"); </p><p>  for(i=1;i<n+1;i++) </p><p><b>  { </b></p><p>  printf("%-5d%-8s%-6s%-13s%-1

57、5s%-15s\n",per[i-1].score,per[i-1].name,per[i-1].age,per[i-1].num,per[i-1].adds,per[i-1].email); </p><p>  if(i>1&&i%10==0) </p>

58、<p><b>  {</b></p><p>  printf("\t-----------------------------------\n"); </p><p>  printf("\t"); </p><p>  system("pause"); </p

59、><p>  printf("\t-----------------------------------\n"); </p><p><b>  } </b></p><p><b>  } </b></p><p>  printf("------------------

60、----------------------------------------------------\n");</p><p>  system("pause"); </p><p><b>  } </b></p><p>  3.3 查找模塊設(shè)計</p><p>  void Que

61、ry_a_record(Person per[],int n) </p><p><b>  { </b></p><p><b>  int m;</b></p><p>  printf("\t\n請選擇查詢方式:\n");</p><p>  printf("\t

62、┌──────┐\n");</p><p>  printf("\t│1------姓名 │\n");</p><p>  printf("\t│2------電話 │\n");</p><p>  printf("\t│3------地址 │\n");</p><p> 

63、 printf("\t│4------返回 │\n");</p><p>  printf("\t└──────┘\n");</p><p>  printf("請選擇:");</p><p>  scanf("%d",&m);</p><p>  whi

64、le(m!=1&&m!=2&&m!=3&&m!=4)</p><p><b>  { </b></p><p>  printf("輸入錯誤,請重新選擇:");</p><p>  scanf("%d",&m);</p><p&g

65、t;<b>  }</b></p><p><b>  if(m==1)</b></p><p><b>  {</b></p><p>  char s[20]; </p><p><b>  int i=0; </b></p><p

66、>  printf("\t請輸入想查詢的姓名:"); </p><p>  scanf("\t%s",s); </p><p>  while(strcmp(per[i].name,s)!=0&&i<n) i++; </p><p><b>  if(i==n) </b><

67、;/p><p><b>  {</b></p><p>  printf("\t通訊錄中沒有此人!\n"); </p><p><b>  return; </b></p><p><b>  } </b></p><p>  print

68、f("\t此人編號: %d\n",per[i].score);</p><p>  printf("\t此人年齡: %s\n",per[i].age); </p><p>  printf("\t電話號碼: %s\n",per[i].num); </p><p>  printf("\t通訊地址:

69、 %s\n",per[i].adds);</p><p>  printf("\t電子郵箱: %s\n",per[i].email);</p><p><b>  } ;</b></p><p><b>  if(m==2)</b></p><p><b> 

70、 {</b></p><p>  char s[20]; </p><p><b>  int i=0; </b></p><p>  printf("\t請輸入想查詢的電話:"); </p><p>  scanf("\t%s",s); </p><

71、;p>  while(strcmp(per[i].num,s)!=0&&i<n) i++; </p><p><b>  if(i==n) </b></p><p><b>  {</b></p><p>  printf("\t通訊錄中沒有此人!\n"); </p&g

72、t;<p><b>  return; </b></p><p><b>  } </b></p><p>  printf("\t此人編號: %d\n",per[i].score);</p><p>  printf("\t此人姓名: %s\n",per[i].nam

73、e);</p><p>  printf("\t此人年齡: %s\n",per[i].age); </p><p>  printf("\t通訊地址: %s\n",per[i].adds);</p><p>  printf("\t電子郵箱: %s\n",per[i].email);</p>

74、<p><b>  } ;</b></p><p><b>  if(m==3)</b></p><p><b>  {</b></p><p>  char s[20]; </p><p><b>  int i=0; </b></p&g

75、t;<p>  printf("\t請輸入想查詢的地址:"); </p><p>  scanf("\t%s",s); </p><p>  while(strcmp(per[i].adds,s)!=0&&i<n) i++; </p><p><b>  if(i==n) <

76、/b></p><p><b>  { </b></p><p>  printf("\t通訊錄中沒有此人!\n"); </p><p><b>  return; </b></p><p><b>  } </b></p><p&

77、gt;  printf("\t此人編號: %d\n",per[i].score);</p><p>  printf("\t此人姓名: %s\n",per[i].name);</p><p>  printf("\t此人年齡: %s\n",per[i].age); </p><p>  printf(&qu

78、ot;\t電話號碼: %s\n",per[i].num); </p><p>  printf("\t電子郵箱: %s\n",per[i].email);</p><p><b>  } ;</b></p><p><b>  }</b></p><p>  3.4 刪

79、除模塊設(shè)計</p><p>  int Delete_a_record(Person per[],int n) </p><p><b>  { </b></p><p>  char s[20]; </p><p>  int i=0,j; </p><p>  printf("\t請

80、輸入想刪除記錄中的名字:"); </p><p>  scanf("%s",s); </p><p>  while(strcmp(per[i].name,s)!=0&&i<n) i++; </p><p><b>  if(i==n) </b></p><p><

81、;b>  {</b></p><p>  printf("\t通訊錄中沒有此人!\n"); </p><p>  return(n); </p><p><b>  } </b></p><p>  for(j=i;j<n-1;j++)</p><p>

82、<b>  { </b></p><p>  strcpy(per[j].num,per[j+1].num); </p><p>  strcpy(per[j].name,per[j+1].name); </p><p>  strcpy(per[j].age,per[j+1].age);</p><p>  strcp

83、y(per[j].adds,per[j+1].adds);</p><p>  strcpy(per[j].email,per[j+1].email);</p><p>  per[j].score=per[j+1].score; </p><p><b>  } </b></p><p>  printf("

84、\t\t\t已經(jīng)成功刪除!\n"); </p><p>  return(n-1); </p><p><b>  } </b></p><p>  3.5 更改模塊設(shè)計</p><p>  void Change(Person per[],int n) </p><p><b&g

85、t;  {</b></p><p>  char s[20]; </p><p><b>  int i=0; </b></p><p>  printf("\t請輸入想修改的記錄中的名字:"); </p><p>  scanf("%s",s); </p>

86、<p>  while(strcmp(per[i].name,s)!=0&&i<n) i++; </p><p><b>  if(i==n) </b></p><p><b>  { </b></p><p>  printf("\t通訊錄中沒有此人!\n"); &

87、lt;/p><p><b>  return; </b></p><p><b>  } </b></p><p>  printf("\t編號:"); </p><p>  scanf("\t%d",&per[i].score); </p>

88、<p>  printf("\t姓名:"); </p><p>  scanf("\t%s",per[i].name); </p><p>  printf("\t年齡:"); </p><p>  scanf("\t%s",per[i].age);</p>&

89、lt;p>  printf("\t電話號碼:"); </p><p>  scanf("\t%s",per[i].num); </p><p>  printf("\t通訊住址:"); </p><p>  scanf("\t%s",per[i].adds);</p>

90、<p>  printf("\t電子郵箱:");</p><p>  scanf("\t%s",per[i].email);</p><p>  printf("\t修改成功!");</p><p><b>  }</b></p><p>  3.6

91、 保存模塊設(shè)計</p><p>  void WritetoText(Person per[],int n) </p><p><b>  { </b></p><p><b>  int i=0; </b></p><p>  FILE *fp;

92、 /*定義文件指針*/ </p><p>  char filename[20]; /*定義文件名*/ </p><p>  printf("\t保存到文件\n"); /*輸入文件名*/ </p

93、><p>  printf("\t請輸入所保存的文件名:"); </p><p>  scanf("\t%s",filename); </p><p>  if((fp=fopen(filename,"w"))==NULL) </p><p><

94、b>  { </b></p><p>  printf("\t無法打開文件\n"); </p><p>  system("pause"); </p><p><b>  return; </b></p><p><b>  } </b>&l

95、t;/p><p>  fprintf(fp,"******************************************通訊錄******************************************\n");</p><p>  fprintf(fp,"編號 姓名 年齡 電話號碼 通訊地址

96、 電子郵箱\n");</p><p>  fprintf(fp,"------------------------------------------------------------------------------------------\n");</p><p>  while(i<n) </p><p>&

97、lt;b>  { </b></p><p>  fprintf(fp,"%-3d\t%-6s\t%-3s\t%-13s\t%-20s\t%-20s\n",per[i].score,per[i].name,per[i].age,per[i].num,per[i].adds,per[i].email); </p><p><b>  i++; &

98、lt;/b></p><p><b>  }</b></p><p>  fprintf(fp,"------------------------------------------------------------------------------------------\n");</p><p>  fprin

99、tf(fp,"***************************************共有%d條記錄****************************************\n",n); </p><p>  fclose(fp); /*關(guān)閉文件*/ </p><p>

100、  printf("保存成功!\n"); </p><p><b>  } </b></p><p>  void main() /*主函數(shù)*/ </p><p><b>  { </b></p>

101、<p><b>  int n=0; </b></p><p><b>  for(;;) </b></p><p><b>  { </b></p><p>  switch(menu_select()) </p><p><b>  { </b&

102、gt;</p><p><b>  case 1: </b></p><p>  printf("\n\t添加記錄到通訊錄\n"); /*添加記錄*/ </p><p>  n=Input(pe,n); </p><p><b>  break; &l

103、t;/b></p><p><b>  case 2: </b></p><p>  printf("\n\t\t\t 通訊錄記錄表\n"); /*顯示記錄*/ </p><p>  Display(pe,n); </p><p><b>  

104、break;</b></p><p><b>  case 3: </b></p><p>  printf("\n\t從通訊錄中刪除記錄\n"); </p><p>  n=Delete_a_record(pe,n); /*刪除記錄*/ </p><p>  pri

105、ntf("\t"); </p><p>  system("pause"); </p><p><b>  break; </b></p><p><b>  case 4: </b></p><p>  printf("\n\t在通訊錄中查找記錄\

106、n"); </p><p>  Query_a_record(pe,n); /*查找記錄*/ </p><p>  printf("\t"); </p><p>  system("pause"); </p><p><b>  break;</b>&l

107、t;/p><p><b>  case 5: </b></p><p>  printf("\n\t修改通訊錄中的記錄\n"); </p><p>  Change(pe,n); /*修改數(shù)據(jù)*/ </p><p>  printf("\t"); </p&g

108、t;<p>  system("pause"); </p><p><b>  break; </b></p><p><b>  case 6: </b></p><p>  printf("\n\t保存功能\n"); </p><p>  W

109、ritetoText(pe,n); /*保存數(shù)據(jù)*/ </p><p>  printf("\t"); </p><p>  system("pause"); </p><p><b>  break; </b></p><p><b>  cas

110、e 0: </b></p><p>  printf("\n\t\t謝謝使用,再見!\n"); /*結(jié)束程序*/ </p><p>  printf("\n\t\t"); </p><p>  system("pause"); </p>&

111、lt;p><b>  exit(0); </b></p><p><b>  } </b></p><p><b>  } </b></p><p><b>  } </b></p><p><b>  四 測試分析</b>&l

112、t;/p><p>  4.1 測試程序執(zhí)行情況</p><p>  1).顯示的主菜單界面</p><p><b>  主菜單 圖十三</b></p><p><b>  2).添加界面:</b></p><p><b>  添加界面 圖十四</b><

113、/p><p><b>  3).顯示界面:</b></p><p><b>  顯示菜單 圖十五</b></p><p><b>  4).刪除界面:</b></p><p><b>  刪除界面 圖十六</b></p><p>  刪

114、除后,通訊錄里的顯示記錄:</p><p><b>  顯示界面 圖十七</b></p><p><b>  5).查詢界面:</b></p><p><b>  查詢界面 圖十八</b></p><p>  以姓名查詢方式為例:</p><p><

115、;b>  查詢界面 圖十九</b></p><p><b>  6).修改界面:</b></p><p><b>  修改界面 圖二十</b></p><p>  修改后,通訊錄里的顯示記錄:</p><p><b>  顯示界面 圖二十一</b></p

116、><p><b>  7).保存界面:</b></p><p><b>  保存界面 圖二十二</b></p><p>  大部分功能以按上面圖文描述,有不足的地方請老師批評指正。</p><p>  您的建議將幫我走得更好。</p><p>  4.2 出現(xiàn)的問題和解決的方法&

117、lt;/p><p>  1.當我在進行刪除、查詢、修改、保存等功能時,以查詢?yōu)槔?,輸入名字按回車后,雖然會顯示該人的所有記錄,但是顯示后,它馬上自動消失了,還沒來得及等我看內(nèi)容。因此,向別人請教后,在一些地方加入了system("pause");這個語言,用來對某項操作完成后進行暫停。</p><p><b>  五 課程設(shè)計總結(jié)</b></p&

118、gt;<p>  這次的程序?qū)嵲O(shè)計實驗是對我們進入大學以來學習程序設(shè)計語言結(jié)果的一次大檢驗。自己動手,自己發(fā)現(xiàn)和解決問題。發(fā)現(xiàn)了自己的許多不足。平時沒有掌握好的知識在這次實驗中徹底暴露出來,經(jīng)過不斷思考,不斷查閱資料和上機運行,解決其中大部分問題,當然還存在一些問題沒有解決。我相信在以后的學習能夠解決好它們。但是,收獲還是不小的,我不僅對C的操作有了進一步的掌握,還了解到了程序設(shè)計的書寫風格及其注釋的格式。</p&g

119、t;<p>  當我選擇通訊錄這個題目時,一開始想運用大量鏈表及指針來完成,但是在慢慢琢磨之后,覺得這個不一定要用鏈表,于是改變了編程思路。當然還有不少文件的讀寫問題,不過還是通過不斷測試之后順利解決了。另外一點要說的就是這個程序用了很多的循環(huán),因此對于循環(huán)的控制要十分小心,有時while和do-while的區(qū)別也是十分重要的。</p><p>  還有一點體會就是,書上和老師教的內(nèi)容是有限的,我們

120、需要不斷地靠自己去學習,向他人請教,了解和掌握更多的知識,這樣我們才能編出更好的C程序。</p><p>  總體來說,這次C語言程序設(shè)計實驗還是比較成功的,雖然最終程序還存在一些不足,但能取得這樣的成績我還是比較高興的。</p><p>  最后,要感謝學校為我們提供這次實驗機會,也要感謝老師的教導和好心人對我的幫助與支持。</p><p><b>  

121、附 錄</b></p><p><b>  程序代碼</b></p><p>  #include<stdio.h> </p><p>  #include<stdlib.h></p><p>  #include<string.h> </p><p&g

122、t;  typedef struct </p><p><b>  { </b></p><p>  char score; /*編號*/</p><p>  char name[10]; /*姓名*/ </p><p>  char num[15];

123、 /*號碼*/ </p><p>  char email[20]; /*郵箱*/</p><p>  char age[8]; /*年齡*/</p><p>  char adds[20]; /*住址*/</p><p><b>  }Person; </b></p>

124、;<p>  Person pe[80]; </p><p>  int menu_select() </p><p><b>  { </b></p><p><b>  char c; </b></p><p><b>  d

125、o{ </b></p><p>  system("cls"); </p><p>  printf("\t\t *****通訊錄***** \n"); </p><p>  printf("\t\t |---------------------

126、-------------|\n"); </p><p>  printf("\t\t│ 1. 添加記錄 │\n"); </p><p>  printf("\t\t│ 2. 顯示記錄 │\n"); </p><p>  printf("\

127、t\t│ 3. 刪除記錄 │\n"); </p><p>  printf("\t\t│ 4. 查詢記錄 │\n"); </p><p>  printf("\t\t│ 5. 修改記錄 │\n"); </p><p>  printf("\t\t│ 6

128、. 保存記錄 │\n");</p><p>  printf("\t\t│ 0. 退出程序 │\n"); </p><p>  printf("\t\t\|----------------------------------|n"); </p><p>  printf("\t\t請

129、您選擇(0-6):"); </p><p>  c=getchar(); </p><p>  }while(c<'0'||c>'6'); </p><p>  return(c-'0'); </p><p><b>  } </b></p&g

130、t;<p>  int Input(Person per[],int n) </p><p><b>  {</b></p><p><b>  int i=0; </b></p><p>  char sign,x[10]; </p><p>

131、;  while(sign!='n'&&sign!='N') </p><p><b>  { </b></p><p>  printf("\t編號:"); </p><p>  scanf("\t%d",&per[n+i].score); <

132、;/p><p>  printf("\t姓名:"); </p><p>  scanf("\t%s",per[n+i].name); </p><p>  printf("\t年齡:"); </p><p>  scanf("\t%s",per[n+i].age);&

133、lt;/p><p>  printf("\t電話號碼:"); </p><p>  scanf("\t%s",per[n+i].num); </p><p>  printf("\t通訊住址:"); </p><p>  scanf("\t%s",per[n+i].a

134、dds);</p><p>  printf("\t電子郵箱:");</p><p>  scanf("\t%s",per[n+i].email);</p><p>  gets(x); </p><p>  printf("\n\t是否繼續(xù)添加?(Y/N)"); </p&

135、gt;<p>  scanf("\t%c",&sign); </p><p><b>  i++; </b></p><p><b>  } </b></p><p>  return(n+i); </p><p><b>  } </b&g

136、t;</p><p>  void Display(Person per[],int n) </p><p><b>  { </b></p><p><b>  int i; </b></p><p>  printf

137、("----------------------------------------------------------------------\n"); /*格式*/ </p><p>  printf("編號 姓名 年齡 電話號碼 通訊地址 電子郵箱\n"); </p>&l

138、t;p>  printf("----------------------------------------------------------------------\n"); </p><p>  for(i=1;i<n+1;i++) </p>&

139、lt;p><b>  { </b></p><p>  printf("%-5d%-8s%-6s%-13s%-15s%-15s\n",per[i-1].score,per[i-1].name,per[i-1].age,per[i-1].num,per[i-1].adds,per[i-1].email); </p><p>  if(i>

140、1&&i%10==0) </p><p><b>  {</b></p><p>  printf("\t-----------------------------------\n"); </p><

141、p>  printf("\t"); </p><p>  system("pause"); </p><p>  printf("\t-----------------------------------\n"); </p><p><b>  } </b></p>

142、<p><b>  } </b></p><p>  printf("----------------------------------------------------------------------\n");</p><p>  system("pause"); </p><p>

143、<b>  } </b></p><p>  int Delete_a_record(Person per[],int n) </p><p><b>  { </b></p><p>  char s[20]; </p><p>  int i=0,j; </p><p>

溫馨提示

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

評論

0/150

提交評論