通訊管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第1頁(yè)
已閱讀1頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  目錄</b></p><p>  一.課程設(shè)計(jì)的目的1</p><p><b>  二.功能說(shuō)明1</b></p><p><b>  三.詳細(xì)設(shè)計(jì)1</b></p><p>  3.1.通訊錄管理系統(tǒng)功能說(shuō)明圖:1</p>

2、<p>  3.2 數(shù)據(jù)結(jié)構(gòu)及各模塊分析2</p><p>  3.2.1.設(shè)計(jì)類,對(duì)象及基本數(shù)據(jù)類型:2</p><p>  3.2.2.結(jié)構(gòu)體:3</p><p>  3.3設(shè)計(jì)流程圖 3</p><p>  3.4.1.調(diào)試分析:5</p><p>  3.4.3.使用說(shuō)明:7<

3、;/p><p><b>  四.程序?qū)崿F(xiàn)7</b></p><p>  4.1.源碼分析7</p><p>  4.4.1 全部源代碼7</p><p>  4.1.1.通訊錄系統(tǒng).c的分析17</p><p>  1.運(yùn)行進(jìn)入程序主菜單17</p><p>  

4、4.3調(diào)試時(shí)遇到的問(wèn)題及解決21</p><p>  4.4算法的改進(jìn)設(shè)想22</p><p><b>  結(jié)束語(yǔ)23</b></p><p><b>  參考文獻(xiàn)24</b></p><p><b>  課程設(shè)計(jì)的目的</b></p><p>

5、  通過(guò)設(shè)計(jì)一個(gè)《通訊錄管理系統(tǒng)》,進(jìn)一步熟悉C中類的概念、基本知識(shí)和技利用所學(xué)的基本知識(shí)和技能解決簡(jiǎn)單的面向?qū)ο蟮某绦蛟O(shè)計(jì)問(wèn)題。了解系統(tǒng)開(kāi)發(fā)的需求分析、類層次設(shè)計(jì)、模塊分解、編碼測(cè)試、模塊組裝與整體調(diào)試的全過(guò)程,加深對(duì)C的理解與Visual C++環(huán)境的使用:逐步熟悉程序設(shè)計(jì)的方法,并養(yǎng)成良好的編程習(xí)慣。</p><p><b>  二.功能說(shuō)明</b></p><p&

6、gt;<b>  添加:</b></p><p>  系統(tǒng)將提示用戶輸入新添加人員信息,輸入到文件中,人員信息數(shù)據(jù)包括姓名(name),街道(street),城市(city),郵編(eip),國(guó)家(state).</p><p><b>  刪除:</b></p><p>  首先由用戶輸入要?jiǎng)h除的人員的姓名,然后調(diào)用刪除

7、函數(shù),刪除該人員的所有相關(guān)資料.</p><p><b>  顯示所有人員信息:</b></p><p>  該功能將顯示已經(jīng)保存的所有人員的姓名,街道,城市,郵編及國(guó)家.</p><p>  查詢:可由用戶輸入要查找的人員姓名,然后系統(tǒng)用查找函數(shù)查找,接著系統(tǒng)使用相關(guān)文件命令輸出所查找的人員的全部信息.</p><p>

8、;<b>  退出系統(tǒng)</b></p><p>  關(guān)閉通訊錄管理系統(tǒng).</p><p><b>  三.詳細(xì)設(shè)計(jì)</b></p><p>  通訊錄管理系統(tǒng)功能說(shuō)明圖:</p><p><b>  通訊錄管理系統(tǒng)</b></p><p>  3.2 數(shù)

9、據(jù)結(jié)構(gòu)及各模塊分析</p><p>  設(shè)計(jì)類,對(duì)象及基本數(shù)據(jù)類型:</p><p>  創(chuàng)建一個(gè)Person類,它有六個(gè)數(shù)據(jù)成員:</p><p>  char score; /*編號(hào)*/</p><p>  char name[10]; /*姓名*/ </p><p>

10、  char num[15]; /*號(hào)碼*/ </p><p>  char email[20];/*郵箱*/</p><p>  char age[8];/*年齡*/</p><p>  char adds[20]; /*地址*/</p><p>  包含函數(shù):

11、 功能如下:</p><p>  int menu(); 主菜單</p><p>  int Input (); 添加聯(lián)系人</p><p>  int Delete(); 刪除聯(lián)系人 </p&

12、gt;<p>  void search(); 查詢聯(lián)系人</p><p>  void change(); 修改聯(lián)系人</p><p>  void Display(); 顯示所有 </p><p>  void Writeto

13、Text(); 寫入文件 </p><p><b>  結(jié)構(gòu)體:</b></p><p>  typedef struct </p><p><b>  { </b></p><p>  char score; /*編號(hào)*/</p&g

14、t;<p>  char name[10]; /*姓名*/ </p><p>  char num[15]; /*號(hào)碼*/ </p><p>  char email[20];/*郵箱*/</p><p>  char age[8];/*年齡*/</p><p>  c

15、har adds[20];/*住址*/</p><p><b>  }Person;</b></p><p><b>  3.3設(shè)計(jì)流程圖 </b></p><p><b>  通訊錄管理系統(tǒng)</b></p><p>  3.4調(diào)試分析及心得體會(huì)</p>

16、<p>  3.4.1.調(diào)試分析:</p><p>  void load()//從文件導(dǎo)入 </p><p><b>  { </b></p><p>  if((fp=fopen("student","rb"))==NULL) //打開(kāi)文件進(jìn)行讀的操作</p><p&g

17、t;<b>  { </b></p><p>  printf("\n\t\t通訊錄文件不存在"); </p><p>  if ((fp=fopen("student","wb"))==NULL)//打開(kāi)文件進(jìn)行讀的操作 </p><p><b>  { </b>

18、;</p><p>  printf("\n\t\t建立失敗"); </p><p><b>  exit(0); </b></p><p><b>  } </b></p><p><b>  else </b></p><p>&

19、lt;b>  { </b></p><p>  printf("\n\t\t通訊錄文件已建立"); </p><p>  printf("\n\t\t按任意鍵進(jìn)入主菜單"); </p><p>  getch(); //從鍵盤接收一個(gè)字符</p><p><b>  } &l

20、t;/b></p><p>  return; //返回主函數(shù)的主菜單</p><p><b>  } </b></p><p><b>  exit(0); </b></p><p><b>  }</b></p><p>  3.4.2.心得體

21、會(huì)</p><p>  程序編寫之前需求分析,至關(guān)重要,將關(guān)系這整個(gè)項(xiàng)目的成敗.</p><p>  一名優(yōu)秀程序員的成長(zhǎng),需要付出很多很多,編程是每天必需。</p><p>  熟能生巧,這次在用指針處理雙向鏈表時(shí),以前對(duì)這塊內(nèi)容并不十分清楚,這次感覺(jué)很吃力,所以在今后的編程之中,盡可能把基本技能練習(xí)熟。</p><p>  做軟件最終是滿

22、足用戶的需求,所以做軟件時(shí)應(yīng)一切應(yīng)以用記為導(dǎo)向.</p><p>  3.4.3.使用說(shuō)明:</p><p><b>  A.運(yùn)行環(huán)境:</b></p><p>  Microsoft Visual C++6.0</p><p>  B.在此,把軟件使用過(guò)程寫出,并對(duì)此程序的一些細(xì)節(jié)和具體的操作方法加以說(shuō)明,說(shuō)明如下:&

23、lt;/p><p>  C.將軟件進(jìn)行初始化,即在VC++6.0中運(yùn)行該程序,進(jìn)入程序主界面,提示導(dǎo)入通訊錄,然后進(jìn)入主菜單。</p><p>  界面面顯示的是“主菜單”,主菜單有五個(gè)方面:</p><p><b>  1,添加聯(lián)系人</b></p><p><b>  2,刪除聯(lián)系人</b><

24、/p><p><b>  3,查詢聯(lián)系人</b></p><p><b>  4,修改聯(lián)系人</b></p><p><b>  5,保存聯(lián)系人</b></p><p><b>  0,退出系統(tǒng)</b></p><p>  查詢菜單包裹

25、三個(gè)方面</p><p><b>  0,顯示所有</b></p><p><b>  1,姓名查詢</b></p><p><b>  2,電話查詢</b></p><p>  3,返回主菜單 </p><p>  D.輸入和存取人員信息,選擇菜單

26、界面的第1個(gè)選擇進(jìn)入此選擇界面,根據(jù)提示,輸入信息相關(guān)信息。</p><p>  E. 按“2”刪除指定聯(lián)系人.</p><p>  F. 按"3"顯示查詢的菜單。</p><p>  G. 按“4”修改指定聯(lián)系人</p><p>  H.按“5”將輸入的聯(lián)系人信息保存到文件中。</p><p> 

27、 I.按“0”退出通訊錄。</p><p><b>  四.程序?qū)崿F(xiàn)</b></p><p><b>  源碼分析</b></p><p>  4.4.1 全部源代碼</p><p>  //C課程設(shè)計(jì)---通訊錄</p><p>  #include<stdio.h&

28、gt; </p><p>  #include<stdlib.h></p><p>  #include<string.h> </p><p>  typedef struct </p><p><b>  { </b></p><p>  char score;

29、 /*編號(hào)*/</p><p>  char name[10]; /*姓名*/ </p><p>  char num[15]; /*號(hào)碼*/ </p><p>  char email[20];/*郵箱*/</p><p>  char age[8];/*年齡*/

30、</p><p>  char adds[20];/*住址*/</p><p><b>  }Person; </b></p><p>  Person pe[80]; </p><p>  int menu() </p><p><b&

31、gt;  { </b></p><p><b>  FILE *fp;</b></p><p><b>  char c; </b></p><p><b>  do{ </b></p><p>  system("cls"); </p&g

32、t;<p>  printf("\t\t\t正在導(dǎo)入通訊錄......... \n");</p><p>  if((fp=fopen("student.txt","rb"))==NULL) //打開(kāi)文件進(jìn)行讀的操作</p><p><b>  { </b></p><p&g

33、t;  printf("\n\t\t通訊錄文件不存在"); </p><p>  if ((fp=fopen("student","wb"))==NULL)//打開(kāi)文件進(jìn)行讀的操作 </p><p><b>  { </b></p><p>  printf("\n\t\t建

34、立失敗"); </p><p><b>  exit(0); </b></p><p><b>  } </b></p><p><b>  else </b></p><p><b>  { </b></p><p> 

35、 printf("\n\t\t通訊錄文件已建立"); </p><p>  printf("\n\t\t按任意鍵進(jìn)入主菜單");</p><p><b>  }</b></p><p>  //system("pause"); //返回主函數(shù)的主菜單</p><p&

36、gt;<b>  } </b></p><p>  printf("\t\t\t通訊錄導(dǎo)入成功......... \n");</p><p>  printf("\n\t\t******************** 主菜單 ********************"); </p><p>  print

37、f("\n\t\t*********** 1-添加聯(lián)系人 2-刪除聯(lián)系人***********"); </p><p>  printf("\n\t\t**************** 3-查詢聯(lián)系人 *****************"); </p><p>  printf("\n\t\t*********** 4-修改聯(lián)系人5-保存

38、聯(lián)系人************"); </p><p>  printf("\n\t\t**************** 0-退出系統(tǒng) *******************");</p><p>  printf("\n\t\t************************************************");<

39、/p><p>  printf("\t\t請(qǐng)您選擇所需操作:"); </p><p>  c=getchar(); </p><p>  }while(c<'0'||c>'5'); </p><p>  return(c-'0'); </p><

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

41、 </p><p>  while(sign!='n'&&sign!='N') </p><p><b>  { </b></p><p>  printf("\t編號(hào):"); </p><p>  scanf("\

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

43、nf("\t%s",per[n+i].age);</p><p>  printf("\t電話號(hào)碼:"); </p><p>  scanf("\t%s",per[n+i].num); </p><p>  printf("\t通訊住址:"); </p><p>

44、  scanf("\t%s",per[n+i].adds);</p><p>  printf("\t電子郵箱:");</p><p>  scanf("\t%s",per[n+i].email);</p><p>  gets(x); </p><p>  printf(&qu

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

46、gt;<p><b>  } </b></p><p>  void Display(Person per[],int n) </p><p><b>  { </b></p><p><b>  int i; <

47、/b></p><p>  printf("----------------------------------------------------------------------\n"); /*格式*/ </p><p>  printf("編號(hào) 姓名 年齡 電話號(hào)碼 通訊地址

48、 電子郵箱\n"); </p><p>  printf("----------------------------------------------------------------------\n"); </p><p>  for(i=1;i<n+1;i++)

49、 </p><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].emai

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

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

52、;<b>  } </b></p><p><b>  } </b></p><p>  printf("----------------------------------------------------------------------\n");</p><p><b>  } &l

53、t;/b></p><p>  int Delete(Person per[],int n) </p><p><b>  { </b></p><p>  char s[20]; </p><p>  int i=0,j; </p><p>  printf("\t請(qǐng)輸入想刪除記

54、錄中的名字:"); </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><b>

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

56、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>  strcpy(pe

57、r[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("\t\t

58、\t已經(jīng)成功刪除!\n"); </p><p>  return(n-1); </p><p><b>  } </b></p><p>  void Search(Person per[],int n) </p><p><b>  { </b></p><p>

59、;<b>  int m;</b></p><p>  printf("\t**請(qǐng)選擇查詢方式:**\n");</p><p>  printf("\t*******************\n");</p><p>  printf("\t***1----顯示所有***\n");&l

60、t;/p><p>  printf("\t***2----姓名查詢***\n");</p><p>  printf("\t***3----編號(hào)查詢***\n");</p><p>  printf("\t***4----返回菜單***\n");</p><p>  printf(&qu

61、ot;\t*******************\n");</p><p>  printf("請(qǐng)選擇:");</p><p>  scanf("%d",&m);</p><p>  while(m!=1&&m!=2&&m!=3&&m!=4)</p>

62、<p><b>  { </b></p><p>  printf("輸入錯(cuò)誤,請(qǐng)重新選擇:");</p><p>  scanf("%d",&m);</p><p><b>  }</b></p><p><b>  if(m

63、==1)</b></p><p><b>  {</b></p><p>  Display(pe,n);</p><p><b>  }</b></p><p><b>  if(m==2)</b></p><p><b>  {

64、</b></p><p>  char s[20]; </p><p><b>  int i=0; </b></p><p>  printf("\t請(qǐng)輸入想查詢的姓名:"); </p><p>  scanf("\t%s",s); </p><p

65、>  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通訊錄中沒(méi)有此聯(lián)系人!\n"); </p&

66、gt;<p><b>  return; </b></p><p><b>  } </b></p><p>  printf("\t聯(lián)系人編號(hào): %d\n",per[i].score);</p><p>  printf("\t聯(lián)系人年齡: %s\n",per[i].

67、age); </p><p>  printf("\t聯(lián)系人號(hào)碼: %s\n",per[i].num); </p><p>  printf("\t聯(lián)系人地址: %s\n",per[i].adds);</p><p>  printf("\t聯(lián)系人電子郵箱: %s\n",per[i].email);<

68、/p><p><b>  } ;</b></p><p><b>  if(m==3)</b></p><p><b>  {</b></p><p><b>  char s; </b></p><p><b>  int

69、i=0; </b></p><p>  printf("\t請(qǐng)輸入想查詢的編號(hào):"); </p><p>  scanf("\t%d",&s); </p><p>  if(per[i].score!=s&&i<n) i++; </p><p><b>

70、;  if(i==n) </b></p><p><b>  {</b></p><p>  printf("\t通訊錄中沒(méi)有此聯(lián)系人!\n"); </p><p><b>  return; </b></p><p><b>  } </b>&

71、lt;/p><p>  printf("\t聯(lián)系人編號(hào): %d\n",per[i].score);</p><p>  printf("\t聯(lián)系人姓名: %s\n",per[i].name);</p><p>  printf("\t聯(lián)系人年齡: %s\n",per[i].age); </p>&

72、lt;p>  printf("\t聯(lián)系人通訊地址: %s\n",per[i].adds);</p><p>  printf("\t聯(lián)系人電子郵箱: %s\n",per[i].email);</p><p><b>  };</b></p><p><b>  }</b><

73、;/p><p>  void Change(Person per[],int n) </p><p><b>  {</b></p><p>  char s[20]; </p><p><b>  int i=0; </b></p><p>  printf("\t請(qǐng)

74、輸入想修改的聯(lián)系人姓名:"); </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><

75、;b>  { </b></p><p>  printf("\t通訊錄中沒(méi)有此聯(lián)系人!\n"); </p><p><b>  return; </b></p><p><b>  } </b></p><p>  printf("\t編號(hào):"

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

77、:"); </p><p>  scanf("\t%s",per[i].age);</p><p>  printf("\t電話號(hào)碼:"); </p><p>  scanf("\t%s",per[i].num); </p><p>  printf("\t通訊住

78、址:"); </p><p>  scanf("\t%s",per[i].adds);</p><p>  printf("\t電子郵箱:");</p><p>  scanf("\t%s",per[i].email);</p><p>  printf("\t修

79、改成功!");</p><p><b>  }</b></p><p>  void WritetoText(Person per[],int n) </p><p><b>  { </b></p><p><b>  int i=0; </b&g

80、t;</p><p>  FILE *fp; /*定義文件指針*/ </p><p>  char filename[20]="student.txt"; /*定義文件名*/ </p><p>  

81、printf("\t保存到文件\n"); /*輸入文件名*/ </p><p>  if((fp=fopen(filename,"w"))==NULL) </p><p><b>  { </b></p><p>  

82、printf("\t無(wú)法打開(kāi)文件\n"); </p><p>  system("pause"); </p><p><b>  return; </b></p><p><b>  } </b></p><p>  fprintf(fp,"****

83、**************************************通訊錄******************************************\n");</p><p>  fprintf(fp,"編號(hào) 姓名 年齡 電話號(hào)碼 通訊地址 電子郵箱\n");</p><p>

84、  fprintf(fp,"------------------------------------------------------------------------------------------\n");</p><p>  while(i<n) </p><p><b>  { </b></p><p>

85、;  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++; </b></p><p><b>  }

86、</b></p><p>  fprintf(fp,"------------------------------------------------------------------------------------------\n");</p><p>  fprintf(fp,"******************************

87、*********共有%d條記錄****************************************\n",n); </p><p>  fclose(fp); /*關(guān)閉文件*/ </p><p>  printf("保存成功!\n"); </p><

88、;p><b>  } </b></p><p>  void main() /*主函數(shù)*/ </p><p><b>  { </b></p><p><b>  int n=0; </b></p>&

89、lt;p><b>  for(;;) </b></p><p><b>  { </b></p><p>  switch(menu()) </p><p><b>  { </b></p><p><b>  case 1: </b></p&

90、gt;<p>  printf("\n\t添加聯(lián)系人到通訊錄\n"); /*添加記錄*/ </p><p>  n=Input(pe,n); </p><p><b>  break; </b></p><p><b>  case 2: </b&

91、gt;</p><p>  printf("\n\t從通訊錄中刪除聯(lián)系人\n"); </p><p>  n=Delete(pe,n); /*刪除記錄*/ </p><p>  printf("\t"); </p><p>  system("pause"); &l

92、t;/p><p><b>  break; </b></p><p><b>  case 3: </b></p><p>  printf("\n\t在通訊錄中查找聯(lián)系人\n"); </p><p>  Search(pe,n); /*查找記錄*/ </p

93、><p>  printf("\t"); </p><p>  system("pause"); </p><p><b>  break;</b></p><p><b>  case 4: </b></p><p>  printf(&

94、quot;\n\t修改通訊錄中的聯(lián)系人信息\n"); </p><p>  Change(pe,n); /*修改數(shù)據(jù)*/ </p><p>  printf("\t"); </p><p>  system("pause"); </p><p><b>  br

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

96、\t"); </p><p>  system("pause"); </p><p><b>  break; </b></p><p><b>  case 0: </b></p><p>  printf("\n\t\t正在退出系統(tǒng)!\n");

97、 /*結(jié)束程序*/ </p><p>  printf("\n\t\t退出成功!\n"); </p><p>  system("pause"); </p><p><b>  exit(0); </b></p><p><b&g

98、t;  } </b></p><p><b>  } </b></p><p><b>  }</b></p><p>  通訊錄系統(tǒng).c的分析</p><p>  1.運(yùn)行進(jìn)入程序主菜單</p><p>  主選單具有所有函數(shù)的功能實(shí)現(xiàn)的選擇功能,通過(guò)主選單的操

99、作進(jìn)入各個(gè)功能。主選單主要由主函數(shù)提供,其功能由子函數(shù)實(shí)現(xiàn)。</p><p><b>  2輸入聯(lián)系</b></p><p><b>  3查詢:</b></p><p>  選查詢方式:(1)顯示所有</p><p>  可以顯示全部的人員的信息。</p><p><

100、b>  姓名查詢</b></p><p><b>  編號(hào)查詢</b></p><p><b>  4保存</b></p><p><b>  5修改聯(lián)系人</b></p><p>  輸入想修改的人的姓名可以對(duì)該聯(lián)系人進(jìn)行修改。</p><

101、;p><b>  6刪除聯(lián)系人</b></p><p>  輸入想刪除的人的姓名就可對(duì)該人進(jìn)行刪除。</p><p><b>  4.2調(diào)試結(jié)果</b></p><p>  4.3調(diào)試時(shí)遇到的問(wèn)題及解決</p><p>  程序的調(diào)試過(guò)程中在保存聯(lián)系人信息文件時(shí)遇到很多問(wèn)題,原因還是我們?cè)赾語(yǔ)

102、言的文件這一部分基礎(chǔ)不夠扎實(shí),在平時(shí)編程時(shí)沒(méi)有遇到這樣的操作:最終還是在百度上找到的這一部分函數(shù)而完成的程序;</p><p>  在編寫查詢函數(shù)時(shí),由于定義編號(hào)類型和其他信息類型不一樣,查詢和其他查詢方式不太一樣,導(dǎo)致在編譯時(shí)出現(xiàn)許多錯(cuò)誤,幸好及早發(fā)現(xiàn)并修改完成;</p><p>  4.4算法的改進(jìn)設(shè)想</p><p>  最主要的為問(wèn)題在于通訊錄文件的讀取這塊

103、,這也是本程序的一個(gè)缺憾,在讀入信息時(shí)沒(méi)有辦法把聯(lián)系人姓名等信息再分類讀入結(jié)構(gòu)體中,查詢了很多資料都沒(méi)有辦法完成這一功能,所以最后該通訊錄系統(tǒng)只可以保存通訊錄文件,但是讀取以后只能全部顯示,不能按方式查詢讀出信息,這是最大的一個(gè)缺點(diǎn),希望能在以后的學(xué)習(xí)中找到此問(wèn)題的解決辦法。</p><p><b>  結(jié)束語(yǔ)</b></p><p>  通過(guò)這次課程設(shè)計(jì),我們對(duì)很多

104、的函數(shù)有新的認(rèn)識(shí),也學(xué)會(huì)運(yùn)用多種函數(shù),我們也明白寫軟件的基本過(guò)程,和基本方法。寫軟件的過(guò)程中我們又學(xué)到曾經(jīng)自己不知道的函數(shù)或是自己不會(huì)的函數(shù)的用法。特別是文件的開(kāi)啟和關(guān)閉,讀與寫。這次課程設(shè)計(jì)課總的來(lái)說(shuō)讓我們受益匪淺。</p><p>  在軟件的設(shè)計(jì)過(guò)程中遇到拉很多的困難。在軟件一次一次的調(diào)試失敗下曾經(jīng)想過(guò)要放棄。我們最后還是讓自己堅(jiān)持下來(lái),毫不畏懼困難,在同學(xué)的幫助與講解下我們總算是順利的完成了軟件的設(shè)計(jì)。&

105、lt;/p><p>  雖然在調(diào)試程序遇到拉很多的困難,當(dāng)軟件調(diào)試成功時(shí)那種喜悅的感覺(jué)沒(méi)有什么東西可以代替。在程序的編寫過(guò)程中我們發(fā)現(xiàn)我們自己有很多的知識(shí)漏洞和缺陷,需要進(jìn)一步努力學(xué)習(xí)來(lái)完善自己。</p><p>  編程的核心是算法結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu)又包括邏輯結(jié)構(gòu)和物理結(jié)構(gòu),編程中要時(shí)刻注意這些問(wèn)題。調(diào)試過(guò)程遠(yuǎn)遠(yuǎn)比編程過(guò)程繁瑣,需要足夠的耐心對(duì)一個(gè)個(gè)錯(cuò)誤進(jìn)行修改直至完全正確。并且調(diào)試過(guò)程也需要一

106、定的技巧,能夠選取適當(dāng)?shù)膶?shí)驗(yàn)數(shù)據(jù)對(duì)程序進(jìn)行驗(yàn)證,找到出錯(cuò)的地方以進(jìn)行修正。</p><p>  在這幾天的編寫過(guò)程中我們對(duì)c語(yǔ)言有更進(jìn)一步的認(rèn)識(shí)和了解。此次編程過(guò)程的經(jīng)驗(yàn)和知識(shí)肯定能促進(jìn)我們以后的學(xué)習(xí)。</p><p>  此次課程設(shè)計(jì)不僅給我們很多很好的經(jīng)驗(yàn),也然我們體會(huì)到失敗時(shí)的焦急和難受,也體會(huì)到了成功時(shí)的興奮與喜悅。</p><p><b>  參

107、考文獻(xiàn)</b></p><p>  [1]《數(shù)據(jù)結(jié)構(gòu)》(C語(yǔ)言版) 清華大學(xué)計(jì)算機(jī)系列教材 嚴(yán)蔚敏 吳偉民 編著</p><p>  [2]《標(biāo)準(zhǔn)C程序設(shè)計(jì) 題解與實(shí)驗(yàn)指導(dǎo)(第三版)》 清華大學(xué)出版社 李丹程 編著</p><p>  [3]《C程序設(shè)計(jì) 上機(jī)指導(dǎo)與習(xí)題解答》 北京郵電大學(xué)出版社 郝謙 孫英華 編著</p><p&g

溫馨提示

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

評(píng)論

0/150

提交評(píng)論