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

下載本文檔

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

文檔簡介

1、<p><b>  《課程名稱》</b></p><p><b>  課程設(shè)計報告</b></p><p>  安徽師范大學(xué)物理與電子信息學(xué)院</p><p>  College of Physics and Electronic Information, Anhui Normal University</

2、p><p><b>  目 錄</b></p><p><b>  一、程序的具體分工</b></p><p><b>  二、課題要求 </b></p><p><b>  三、課題分析與設(shè)計</b></p><p><b&

3、gt;  四、選題背景</b></p><p><b>  五、程序介紹</b></p><p>  六、源程序代碼與調(diào)試</p><p><b>  七、流程圖</b></p><p><b>  八、結(jié)語</b></p><p><

4、b>  九、參考書目</b></p><p><b>  一、程序的具體分工</b></p><p>  第一部分包括主函數(shù)和menu菜單函數(shù),第二部分包括客人的入?。╟heckin)函數(shù)和退房(checkout)函數(shù),第三部分為查詢(lookfor)函數(shù)。</p><p><b>  二、課題要求</b>

5、;</p><p>  某賓館有301、302、303、304、305五個標(biāo)準(zhǔn)間,每個標(biāo)準(zhǔn)間可住2人;</p><p>  鏈表存儲結(jié)構(gòu):姓名、性別、房號、后續(xù)指針,按房間號有序;</p><p>  能實現(xiàn)入?。ㄗ⒁庑詣e)和退房,能按給定姓名、房號查詢;</p><p>  建議采用鏈表結(jié)構(gòu),但用其它方法實現(xiàn)也可。</p>&

6、lt;p><b>  三、課題分析與設(shè)計</b></p><p>  本程序是非數(shù)值計算型算法設(shè)計,我們設(shè)計出了賓館客房管理系統(tǒng)的基本功能,并設(shè)計了簡單的界面。本程序主要考察對自定義函數(shù)的熟悉程度,本程序主要使用的是結(jié)構(gòu)體和數(shù)組,包括結(jié)構(gòu)體數(shù)組的輸入、輸出、查找、刪除等。我設(shè)計的這個賓館客房系統(tǒng)也初步實現(xiàn)了人員信息的顯示、刪除、查找、添加等必要的功能。</p><p

7、><b>  選題背景</b></p><p>  C語言是目前世界上流行、使用最廣泛的高級程序設(shè)計語言。1972年,C語言在美國貝爾實驗室里問世,后來又被多次改進(jìn),并出現(xiàn)了多種版本。80年代初,美國國家標(biāo)準(zhǔn)化協(xié)會(ANSI),根據(jù)C語言問世以來各種版本對C語言的發(fā)展和擴(kuò)充,制定了ANSIC標(biāo)準(zhǔn)。</p><p>  目前,在微機(jī)上廣泛使用的C語言編譯系統(tǒng)有Mi

8、crosoftC、Turbo C 、Visual C++等。這</p><p>  C語言版本不僅實現(xiàn)了ANSIC標(biāo)準(zhǔn),而且在此基礎(chǔ)上各自作了一些擴(kuò)充,使之更加方便、完美。</p><p>  C語言是一種結(jié)構(gòu)化語言。它層次清晰,便于按模塊化方式組織程序,易于調(diào)試和維護(hù)。C語言的表現(xiàn)能力和處理能力極強(qiáng)。它不僅具有豐富的運(yùn)算符和數(shù)據(jù)類型,便于實現(xiàn)各類復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。它還可以直接訪問內(nèi)存的物理

9、地址,進(jìn)行位(bit)一級的操作。由于C語言實現(xiàn)了對硬件的編程操作,因此C語言集高級語言和低級語言的功能于一體。既可用于系統(tǒng)軟件的開發(fā),也適合于應(yīng)用軟件的開發(fā)。</p><p>  此外,C語言還具有效率高,可移植性強(qiáng)等特點。因此廣泛地移植到了各類各型計算機(jī)上,從而形成了多種版本的C語言。</p><p>  為了將本學(xué)期所學(xué)C語言知識應(yīng)用于實際,加深對C語言的理解與掌握,我院開設(shè)了C語言

10、課程設(shè)計這門課程。而我們小組選取了賓館客房管理系統(tǒng)這個課題,以此來鍛煉我們編寫程序的能力。</p><p><b>  五、程序介紹</b></p><p>  賓館客房管理系統(tǒng)由8個函數(shù)組成,包括main函數(shù)、menu函數(shù)、checkin函數(shù)、checkout函數(shù)、lookfor函數(shù),其中checkin函數(shù)又包括一個add子函數(shù),lookfor函數(shù)包括search1

11、和search2兩個子函數(shù)。 </p><p>  main函數(shù)主要是對menu函數(shù)、checkin函數(shù)、checkout函數(shù)、lookfor函數(shù)進(jìn)行聲明,建立靜態(tài)鏈表并且對結(jié)構(gòu)體中num、sex進(jìn)行賦值。</p><p>  menu函數(shù)是界面函數(shù),有兩個功能。一是輸出一個界面,二是作為進(jìn)入其它函數(shù)的入口。輸入1則執(zhí)行checkin函數(shù);輸入2則執(zhí)行checkout函數(shù) ,輸入3則執(zhí)行l(wèi)

12、ookfor函數(shù);輸入4則執(zhí)行返回管理系統(tǒng)。 </p><p>  checkin函數(shù)的功能是對入住房客的信息進(jìn)行統(tǒng)計。首先、函數(shù)先對五個房間的入住情況進(jìn)行檢查,并輸出相應(yīng)的信息。例如、若房間301是空的,則顯示可住兩人信息;若已住一人,則顯示可住一人信息,并且同時顯示可住房客的性別;若已有兩人入住,則不顯示任何信息。如果房客已決定入住,則輸入1,進(jìn)入add函數(shù),按提示輸入房客信息即可。若要返回menu函數(shù)

13、,則輸入1。</p><p>  checkout函數(shù)的功能是退房。按提示信息輸入房間號和姓名即可實現(xiàn)退房。若要返回menu函數(shù),輸入1。</p><p>  lookfor函數(shù)的功能是查詢房客的信息,有按姓名查找和按房間號查找兩種查詢方式。輸入1則執(zhí)行search1子函數(shù),即按姓名查找;輸入2則執(zhí)行search2子函數(shù),即按房號查找;輸入3,執(zhí)行manu函數(shù)。若按姓名查找,則輸入姓名即可

14、;若按房間號查找,則輸入房間號即可;若要退回lookfor函數(shù),則輸入1。</p><p>  /*房間管理程序*/</p><p>  #include <stdio.h></p><p>  #include <string.h></p><p>  #define N 5</p><p>

15、  struct room</p><p><b>  {</b></p><p>  char name[2][20];</p><p>  char sex[2];</p><p>  int intx[2],roomnum;</p><p><b>  };</b>&l

16、t;/p><p>  struct room broom[N] = { {{" "," "},{' ',' '},{0,0},301},{{" "," "},{' ',' '},{0,0},302},</p><p>  {{" "

17、," "},{' ',' '},{0,0},303},{{" "," "},{' ',' '},{0,0},304},</p><p>  {{" "," "},{' ',' '},{0,0},305}</p>

18、;<p><b>  };</b></p><p>  void checkin();</p><p>  void checkout();</p><p>  void lookfor();</p><p>  void main(void)</p><p><b>  

19、{</b></p><p>  int intj=0;</p><p>  while (intj != 4)//主菜單 </p><p><b>  {</b></p><p>  printf("\t\tPlease Select:\n\t\t1.Check In\n\t\t2.Check Ou

20、t\n\t\t3.Search\n\t\t4.Exit\n\t\tPlease Select a Task:");</p><p>  scanf("%d",&intj);</p><p>  if ( intj == 1 )</p><p><b>  {</b></p><p>

21、  checkin();</p><p><b>  }</b></p><p>  else if ( intj == 2)</p><p><b>  {</b></p><p>  checkout();</p><p><b>  }</b>&l

22、t;/p><p>  else if ( intj == 3)</p><p><b>  {</b></p><p><b>  search();</b></p><p><b>  }</b></p><p>  else if ( intj == 4

23、 )</p><p><b>  {</b></p><p><b>  char ch;</b></p><p>  printf("\t\tAre You Sure?(Y/N):");</p><p>  getchar();</p><p>  ch

24、 = getchar();</p><p>  if ( ch != 'Y' && ch != 'y')</p><p><b>  {</b></p><p><b>  intj = 0;</b></p><p><b>  }</

25、b></p><p><b>  }</b></p><p><b>  else </b></p><p><b>  {</b></p><p>  printf ("\t\tWarning : Wrong Task! Please Select Again

26、\n");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void checkin()//錄入模塊 </p><p><b>  {<

27、/b></p><p>  char name[20],sex,ch;</p><p>  int inti=0,intj=0;</p><p>  printf ("\t\tInput Information(Name sex(F/M)):");</p><p>  scanf ("%s %c"

28、,name,&sex);</p><p>  printf ("\t\tAvailable:\n");</p><p>  for (inti=0;inti<N;inti++)//查找可用床位 </p><p><b>  {</b></p><p>  if (broom[inti].

29、intx[0] != 1 && broom[inti].intx[1] != 1)</p><p><b>  {</b></p><p>  printf ("\t\t%d %d\n\t\t%d %d\n",301+inti,1,301+inti,2);</p><p><b>  intj+

30、+;</b></p><p><b>  }</b></p><p>  else if (broom[inti].intx[0] == 1 && broom[inti].sex[0] == sex)</p><p><b>  {</b></p><p>  print

31、f("\t\t%d %d\n",301+inti,2);</p><p><b>  intj++;</b></p><p><b>  }</b></p><p>  else if (broom[inti].intx[1] == 1 && broom[inti].sex[1] ==

32、 sex)</p><p><b>  {</b></p><p>  printf ("\t\t%d %d\n",301+inti,1);</p><p><b>  intj++;</b></p><p><b>  }</b></p>

33、<p><b>  else </b></p><p><b>  {</b></p><p><b>  ;</b></p><p><b>  } </b></p><p><b>  }</b></p>

34、;<p>  if ( intj == 0 )//錄入信息,完成入住 </p><p><b>  {</b></p><p>  printf("\t\tNo Bed Left");</p><p>  system("cls");</p><p><b>

35、;  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  int roomnum,bednum;</p><p>  lp1: printf ("\t\tPlease Select Room And be

36、d:");</p><p>  getchar();</p><p>  scanf("%d%d",&roomnum,&bednum);</p><p>  if (roomnum > 305 || roomnum < 301 || bednum > 2 || bednum < 1)</p&

37、gt;<p><b>  {</b></p><p>  printf ("\t\tWrong Room Number Or Bed Number!\n");</p><p><b>  goto lp1;</b></p><p><b>  }</b></p&

38、gt;<p>  strcpy (broom[roomnum-301].name[bednum-1],name);</p><p>  broom[roomnum-301].intx[bednum-1] = 1;</p><p>  broom[roomnum-301].sex[bednum-1] = sex;</p><p>  printf (&q

39、uot;\t\tSucceed\n\t\tContinue Checking In?(Y/N):");</p><p>  getchar();</p><p>  ch = getchar();</p><p>  if ( ch == 'Y' || ch == 'y' )</p><p><

40、b>  {</b></p><p>  system("cls");</p><p>  checkin();</p><p><b>  }</b></p><p>  system("cls");</p><p><b>  

41、}</b></p><p><b>  }</b></p><p>  void checkout()//注銷 </p><p><b>  {</b></p><p>  char name[20],ch;</p><p>  int inti=0,intj=0

42、,intx=0;</p><p>  printf ("\t\tPlease Input Name:");</p><p>  getchar();</p><p>  gets(name);</p><p>  for (inti=0;inti<N;inti++)</p><p><b

43、>  {</b></p><p>  for (intj=0;intj<2;intj++)</p><p><b>  {</b></p><p>  if ( strcmp(broom[inti].name[intj],name) == 0 )</p><p><b>  {</

44、b></p><p><b>  intx = 1;</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if ( in

45、tx == 1 )</p><p><b>  {</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  printf (&qu

46、ot;\t\tAre You Sure?(Y/N)");</p><p>  ch=getchar();</p><p>  if ( ch == 'Y' || ch == 'y' )</p><p><b>  {</b></p><p>  broom[inti].intx[

47、intj] = 0;</p><p>  printf ("\t\tSucceed");</p><p><b>  }</b></p><p>  system("pause"); </p><p>  system("cls"); </p>

48、<p><b>  }</b></p><p>  void lookfor()//查找住客 </p><p><b>  {</b></p><p>  int inti = 0,intj = 0;</p><p>  lp2: printf ("\t\t1.By Name

49、\n\t\t2.By Roomnumber\n\t\tPlease select:");//選擇查找方式 </p><p>  scanf ("%d",&inti);</p><p>  if ( inti > 2 || inti < 1)</p><p><b>  {</b></p&g

50、t;<p>  printf ("\t\tWrong Number!\n");</p><p><b>  goto lp2;</b></p><p><b>  }</b></p><p>  if ( inti == 1 )//根據(jù)姓名查找 </p><p>&

51、lt;b>  {</b></p><p>  char name[20];</p><p>  printf("\t\tPlease Input Name:");</p><p>  getchar();</p><p>  gets(name);</p><p>  for (i

52、nti=0;inti<N;inti++)</p><p><b>  {</b></p><p>  for (intj=0;intj<2;intj++)</p><p><b>  {</b></p><p>  if ( strcmp(broom[inti].name[intj],n

53、ame) == 0 && broom[inti].intx[intj] == 1 )</p><p><b>  {</b></p><p>  printf ("\t\t%s %d %d %c\n",broom[inti].name[intj],301+inti,intj+1,broom[inti].sex[intj]

54、);</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b&g

55、t;</p><p>  else if ( inti = 2)//根據(jù)房間號查找 </p><p><b>  {</b></p><p>  int inty=0;</p><p>  printf("\t\tPlease Input Room Number:");</p><

56、p>  scanf("%d",&inty);</p><p>  if ( broom[inty-301].intx[0] == 1 )</p><p><b>  {</b></p><p>  printf("\t\t%s %d %d %c\n",broom[inty-301

57、].name[0],inty,1,broom[inty-301].sex[0]);</p><p><b>  }</b></p><p>  if ( broom[inty-301].intx[1] == 1 )</p><p><b>  {</b></p><p>  printf("

58、;\t\t%s %d %d %c\n",broom[inty-301].name[1],inty,2,broom[inty-301].sex[1]);</p><p><b>  }</b></p><p><b>  }</b></p><p>  system("pause")

59、; </p><p>  system("cls");</p><p><b>  }</b></p><p><b>  六、流程圖</b></p><p><b>  七、結(jié)語</b></p><p>  通過這次課程設(shè)計,在我和

60、我們小組成員的共同的努力下,將《賓館客房管理系統(tǒng)》這個軟件編寫出來并運(yùn)行成功。在此同時,也加深了我對譚浩強(qiáng)的《C語言程序設(shè)計》這本書的體會和了解。我對很多的函數(shù)有了新的認(rèn)識,也學(xué)會了運(yùn)用多種函數(shù),我也明白了寫軟件的基本過程和基本方法。寫軟件的過程中我又學(xué)到了曾經(jīng)自己不知道的函數(shù)或是自己不會的</p><p>  函數(shù)的用法。這次課程設(shè)計課總的來說讓我受益匪淺。在軟件的設(shè)計過程中遇到了很多的困難。在軟件一次一次的調(diào)

61、試失敗下曾經(jīng)想過要放棄。我最后還是讓自己堅持了下來,毫不畏懼困難,在同學(xué)和老師的幫助與講解下我總算是順利的完成了軟件的設(shè)計。雖然在調(diào)試程序遇到了很多的困難,當(dāng)軟件調(diào)試成功時那種喜悅的感覺沒有什么東西可以代替的。在程序的編寫過程中我發(fā)現(xiàn)我自己有很多的知識漏洞和缺陷,需要進(jìn)一步努力學(xué)習(xí)來完善自己。</p><p>  在這幾天的編寫過程中我對C語言有了更進(jìn)一步的認(rèn)識和了解。此次編程過程的經(jīng)驗和知識肯定能促進(jìn)我以后的學(xué)

62、習(xí)。</p><p>  此次課程設(shè)計不僅給了我很多很好的經(jīng)驗,也讓我體會到了失敗時的焦急和難受,成功時的興奮與喜悅。同時我們小組成員互幫互助,讓我認(rèn)識到團(tuán)隊的力量,團(tuán)結(jié)就是力量。</p><p><b>  八、參考書目</b></p><p>  譚浩強(qiáng),C程序設(shè)計教程,清華大學(xué)出版社,2007年</p><p> 

63、 趙永哲,李雄飛,戴秀英編著,《C語言程序設(shè)計》,科學(xué)出版社,2003年</p><p>  夏寬理,趙子正編著,《C語言程序設(shè)計》,中國鐵道出版社,2006年</p><p>  譚浩強(qiáng)編著,《C程序設(shè)計》,清華大學(xué)出版社,1991年</p><p>  Gary J. Bronson, A First Book of ANSI C (Fourth Edition

64、), Publishing House of Electronics Industry, 2006.</p><p>  Al Kelley, Ira Pohl, A Book on C: Programming in C (Fourth Edition), China Machine Press, 2004.</p><p>  Brian W. Kernighan, Dennis M.

溫馨提示

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

評論

0/150

提交評論