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

下載本文檔

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

文檔簡介

1、<p><b>  課程設(shè)計(jì)(論文)</b></p><p>  題 目 名 稱 學(xué)生證查找問題 </p><p>  課 程 名 稱 C語言程序課程設(shè)計(jì) </p><p>  學(xué) 生 姓 名

2、 </p><p>  學(xué) 號 </p><p>  系 、專業(yè) 信息工程系、信息大類 </p><p>  指 導(dǎo) 教 師 </p>&l

3、t;p>  2010年 6 月 26 日</p><p><b>  目 錄</b></p><p><b>  1前言2</b></p><p><b>  2需求分析2</b></p><p><b>  2.1要求2</b><

4、/p><p><b>  2.2任務(wù)2</b></p><p><b>  2.3運(yùn)行環(huán)境2</b></p><p><b>  2.4開發(fā)工具2</b></p><p><b>  3概要設(shè)計(jì)3</b></p><p>  

5、3.1 系統(tǒng)流程圖3</p><p>  3.2查詢函數(shù)流程圖4</p><p><b>  4詳細(xì)設(shè)計(jì)5</b></p><p>  4.1分析和設(shè)計(jì)5</p><p>  4.2 具體代碼實(shí)現(xiàn)6</p><p>  4. 3 測試與輸入輸出9</p><p&g

6、t;  5課程設(shè)計(jì)的總結(jié)與體會11</p><p><b>  參考文獻(xiàn)12</b></p><p><b>  致 謝13</b></p><p><b>  前言</b></p><p>  編寫一個程序來處理學(xué)生證信息。通過一個結(jié)構(gòu)體數(shù)組來存放輸入的每一位同學(xué)學(xué)

7、生證信息(包括姓名、年級、專業(yè)、學(xué)號、家庭地址),然后將其信息存入文件中。輸入一個學(xué)生姓名查詢該同學(xué)的信息,并顯示在屏幕上。</p><p><b>  需求分析</b></p><p><b>  2.1要求</b></p><p> ?。?)用c語言實(shí)現(xiàn)程序設(shè)計(jì);</p><p> ?。?)利用

8、結(jié)構(gòu)體進(jìn)行相關(guān)信息處理;</p><p>  (3)畫出查詢模塊的流程圖;</p><p> ?。?)系統(tǒng)的各個功能模塊要求用函數(shù)的形式實(shí)現(xiàn);</p><p>  (5)界面友好(良好的人機(jī)互交),程序要有注釋。</p><p><b>  2.2任務(wù)</b></p><p>  (1)定義一個結(jié)

9、構(gòu)體類型數(shù)組,輸入每一位同學(xué)的記錄(包括姓名、年級、專業(yè)、學(xué)號、家庭地址),將其信息存入文件中;</p><p> ?。?)輸入姓名查詢該同學(xué)的信息,并顯示在屏幕上;</p><p> ?。?)畫出所有模塊的流程圖;</p><p><b>  (4)編寫代碼;</b></p><p> ?。?)程序分析與調(diào)試。<

10、/p><p><b>  2.3運(yùn)行環(huán)境</b></p><p>  (1)WINDOWS2000/XP系統(tǒng)</p><p>  (2)Turboc2.0編譯環(huán)境</p><p><b>  2.4開發(fā)工具</b></p><p><b>  C語言</b>

11、</p><p><b>  3概要設(shè)計(jì)</b></p><p><b>  3.1流程圖</b></p><p>  系統(tǒng)流程圖如圖3.1所示。</p><p>  圖3.1 系統(tǒng)流程圖</p><p>  3.2函數(shù)“查找”流程圖</p><p>

12、;  查找函數(shù)流程圖如圖3.2所示。</p><p>  圖3.2 查詢函數(shù)流程圖</p><p><b>  4詳細(xì)設(shè)計(jì)</b></p><p><b>  4.1 分析與設(shè)計(jì)</b></p><p>  在程序的開頭部分定義結(jié)構(gòu)體類型和全局的結(jié)構(gòu)體數(shù)組,用來存放同學(xué)信息,假設(shè)共4條。</p

13、><p>  #include "stdio.h"</p><p>  #define n 4</p><p>  struct student</p><p><b>  {</b></p><p>  char name[10];</p><p>  

14、char class[10];</p><p>  char profess[10];</p><p><b>  int num;</b></p><p>  char add[20];</p><p><b>  }stu[n];</b></p><p>  定義一個指針

15、fp輸入學(xué)生信息放sta數(shù)組中。并將結(jié)構(gòu)體數(shù)組中的所有信息寫入到文件data.dat中,之后再關(guān)閉文件。</p><p><b>  main()</b></p><p>  {FILE *fp;</p><p>  void find();</p><p><b>  int i;</b><

16、/p><p>  if((fp=fopen("data.dat","w"))==NULL)</p><p>  {printf("\n can't open data.dat !\n");</p><p><b>  exit(0);}</b></p><p&g

17、t;  for(i=0;i<n;i++)</p><p>  {printf("input name :");scanf("%s",stu[i].name);</p><p>  printf("input class:");scanf("%s",stu[i].class);</p><

18、;p>  printf("input profession:");scanf("%s",stu[i].profess);</p><p>  printf("input num:");scanf("%d",&stu[i].num);</p><p>  printf("input add

19、:");scanf("%s",stu[i].add);</p><p>  fprintf(fp,"%s%s%s%d%s",stu[i].name,stu[i].class,stu[i].profess,stu[i].num,stu[i].add);</p><p><b>  }</b></p><

20、;p>  fclose(fp);</p><p><b>  find();</b></p><p><b>  }</b></p><p>  在find函數(shù)中先用寫的方式打開文件data.dat,若不存在則新建一個,若無法打開則輸出can not open files data.dat,將結(jié)構(gòu)體中的同學(xué)信息以數(shù)據(jù)

21、塊的形式存入文件data.txt中。存入后,關(guān)閉文件。</p><p>  用自定義的查找函數(shù)find ()實(shí)現(xiàn)對學(xué)生的信息查找。</p><p>  void find()</p><p><b>  {int j,a;</b></p><p>  char nam[10];</p><p> 

22、 printf("qing shu ru xing ming:");</p><p>  scanf("%s",&nam);</p><p>  for(j=0;j<n;j++)</p><p><b>  {</b></p><p>  a=strcmp(nam,s

23、tu[j].name);</p><p><b>  if(a==0)</b></p><p>  printf("class,profession,number,address\n",stu[j].class,stu[j].profess,stu[j].num,stu[j].add );</p><p>  printf

24、("%s,%s,%d,%s",stu[j].class,stu[j].profess,stu[j].num,stu[j].add);</p><p>  return; }</p><p>  printf("cha wu ci ren\n");</p><p>  }在這個函數(shù)中采用字符串,如果輸入的字符串與文件中的一個

25、字符串相同,則輸出該字符串代表的學(xué)生的所有信息:姓名、電話號碼、email、地址。</p><p>  4.2 具體代碼實(shí)現(xiàn)</p><p>  #include "stdio.h"</p><p>  #define n 4</p><p>  struct student</p><p>&l

26、t;b>  {</b></p><p>  char name[10];</p><p>  char class[10];</p><p>  char profess[10];</p><p><b>  int num;</b></p><p>  char add[20]

27、;</p><p><b>  }stu[n];</b></p><p><b>  main()</b></p><p>  {FILE *fp;</p><p>  void find();</p><p><b>  int i;</b></

28、p><p>  if((fp=fopen("data.dat","w"))==NULL)</p><p>  {printf("\n can't open data.dat !\n");</p><p><b>  exit(0);}</b></p><p>

29、;  for(i=0;i<n;i++)</p><p>  {printf("input name :");scanf("%s",stu[i].name);</p><p>  printf("input class:");scanf("%s",stu[i].class);</p><

30、p>  printf("input profession:");scanf("%s",stu[i].profess);</p><p>  printf("input num:");scanf("%d",&stu[i].num);</p><p>  printf("input add:

31、");scanf("%s",stu[i].add);</p><p>  fprintf(fp,"%s%s%s%d%s",stu[i].name,stu[i].class,stu[i].profess,stu[i].num,stu[i].add);</p><p><b>  }</b></p><

32、p>  fclose(fp);</p><p><b>  find();</b></p><p><b>  }</b></p><p>  void find()</p><p><b>  {int j,a;</b></p><p>  ch

33、ar nam[10];</p><p>  printf("qing shu ru xing ming:");</p><p>  scanf("%s",&nam);</p><p>  for(j=0;j<n;j++)</p><p><b>  {</b><

34、/p><p>  a=strcmp(nam,stu[j].name);</p><p><b>  if(a==0)</b></p><p>  printf("class,profession,number,address\n",stu[j].class,stu[j].profess,stu[j].num,stu[j].add

35、 );</p><p>  printf("%s,%s,%d,%s",stu[j].class,stu[j].profess,stu[j].num,stu[j].add);</p><p>  return; }</p><p>  printf("cha wu ci ren\n");</p><p&

36、gt;<b>  }</b></p><p>  4.3 測試與輸入輸出</p><p>  輸入學(xué)生的信息,系統(tǒng)產(chǎn)生一data.dat二進(jìn)制文件。</p><p>  輸入需要查找的學(xué)生姓名</p><p><b>  輸出查找的學(xué)生姓名</b></p><p>  5課程

37、設(shè)計(jì)的總結(jié)與體會</p><p>  一個星期的課程設(shè)計(jì),雖然有些疲勞和困倦,但帶給我很多的收獲。C語言已經(jīng)學(xué)了一個學(xué)期,大概三個多月了,有許多知識都存在似懂非懂的現(xiàn)象,這種現(xiàn)象通過實(shí)際的上機(jī)操作,已經(jīng)減少了許多。對這些知識也有了更深的理解和很好的掌握。也有很多理論上說得過去的代碼,但到了實(shí)際操作,卻是行不通的。這種困惑,有許多已經(jīng)通過實(shí)際操作解決了,并能夠深刻認(rèn)識,但也有很多沒有明白。只能避過這些方法,換方法實(shí)

38、現(xiàn)。在課程設(shè)計(jì)之前,因?yàn)橛辛司C合實(shí)驗(yàn)的經(jīng)驗(yàn)與教訓(xùn),明白了寫代碼這一步是非常重要的,因?yàn)楫?dāng)你把代碼輸入電腦,并用編譯器將其運(yùn)行,發(fā)現(xiàn)通過不了,再來檢查找出問題,這是一件非常辛苦的事情,也很浪費(fèi)時間。于是在課程設(shè)計(jì)的時候,我花了兩天的時間來規(guī)劃與寫代碼,將要實(shí)現(xiàn)的內(nèi)容分析清楚,才把代碼輸入電腦,但卻有另一些問題,例如亂碼的問題,這就要花很多的時間在重新寫代碼上了,用一些可能不出現(xiàn)亂碼的方法來實(shí)現(xiàn)該功能。因此我覺得每次寫程序,應(yīng)該先找到該程序

39、中的核心地方,用多種方法來實(shí)現(xiàn)該核心,這才可能避免等到發(fā)現(xiàn)邏輯上或者編譯器不支持上的錯誤,才來想補(bǔ)救的措施,這樣花費(fèi)時間在想補(bǔ)救措施是很不值得的。此外,這樣多種方法寫程序可以鍛煉自己</p><p>  通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實(shí)際動手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程

40、中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固。</p><p>  這次課程設(shè)計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多專業(yè)知識問題,最后在老師的辛勤指導(dǎo)下,終于游逆而解。同時,在老師的身上我們學(xué)也到很多實(shí)用的知識,在次我們表示感謝!同時,對給過我?guī)椭乃型瑢W(xué)和各位指導(dǎo)老師再次表示忠心的感謝!&l

41、t;/p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 張福祥. C語言程序設(shè)計(jì)[M]. 遼寧大學(xué)出版社,2008.1 . 64-74頁 121-145 頁181-198頁</p><p>  [2] 張福祥. 王萌.C語言程序設(shè)計(jì)習(xí)題解答與實(shí)驗(yàn)實(shí)訓(xùn)[M].沈陽:遼寧大學(xué)出版社,2008.21-64頁</p>&l

42、t;p>  [3] 牛莉. 劉遠(yuǎn)軍等.計(jì)算機(jī)等級考試輔導(dǎo)教程[M].北京:中國鐵道出版社,2008.104-126頁</p><p><b>  致  謝</b></p><p>  感謝指導(dǎo)老師在百忙之中抽出時間為我們批改程序,指導(dǎo)監(jiān)督我們做程序設(shè)計(jì),為我們操心,同時也感謝您一直來耐心教導(dǎo)我們、嚴(yán)格要求!老師您辛苦了!可是,學(xué)生盡管努力了還是知識有限

溫馨提示

  • 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

提交評論