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

下載本文檔

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

文檔簡介

1、<p><b>  目錄</b></p><p>  一.課程設(shè)計(jì)的內(nèi)容**************************************************3</p><p>  二.需求分析**********************************************************3</p><p

2、>  三.概要設(shè)計(jì)**********************************************************3</p><p>  3.1軟件運(yùn)行開發(fā)平臺(tái)*******************************************************3</p><p>  3.2 數(shù)據(jù)結(jié)構(gòu)****************************

3、**********************************4</p><p>  3.3系統(tǒng)結(jié)構(gòu)圖*************************************************************5</p><p>  四.詳細(xì)設(shè)計(jì)***********************************************************5<

4、;/p><p>  4.1頭文件,變量定義,函數(shù)**************************************************5</p><p>  4.2 管理員登錄,新用戶注冊(cè)模塊**********************************************6</p><p>  4.3菜單模塊設(shè)計(jì)****************

5、********************************************9</p><p>  4.4輸入模塊設(shè)計(jì)************************************************************9</p><p>  4.5瀏覽模塊設(shè)計(jì)**************************************************

6、*********10</p><p>  4.6查詢模塊設(shè)計(jì)***********************************************************11</p><p>  4.7刪除模塊設(shè)計(jì)***********************************************************12</p><p>  

7、4.8修改模塊設(shè)計(jì)***********************************************************13</p><p>  五.測(cè)試,結(jié)果分析**************************************************15</p><p>  5.1數(shù)據(jù)分析************************************

8、***************************15</p><p>  5.2測(cè)試截圖***************************************************************16</p><p>  六.總結(jié)****************************************************************22<

9、;/p><p>  七.參考文獻(xiàn)***********************************************************22</p><p>  八.附源程序***********************************************************22</p><p><b>  課程設(shè)計(jì)的內(nèi)容<

10、/b></p><p>  圖書信息包括:登錄號(hào)、書名、作者名、分類號(hào)、出版單位、出版時(shí)間、價(jià)格等。試設(shè)計(jì)一圖書信息管理系統(tǒng),使之能提供以下功能: 系統(tǒng)以菜單方式工作 圖書信息錄入功能(圖書信息用文件保存) 圖書信息瀏覽功能 圖書信息查詢功能(按書名查詢,按作者名查詢,按登錄號(hào)查詢) 圖書信息的刪除與修改(可選項(xiàng))</p><p>  擴(kuò)展功能

11、(管理員登錄,新用戶注冊(cè),并且每個(gè)用戶都有獨(dú)立的文件來保存他的信息,用戶之間通過密碼識(shí)別,互不影響)</p><p><b>  需求分析</b></p><p>  根據(jù)題目要求,應(yīng)把圖書信息用結(jié)構(gòu)體形式輸入,再存放入文件中儲(chǔ)存。所以應(yīng)該提供一個(gè)結(jié)構(gòu)體和文件的輸入輸出操作。在程序中需要實(shí)現(xiàn)圖書信息錄入,瀏覽,查詢,刪除和修改等功能的操作,所以需要建立相應(yīng)的模塊來實(shí)現(xiàn)

12、;另外還需提供鍵盤式選擇菜單實(shí)現(xiàn)功能,在運(yùn)行時(shí)達(dá)到所要目的。還有,應(yīng)該有管理員登錄用戶密碼識(shí)別的模塊和新用戶注冊(cè)的模塊,以實(shí)現(xiàn)多用戶同時(shí)使用該系統(tǒng)的目的,而通過用戶名來保存相應(yīng)的信息,用戶之間互不干擾。</p><p><b>  概要設(shè)計(jì)</b></p><p>  3.1 軟件運(yùn)行與開發(fā)平臺(tái)</p><p>  Visual C++ 簡介&

13、lt;/p><p>  這個(gè)系統(tǒng)前臺(tái)所用的開發(fā)工具是Visual C++ 6.0,它是Microsoft 公司開發(fā)的基于C/C++的集成開發(fā)工具,是Visual Studio中功能最為強(qiáng)大,代碼效率最高的開發(fā)工具.</p><p>  Visual C++ 6.0跟以前的版本相比,它的編譯器,調(diào)試器,連接器,編輯器,資源編輯器都有所加強(qiáng),在編輯器中還提供了自動(dòng)語句生成功能,編輯器會(huì)像Visua

14、l Basic那樣自動(dòng)提示函數(shù)的參數(shù),對(duì)象成員.另外, Visual C++ 6.0還提供了許多的向?qū)?在MFC中新增了一些類,提供了更加強(qiáng)大的數(shù)據(jù)訪問功能.</p><p>  程序員可以利用Visual C++ 6.0以基于Windows API的C編程方式或基于MFC的C++編程方式,也可混合編程,使工作效率相對(duì)提高,開發(fā)工作量減少,源代碼效率高.從面使Visual C++ 6.0成為目前開發(fā)Windows

15、應(yīng)用程序最好、最高效的開發(fā)工具之一。同時(shí)在數(shù)據(jù)庫系統(tǒng)開發(fā)方面也有很大的優(yōu)勢(shì).</p><p><b>  3.2 數(shù)據(jù)結(jié)構(gòu)</b></p><p>  本系統(tǒng)定義了兩個(gè)結(jié)構(gòu)體變量,分別用來儲(chǔ)存管理員信息與圖書信息。各模塊的數(shù)據(jù)結(jié)構(gòu)如下:</p><p>  3.2.1 菜單選擇模塊:(</p><p><b&g

16、t;  給出信息提示;</b></p><p>  繪制菜單(包含輸入、顯示、查詢、修改、刪除、退出、排序);</p><p>  提示菜單選擇并讀入到變量;</p><p>  根據(jù)讀入變量的值調(diào)用不同的模塊函數(shù);)</p><p>  3.2.2    信息輸入模塊:(</p>&l

17、t;p><b>  打開職工信息文件;</b></p><p><b>  發(fā)出輸入提示信息;</b></p><p><b>  輸入職工信息;</b></p><p><b>  提示是否繼續(xù)輸入;</b></p><p><b>  

18、讀入到變量;</b></p><p>  根據(jù)讀入變量的值進(jìn)入菜單或輸入函數(shù)模塊;)</p><p>  3.2.3   信息輸出模塊:(</p><p>  輸出所有圖書的所有信息。)</p><p>  3.2.4   信息查詢模塊:(</p><p>  調(diào)用s

19、witch函數(shù);</p><p><b>  給出信息提示;</b></p><p>  提示菜單選擇并讀入到變量;</p><p>  根據(jù)讀入變量的值進(jìn)入不同的case;</p><p>  Case 1 給出信息提示;</p><p>  提示菜單選擇并讀入到變量;</p>

20、<p>  Strcmp函數(shù)將保存的信息與變量比較,如有相同,就輸出該圖書的所有信息;否則,提示出錯(cuò)。</p><p>  Case 2 給出信息提示;</p><p>  提示菜單選擇并讀入到變量;</p><p>  Strcmp函數(shù)將保存的信息與變量比較,如有相同,就輸出該圖書的所有信息;否則,提示出錯(cuò)。)</p><p>

21、;  3.2.5 信息修改模塊:(</p><p><b>  給出信息提示;</b></p><p>  提示菜單選擇并讀入到變量;</p><p>  Strcmp函數(shù)將保存的信息與變量比較,如有相同,就輸出該圖書的所有信息,并提示輸入新的圖書信息;否則,提示出錯(cuò)。)</p><p>  3.2.6信息刪除模塊:(&

22、lt;/p><p><b>  給出信息提示;</b></p><p>  提示菜單選擇并讀入到變量;</p><p>  Strcmp函數(shù)將保存的信息與變量比較,如有相同,就輸出該圖書的所有信息,并刪除該圖書的圖書信息;否則,提示出錯(cuò)。)</p><p>  3.2.7 文件保存模塊(</p><p&g

23、t;  看文件能不能讀;否則提示出錯(cuò)。</p><p>  看文件的長度符不符合要求;否則提示出錯(cuò)。</p><p><b>  保存文件)</b></p><p><b>  3.3 系統(tǒng)結(jié)構(gòu)圖</b></p><p><b>  如圖3-3</b></p>&

24、lt;p><b>  圖3-3</b></p><p><b>  詳細(xì)設(shè)計(jì)</b></p><p>  4.1 頭文件,變量定義,函數(shù)</p><p>  #include <stdio.h></p><p>  #include <string.h></p&g

25、t;<p>  #include <stdlib.h></p><p>  #define N 10</p><p>  char administrator[20]; /********管理員名字**********/</p><p>  struct manage </p><p>  {char m

26、anage_name[20];</p><p>  char password[20];</p><p><b>  };</b></p><p>  struct library</p><p><b>  {</b></p><p>  int num;

27、 /********登錄號(hào)**********/</p><p>  char book_name[30]; /********書名************/</p><p>  char writer[30]; /********作者************/</p><p>  char sort_num[6];

28、 /********分類號(hào)**********/</p><p>  char pub_company[30]; /********出版單位********/</p><p>  char pub_time[30]; /********出版時(shí)間********/</p><p>  float price; /*****

29、***價(jià)格************/</p><p><b>  };</b></p><p>  typedef struct library LIB;</p><p>  LIB lib[N];</p><p>  FILE *fp; </p&

30、gt;<p>  int all=0;</p><p>  void menu();/*菜單函數(shù)*/ </p><p>  void enter(); /*輸入模塊*/ </p><p>  void browse();/*瀏覽函數(shù)*/</p><p>  void search();/*查詢

31、函數(shù)*/</p><p>  void del(int y);/*刪除函數(shù)*/</p><p>  void modify(int x);/*修改函數(shù)*/</p><p>  void printf_back(); /*一個(gè)任務(wù)結(jié)束時(shí)選擇瀏覽還是返回函數(shù)***/</p><p>  void wr_search(); /*****

32、***按圖書作者查詢函數(shù)************/</p><p>  void bn_search(); /********按圖書名查詢函數(shù)**************/</p><p>  void id_search(); /********按圖書登錄號(hào)查詢函數(shù)**********/</p><p>  void index(); /

33、********顯示登錄界面函數(shù)**************/</p><p>  void login(); /********管理員進(jìn)入函數(shù)****************/</p><p>  void byebye(); /********離開界面函數(shù)******************/</p><p>  void adm_vi

34、ew(); /********輸入登錄帳號(hào)密碼界面函數(shù)******/</p><p>  void new_adm_view(); /********新用戶注冊(cè)界面函數(shù)************/</p><p>  4.2管理員登錄,新用戶注冊(cè)模塊的算法設(shè)計(jì)</p><p>  4.2.1用戶來到圖書信息管理系統(tǒng)頁面</p><p>

35、  /*************************登錄離開模塊*******************************/</p><p>  void index() </p><p><b>  { </b></p><p>  char input;</p><p>  printf("\n\

36、n\t\t\t*****************************\n");</p><p>  printf("\t\t\t 圖書信息管理系統(tǒng)\n");</p><p>  printf("\t\t\t*****************************\n\n\n");</p><p>  pr

37、intf(" --------------------------------------------------------------------------\n");</p><p>  printf("\t<按任意鍵進(jìn)入>\n\t");</p><p>  input=getchar(); </p><p

38、><b>  }</b></p><p>  void login()</p><p><b>  {</b></p><p>  int input;</p><p>  char input_1; </p><p><b>  do </b>

39、;</p><p>  { printf("\t1.管理員進(jìn)入\n"); </p><p>  printf("\t2.新用戶注冊(cè)\n");</p><p>  printf("\t3.退出本系統(tǒng)\n\n\n");</p><p>  printf("\t請(qǐng)選擇服務(wù)類別:&

40、quot;);</p><p>  scanf("%d",&input);</p><p>  switch(input)</p><p><b>  {</b></p><p><b>  case 1:{</b></p><p>  adm_v

41、iew();break; /********管理員進(jìn)入界面函數(shù)************/</p><p><b>  }</b></p><p><b>  case 2:{</b></p><p>  new_adm_view();break;/********新用戶注冊(cè)界面函數(shù)************/</p&g

42、t;<p><b>  }</b></p><p><b>  case 3:{</b></p><p>  byebye(); break;/********離開界面函數(shù)************/</p><p><b>  } </b></p><p>&l

43、t;b>  default: </b></p><p><b>  {</b></p><p>  printf("\n\t輸入出錯(cuò)!請(qǐng)重新選擇~\n");</p><p>  printf("\n\t按任意鍵返回選擇頁面~\n\t");</p><p>  in

44、put_1=getchar();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  while(input!=1&&input!=2&&input!=3);

45、</p><p><b>  }</b></p><p>  void byebye() </p><p><b>  {</b></p><p>  printf("\n\n\n\t\t*感謝您的使用*\n\n\t\t");</p><p>  pr

46、intf("按任意鍵退出本系統(tǒng)\n\t\t");</p><p>  getchar();</p><p>  exit(0); </p><p><b>  }</b></p><p>  4.2.2管理員進(jìn)入</p><p><b>  圖4-2-2</b

47、></p><p>  4.2.3 新用戶注冊(cè)</p><p><b>  圖4-2-3</b></p><p>  4.3菜單模塊的算法設(shè)計(jì)</p><p><b>  開始</b></p><p><b>  圖4-3</b></p>

48、;<p>  首先,運(yùn)行程序,進(jìn)入菜單,然后選擇操作(運(yùn)用swith語句),調(diào)用各子函數(shù)。在返回操作中運(yùn)用while語句進(jìn)行控制返回菜單。</p><p>  4.4輸入模塊算法設(shè)計(jì)</p><p><b>  圖4-4</b></p><p>  4.5瀏覽模塊算法設(shè)計(jì)</p><p><b>

49、  圖4-5</b></p><p>  void browse () 首先,輸出所有圖書的信息,并輸出圖書記錄數(shù),然后調(diào)用輔助函數(shù)進(jìn)行菜單選擇,操作完成后返回主菜單。</p><p>  4.6查詢模塊算法設(shè)計(jì)</p><p><b>  圖4-6</b></p><p>  void search()選擇

50、查詢方式 ,1按圖書登錄號(hào)查詢,2按作者查詢,3 按圖書名查詢 然后定位,再調(diào)用輸出函數(shù);</p><p>  4.7刪除模塊算法設(shè)計(jì)</p><p>  /*******************刪除模塊**************************/</p><p>  void del(int y)</p><p><b&g

51、t;  { </b></p><p>  char input,ad1[20],ad2[20],ad3[20],ad4[20];</p><p><b>  FILE *fp;</b></p><p>  int inp,i=0,j;</p><p>  LIB book_taxis[20];</p

52、><p>  strcpy(ad1,administrator);</p><p>  strcpy(ad2,administrator);</p><p>  strcpy(ad3,administrator);</p><p>  strcpy(ad4,administrator);</p><p>  if(y==N

53、+1)</p><p><b>  search();</b></p><p><b>  else</b></p><p><b>  {</b></p><p><b>  do{</b></p><p>  printf(&q

54、uot;\n\n\n\t注意:您確定要?jiǎng)h除該記錄嗎?\n");</p><p>  printf("\n\t1).是\t2).否\n");</p><p>  printf("\n\t請(qǐng)輸入:");</p><p>  scanf("%d",&inp);</p><p&

55、gt;  if(inp!=1&&inp!=2)</p><p><b>  {</b></p><p>  printf("\n\t對(duì)不起,沒有該項(xiàng)服務(wù)~");</p><p>  printf("\t按任意鍵重新選擇\n\t");</p><p>  input=

56、getchar();</p><p><b>  }</b></p><p><b>  }</b></p><p>  while (inp!=1&&inp!=2);</p><p>  if (inp==2)</p><p><b>  sear

57、ch();</b></p><p>  if (inp==1)</p><p><b>  {</b></p><p>  if ((fp=fopen(strcat(ad1,".c"),"r"))!=NULL)</p><p><b>  {</b>

58、;</p><p><b>  do</b></p><p><b>  {</b></p><p>  fread(&book_taxis[i],sizeof(struct library),1,fp);</p><p><b>  i=i+1;</b></p&

59、gt;<p><b>  }</b></p><p>  while(!feof(fp));</p><p>  fclose(fp);</p><p><b>  }</b></p><p>  if (i>2) </p><p><b>

60、  {</b></p><p>  fp=fopen(strcat(ad2,".c"),"w"); </p><p>  for (j=0;j<y;j++)</p><p>  fwrite(&book_taxis[j],sizeof(struct library),1,fp);</p>

61、<p>  fclose(fp);</p><p>  fp=fopen(strcat(ad3,".c"),"a");</p><p>  for (j=y+1;j<i-1;j++)</p><p>  fwrite(&book_taxis[j],sizeof(struct library),1,f

62、p);</p><p>  fclose(fp);</p><p><b>  } </b></p><p><b>  else </b></p><p><b>  { </b></p><p>  remove(strcat(ad3,&qu

63、ot;.c"));</p><p><b>  }</b></p><p>  printf("\n\n\t記錄已刪除!\n\n\t按任意鍵返回\n\t");</p><p>  input=getchar();</p><p>  printf_back(); </p>

64、<p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  4.8修改模塊算法設(shè)計(jì)</p><p>  /**************************修改模塊**************

65、********/</p><p>  void modify(int x)</p><p><b>  {</b></p><p>  int inp,i=0,j;</p><p>  FILE *fp,*fp1;</p><p>  char input,ad1[20],ad2[20];<

66、;/p><p>  LIB books,book_taxis[20];</p><p>  strcpy(ad1,administrator);</p><p>  strcpy(ad2,administrator);</p><p>  if(x==N+1)</p><p><b>  search();<

67、;/b></p><p><b>  else</b></p><p><b>  {</b></p><p><b>  do</b></p><p><b>  {</b></p><p>  printf("\

68、n\n\n\t注意:您確定要修改該記錄嗎?\n");</p><p>  printf("\n\t1.是\t2.否\n");</p><p>  printf("\n\t請(qǐng)輸入:");</p><p>  scanf("%d",&inp);</p><p>  if

69、 (inp!=1&&inp!=2)</p><p><b>  {</b></p><p>  printf("\n\t對(duì)不起~沒有這項(xiàng)服務(wù)~\n");</p><p>  printf("\t按任意鍵重新選擇\n\t");</p><p>  input=getc

70、har();</p><p><b>  }</b></p><p><b>  }</b></p><p>  while(inp!=1&&inp!=2);</p><p><b>  if(i==2)</b></p><p><

71、b>  search();</b></p><p>  if (inp==1)</p><p><b>  {</b></p><p>  printf("\n\n\n\t---請(qǐng)輸入圖書信息---\n\n");</p><p>  printf("\t登錄號(hào):"

72、);</p><p>  scanf("%d",&books.num);</p><p>  printf("\n\t書名:");</p><p>  scanf("%s",books.book_name);</p><p>  printf("\n\t作者名:&q

73、uot;);</p><p>  scanf("%s",books.writer);</p><p>  printf("\n\t分類號(hào):");</p><p>  scanf("%s",books.sort_num);</p><p>  printf("\n\t出版單位

74、:");</p><p>  scanf("%s",books.pub_company);</p><p>  printf("\n\t出版時(shí)間:");</p><p>  scanf("%s",books.pub_time);</p><p>  printf("

75、;\n\t價(jià)格:");</p><p>  scanf("%f",&books.price);</p><p>  if ((fp1=fopen(strcat(ad1,".c"),"r"))!=NULL) </p><p><b>  { </b></p&

76、gt;<p><b>  do</b></p><p><b>  {</b></p><p>  fread(&book_taxis[i],sizeof(struct library),1,fp1); </p><p><b>  i=i+1;</b></p>

77、<p><b>  } </b></p><p>  while(!feof(fp1));</p><p>  fclose(fp1);</p><p>  for (j=0;j<x;j++)</p><p>  if (books.num==book_taxis[j].num) </p>

78、<p><b>  {</b></p><p>  printf("\n\n\n\t對(duì)不起,這個(gè)編號(hào)已經(jīng)使用過了~\n");</p><p>  printf("\t按任意鍵返回管理菜單~");</p><p>  printf("0");</p><p&

79、gt;  input=getchar();</p><p>  printf_back(); </p><p><b>  break;</b></p><p><b>  }</b></p><p>  for (j=x+1;j<i-2;j++) </p><p

80、>  if (books.num==book_taxis[j].num)</p><p><b>  {</b></p><p>  printf("\n\n\n\t對(duì)不起,這個(gè)編號(hào)已經(jīng)使用過了~\n");</p><p>  printf("1");</p><p>  p

81、rintf("\t按任意鍵返回管理菜單~");</p><p>  input=getchar();</p><p>  printf_back(); </p><p><b>  break;</b></p><p><b>  }</b></p><p&

82、gt;<b>  }</b></p><p>  book_taxis[x]=books; </p><p>  fp=fopen(strcat(ad2,".c"),"w");</p><p>  for (j=0;j<i-1;j++) </p><p>  

83、fwrite(&book_taxis[j],sizeof(struct library),1,fp);</p><p>  fclose(fp);</p><p>  printf("\n\n\t信息修改完成!按任意鍵返回");</p><p>  input=getchar();</p><p>  printf

84、_back(); </p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  五、測(cè)試、結(jié)果進(jìn)行分析</p><p><b>  5.1.?dāng)?shù)據(jù)分析</b

85、></p><p>  5.1.1 實(shí)現(xiàn)程序:首先進(jìn)入如下界面:</p><p><b>  1.圖書信息錄入</b></p><p><b>  2.瀏覽全部</b></p><p><b>  3.查詢</b></p><p><b>

86、;  4.刪除數(shù)據(jù)</b></p><p><b>  5.修改數(shù)據(jù)</b></p><p><b>  6.退出</b></p><p>  5.1.2輸入“1”,后按“num登陸號(hào)”, book_name書名,writer作者名,sort_num分類號(hào),出版社pub_conpany,出版時(shí)間pub_time

87、,價(jià)錢price順序輸入兩組數(shù)據(jù):</p><p>  “1,we,er,1,as,1234,34”</p><p>  “2,ew,re,2,sa,4321,43”</p><p>  5.1.3.輸入“2”輸出數(shù)據(jù):</p><p>  “1,we,er,1,as,1234,34”</p><p>  “2,ew,

88、re,2,sa,4321,43”</p><p>  5.1.4.輸入“3”查找,“請(qǐng)選擇按書名或作者名或登錄號(hào)查詢:</p><p><b>  1:登錄號(hào)</b></p><p><b>  2.作者名</b></p><p><b>  3.書名 </b></p&g

89、t;<p>  輸入“1“或“2”或“3”分別查詢。</p><p>  輸入“3“和“we“,輸出“1,we,er,1,as,1234,34”;輸入2和“re“,輸出“2,ew,re,2,sa,4321,43”,輸入“1”和“1”,輸出“1,we,er,1,as,1234,34”; 符合要求</p><p>  5.1.5 輸入”4”或“5“進(jìn)行修改或刪除。</p&

90、gt;<p>  輸入修改的書名“we”顯示“1,we,er,1,as,1234,34”及“please input xiugai's the informations”,后輸入新信息。</p><p>  5.1.6輸入6退出。</p><p><b>  5.2.測(cè)試截圖</b></p><p><b>  

91、登錄界面</b></p><p><b>  圖5-1</b></p><p><b>  菜單界面</b></p><p><b>  圖5-2</b></p><p><b>  輸入信息界面</b></p><p>

92、;<b>  圖5-3</b></p><p><b>  瀏覽界面</b></p><p><b>  圖5-4</b></p><p><b>  查詢界面</b></p><p><b>  圖5-5</b></p>

93、<p><b>  查詢結(jié)果界面</b></p><p><b>  圖5-6</b></p><p><b>  刪除界面</b></p><p><b>  圖5-7</b></p><p><b>  刪除成功界面</b

94、></p><p><b>  圖5-8</b></p><p><b>  修改界面</b></p><p><b>  圖5-9</b></p><p><b>  退出界面</b></p><p><b>  

95、圖5-10</b></p><p><b>  總結(jié)</b></p><p>  這次課程設(shè)計(jì)讓我掌握了許多的有用知識(shí)。首先通過不斷地學(xué)習(xí)和鍛煉更加熟練地掌握應(yīng)用軟件Microsoft Visual C++ 6.0 了。設(shè)計(jì)正確及合適的程序?qū)τ谖覀兂鯇W(xué)者來說是很大的難題,出現(xiàn)一丁點(diǎn)兒錯(cuò)誤就得非很大的努力去修改,正式者一步步一點(diǎn)點(diǎn)的努力讓我對(duì)C語言游樂更深的

96、認(rèn)識(shí)。同時(shí)我掌握了解決問題的方法,這無論是對(duì)以后的學(xué)習(xí)、生活都有無比重要的價(jià)值。</p><p>  在設(shè)計(jì)中,每個(gè)同學(xué)都會(huì)遇到一些困難,或多或少,這些困難常常讓我心情煩躁,比如不能清晰的建立設(shè)計(jì)模塊,不會(huì)修改出現(xiàn)的錯(cuò)誤等等,然后我向同學(xué)尋求幫助,向他們學(xué)習(xí),最終通過自己努力建立了模塊。不可避免地程序中肯定依然存在者某些問題,我希望在以后的學(xué)習(xí)和應(yīng)用中不斷提高自己的能力,攻克遇到的困難。</p>&

97、lt;p>  通過本次課程設(shè)計(jì),自己C語言編程的能力有了提高,特別是在文件、指針、數(shù)組、函數(shù)和結(jié)構(gòu)體方面有了很大提高,另外還學(xué)習(xí)了課本沒有講到的知識(shí),學(xué)會(huì)了使用模塊化編程的簡單方法,另外在對(duì)話框的編程要求美觀、方面也有了體會(huì)。</p><p>  循環(huán)是C語言的重要方法,也是本程序的靈魂,它在本程序中既有“穿針引線”的作用,也起到了對(duì)數(shù)據(jù)進(jìn)行分析、存貯、讀取等重要的作用,本程序在使用循環(huán)過程中對(duì)循環(huán)進(jìn)行了多

98、方法的應(yīng)用也是一個(gè)“亮點(diǎn)”,它使程序變得結(jié)構(gòu)合理,通俗易懂,也降低了程序的難度。以后要對(duì)這種方法進(jìn)行深刻的體會(huì)。</p><p>  數(shù)組在程序中有著很重要的作用,對(duì)數(shù)據(jù)的貯存、輸入、讀取起著很重要的作用,本程序幾乎所有數(shù)據(jù)都以數(shù)組進(jìn)行輸入、貯存、讀取方便了對(duì)數(shù)據(jù)的處理和輸入,數(shù)組的的使用在本程序中有很大的好處。</p><p>  函數(shù)是實(shí)現(xiàn)模塊化編程的基礎(chǔ),它使程序變得方面易懂,對(duì)修改

99、起了很大作用,降低了編程的難度,一個(gè)函數(shù)就是一個(gè)功能,它使各個(gè)功能之間有了一定的獨(dú)立性,但也有了一定的聯(lián)系性,一個(gè)函數(shù)的錯(cuò)誤,不會(huì)導(dǎo)致整個(gè)程序的失敗(主函數(shù)除外),對(duì)函數(shù)的良好應(yīng)用時(shí)在本程序中又以深刻的體會(huì),有了很大提高。</p><p>  結(jié)構(gòu)體的使用,為本程序提供了很大方便,也提高了程序的可讀性,結(jié)構(gòu)數(shù)組方便了對(duì)數(shù)據(jù)的管理。</p><p>  文件的讀取與存貯使數(shù)據(jù)可以保存下來,這

100、也是在C語言的學(xué)習(xí)過程中沒有進(jìn)行教學(xué)的內(nèi)容,在開始時(shí)遇到了不小的困難,但前期的準(zhǔn)備工作做的還好,最終克服了。</p><p>  另外、感覺到在做C語言作業(yè)時(shí)編的程序是 那樣的簡短(都不足1k)、兒現(xiàn)在自己編寫的程序變大了,需要在編程方面進(jìn)一步提高,同時(shí)提高了自己對(duì)編程的興趣,使自己對(duì)編程有了更深的理解,體會(huì)到編程的樂趣。</p><p>  最后,出于興趣,自己給這個(gè)程序加了多用戶登錄功

101、能,每個(gè)用戶獨(dú)立擁有一個(gè)文件夾保存各自的信息,通過帳號(hào)密碼登錄,互不干擾,雖然期間遇到了不少困難,但最終還是把它做了出來,還是挺高興的。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] ,譚浩強(qiáng),C程序設(shè)計(jì),清華大學(xué)出版社,2007</p><p>  [1] ,張冬梅等,C語言課程設(shè)計(jì)與學(xué)習(xí)指導(dǎo),中國鐵道出版社,20

102、08</p><p><b>  附源程序</b></p><p>  #include <stdio.h></p><p>  #include <string.h></p><p>  #include <stdlib.h></p><p>  #defin

103、e N 10</p><p>  char administrator[20]; /********管理員名字**********/</p><p>  struct manage </p><p>  {char manage_name[20];</p><p>  char password[20];</p>&

104、lt;p><b>  };</b></p><p>  struct library</p><p><b>  {</b></p><p>  int num; /********登錄號(hào)**********/</p><p>  char book_name[

105、30]; /********書名************/</p><p>  char writer[30]; /********作者************/</p><p>  char sort_num[6]; /********分類號(hào)**********/</p><p>  char pub_company[30]

106、; /********出版單位********/</p><p>  char pub_time[30]; /********出版時(shí)間********/</p><p>  float price; /********價(jià)格************/</p><p><b>  };</b></p&

107、gt;<p>  typedef struct library LIB;</p><p>  LIB lib[N];</p><p>  FILE *fp; </p><p>  int all=0;</p><p>  void menu();/*菜單函數(shù)

108、*/ </p><p>  void enter(); /*輸入模塊*/ </p><p>  void browse();/*瀏覽函數(shù)*/</p><p>  void search();/*查詢函數(shù)*/</p><p>  void del(int y);/*刪除函數(shù)*/</p><p

109、>  void modify(int x);/*修改函數(shù)*/</p><p>  void printf_back(); /*一個(gè)任務(wù)結(jié)束時(shí)選擇瀏覽還是返回函數(shù)***/</p><p>  void wr_search(); /********按圖書作者查詢函數(shù)************/</p><p>  void bn_search();

110、/********按圖書名查詢函數(shù)**************/</p><p>  void id_search(); /********按圖書登錄號(hào)查詢函數(shù)**********/</p><p>  void index(); /********顯示登錄界面函數(shù)**************/</p><p>  void login();

111、 /********管理員進(jìn)入函數(shù)****************/</p><p>  void byebye(); /********離開界面函數(shù)******************/</p><p>  void adm_view(); /********輸入登錄帳號(hào)密碼界面函數(shù)******/</p><p>  void new

112、_adm_view(); /********新用戶注冊(cè)界面函數(shù)************/</p><p>  /************************************登錄離開模塊**************************************/</p><p>  void index() </p><p><b>  {

113、</b></p><p>  char input;</p><p>  printf("\n\n\t\t\t*****************************\n");</p><p>  printf("\t\t\t 圖書信息管理系統(tǒng)\n");</p><p>  prin

114、tf("\t\t\t*****************************\n\n\n");</p><p>  printf(" ------------------------------------------------------------------------------\n");</p><p>  printf("\

115、t<按任意鍵進(jìn)入>\n\t");</p><p>  input=getchar(); </p><p><b>  }</b></p><p>  void login()</p><p><b>  {</b></p><p>  int in

116、put;</p><p>  char input_1; </p><p><b>  do </b></p><p>  { printf("\t1.管理員進(jìn)入\n"); </p><p>  printf("\t2.新用戶注冊(cè)\n");</p><p&g

117、t;  printf("\t3.退出本系統(tǒng)\n\n\n");</p><p>  printf("\t請(qǐng)選擇服務(wù)類別:");</p><p>  scanf("%d",&input);</p><p>  switch(input)</p><p><b>  {&

118、lt;/b></p><p><b>  case 1:{</b></p><p>  adm_view();break; /********管理員進(jìn)入界面函數(shù)************/</p><p><b>  }</b></p><p><b>  case 2:{</b

119、></p><p>  new_adm_view();break;/********新用戶注冊(cè)界面函數(shù)************/</p><p><b>  }</b></p><p><b>  case 3:{</b></p><p>  byebye(); break;/*******

120、*離開界面函數(shù)************/</p><p><b>  } </b></p><p><b>  default: </b></p><p><b>  {</b></p><p>  printf("\n\t輸入出錯(cuò)!請(qǐng)重新選擇~\n");&

121、lt;/p><p>  printf("\n\t按任意鍵返回選擇頁面~\n\t");</p><p>  input_1=getchar();</p><p><b>  }</b></p><p><b>  }</b></p><p><b> 

122、 }</b></p><p>  while(input!=1&&input!=2&&input!=3);</p><p><b>  }</b></p><p>  void byebye() </p><p><b>  {</b></p&g

123、t;<p>  printf("\n\n\n\t\t*感謝您的使用*\n\n\t\t");</p><p>  printf("按任意鍵退出本系統(tǒng)\n\t\t");</p><p>  getchar();</p><p>  exit(0); </p><p><b>  }

124、</b></p><p>  void adm_view() /***********管理員進(jìn)入***********/</p><p><b>  {</b></p><p>  char password[20];char ad[20];</p><p>  int k,w,i;</p>

125、<p><b>  FILE *fp;</b></p><p>  struct manage pswd;</p><p><b>  do </b></p><p><b>  {</b></p><p>  printf("\n\n\t請(qǐng)輸入管理員帳號(hào):

126、");</p><p>  scanf("%s",administrator);</p><p>  strcpy(ad,administrator);</p><p>  fp=fopen(strcat(ad,".txt"),"r");</p><p>  printf(

127、"\n\n\t請(qǐng)輸入管理員密碼:");</p><p>  /************密碼輸入,回顯星號(hào)的程序*******************/</p><p>  for (i=0; i<30; i++)</p><p><b>  {</b></p><p>  password[i]

128、 = getch(); /*逐次賦值,但不回顯*/</p><p>  printf("*"); /*以星號(hào)代替字符個(gè)數(shù)*/</p><p>  if (password[i] == '\x0d') /*回車則終止循環(huán)*/</p><p><b>  {</b><

129、;/p><p>  password[i] ='\0';</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  /************密碼輸入

130、,回顯星號(hào)的程序*******************/ </p><p>  fread(&pswd,sizeof(struct manage),1,fp);</p><p>  fclose(fp);</p><p>  w=strcmp(pswd.manage_name,administrator); </p><p>  k=

131、strcmp(pswd.password,password);</p><p><b>  }</b></p><p>  while (w!=0||k!=0);</p><p>  menu(); </p><p><b>  }</b></p><p>  voi

132、d new_adm_view() /*******新用戶注冊(cè)********/ </p><p><b>  { </b></p><p>  char password[20];char ad[20];</p><p>  int k,w,i;</p><p><b>  FILE *fp;</b

133、></p><p>  struct manage Manage;</p><p>  printf("\n\n\t請(qǐng)輸入管理員帳號(hào):");</p><p>  scanf("%s",administrator);</p><p>  strcpy(ad,administrator);</p

134、><p>  fp=fopen(strcat(ad,".txt"),"wb");</p><p>  printf("\n\n\t請(qǐng)輸入管理員密碼:");</p><p>  /************密碼輸入,回顯星號(hào)的程序*******************/</p><p>  

135、for (i=0; i<30; i++)</p><p><b>  {</b></p><p>  password[i] = getch(); /*逐次賦值,但不回顯*/</p><p>  printf("*"); /*以星號(hào)代替字符個(gè)數(shù)*/</p><p>

136、  if (password[i] == '\x0d') /*回車則終止循環(huán)*/</p><p><b>  {</b></p><p>  password[i] ='\0';</p><p><b>  break;</b></p><p><b> 

137、 }</b></p><p><b>  }</b></p><p>  /************密碼輸入,回顯星號(hào)的程序*******************/</p><p>  strcpy(Manage.manage_name,administrator);/*將帳號(hào)密碼暫存入結(jié)構(gòu)體變量Manage中*/</p&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(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)論