課程設(shè)計(jì)--時(shí)間編程_第1頁
已閱讀1頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  C語言課程設(shè)計(jì)</b></p><p><b>  時(shí)間編程</b></p><p><b>  院(系)別 </b></p><p>  班 級(jí) </p><p>  學(xué) 號(hào)

2、 </p><p>  姓 名 </p><p>  指導(dǎo)教師 </p><p>  時(shí) 間 </p><p>  課 程 設(shè) 計(jì) 任 務(wù) 書</p><p>  題 目 時(shí)間編程

3、 </p><p>  系 (部) </p><p>  專 業(yè) </p><p>  班 級(jí) </p><p>  學(xué)生姓名

4、 </p><p>  學(xué) 號(hào) </p><p>  09 月 03 日至 09 月 07 日 共 1 周</p><p>  指導(dǎo)教師(簽字) </p><p>  系 主

5、任(簽字) </p><p>  年 月 日</p><p><b>  目 錄</b></p><p>  1、 摘要………………………………………………………………4</p><p>  2、功能要求……………………………………………………………4</p><

6、;p>  3、要求與數(shù)據(jù)…………………………………………………………4</p><p>  4、課程設(shè)計(jì)應(yīng)完成的工作 …………………………………………4</p><p>  5、開發(fā)環(huán)境概述………………………………………………………4</p><p>  6、數(shù)字時(shí)鐘的總體設(shè)計(jì)………………………………………………5</p><p>  

7、7、總體設(shè)計(jì)流程圖……………………………………………………5</p><p>  8、程序代碼…………………………………………………………6</p><p>  9、程序調(diào)試……………………………………………………………9</p><p>  10設(shè)計(jì)體會(huì)及今后的改進(jìn)意見…………………………………9</p><p>  11、 主要參考文獻(xiàn)…

8、………………………………………………10</p><p><b>  摘要</b></p><p>  此程序在屏幕正中有一個(gè)指針式鐘面,窗口標(biāo)題以數(shù)字方式顯示日期和時(shí)間。指針式的時(shí)鐘表盤為橢圓形或圓形,并且圓周上有分布均勻的 12 個(gè)刻度,鐘面上有長度不相同的指針,即時(shí)針、分針、秒針,指針的運(yùn)動(dòng)具有規(guī)律性, 且為順時(shí)針。數(shù)字鐘顯示時(shí)間的格式是年月日時(shí)分秒,小時(shí)為24

9、 進(jìn)制,分鐘和秒是60進(jìn)制,指針式的時(shí)鐘和數(shù)字式的時(shí)鐘顯示的時(shí)間同步,且兩個(gè)時(shí)鐘所顯示的時(shí)間與計(jì)算機(jī)的系統(tǒng)時(shí)間一致。</p><p>  關(guān)鍵字 指針 數(shù)字時(shí)鐘 系統(tǒng)時(shí)間</p><p><b>  一、功能要求:</b></p><p>  能模擬機(jī)械鐘表行走(時(shí)針,分針,秒針),還要準(zhǔn)確地利用數(shù)字顯示時(shí)間,在屏幕上顯示一個(gè)活動(dòng)時(shí)鐘,

10、當(dāng)前頁以系統(tǒng)當(dāng)前日期的月份為準(zhǔn)顯示當(dāng)前月的每一天(顯示出日及對(duì)應(yīng)的星期幾).當(dāng)系統(tǒng)日期變到下一月時(shí),系統(tǒng)自動(dòng)翻頁到下一月.按任意鍵時(shí)程序退出。</p><p><b>  二、要求與數(shù)據(jù)</b></p><p>  1、進(jìn)一步掌握和利用C語言進(jìn)行程設(shè)計(jì)的能力;</p><p>  2、進(jìn)一步理解和運(yùn)用結(jié)構(gòu)化程序設(shè)計(jì)的思想和方法;</p&g

11、t;<p>  3、初步掌握開發(fā)一個(gè)小型實(shí)用系統(tǒng)的基本方法;</p><p>  4、學(xué)會(huì)調(diào)試一個(gè)較長程序的基本方法;</p><p>  5、學(xué)會(huì)利用流程圖或N-S圖表示算法;</p><p>  6、掌握書寫程序設(shè)計(jì)開發(fā)文檔的能力。</p><p>  三、課程設(shè)計(jì)應(yīng)完成的工作</p><p>  1

12、、編寫完成相應(yīng)題目的程序;</p><p>  2、編寫課程設(shè)計(jì)報(bào)告,課程設(shè)計(jì)報(bào)告的內(nèi)容應(yīng)包括以下6個(gè)部分:</p><p>  1) 需求分析:包括設(shè)計(jì)題目、設(shè)計(jì)要求以及系統(tǒng)功能需求分析;</p><p>  2) 總體設(shè)計(jì):包括系統(tǒng)總體設(shè)計(jì)框架和系統(tǒng)功能模塊圖;</p><p>  3) 詳細(xì)設(shè)計(jì):包括主要功能模塊的算法設(shè)計(jì)思路以及對(duì)應(yīng)的

13、工作流程圖;</p><p>  4) 調(diào)試分析過程描述:包括測試數(shù)據(jù)、測試輸出結(jié)果,以及對(duì)程序調(diào)試過程中存在問題的思考(列出主要問題的出錯(cuò)現(xiàn)象、出錯(cuò)原因、解決方法及效果等,適當(dāng)?shù)陌Y(jié)果截圖);</p><p>  5) 總結(jié):課程設(shè)計(jì)完成了哪些功能,有沒有什么擴(kuò)展功能?還有哪些地方需要改進(jìn)?課程設(shè)計(jì)過程中的學(xué)習(xí)體會(huì)與收獲、對(duì)本次課程設(shè)計(jì)的認(rèn)識(shí)以及自己的建議等內(nèi)容; </p>

14、<p>  6) 附錄:主要源程序代碼,含必要的注釋。</p><p>  3、答辯:在實(shí)驗(yàn)室建立程序運(yùn)行的環(huán)境,并在指導(dǎo)教師的監(jiān)督下,獨(dú)立解</p><p>  決問題、運(yùn)行程序和回答教師提出的問題。</p><p><b>  四、開發(fā)環(huán)境概述</b></p><p>  Visual C++是微軟公司

15、的重要產(chǎn)品之一, 是一種功能強(qiáng)大行之有效的可視化編程工具。它提供了MFC類庫,使用戶可以方便的開發(fā)自己想實(shí)現(xiàn)的功能。Visual C++6.0的主要特點(diǎn):</p><p> ?。?)自動(dòng)化和宏功能。</p><p> ?。?)可以靈活地定制工具欄和菜單。</p><p> ?。?)可以直接運(yùn)行和調(diào)試程序,還可以使用宏語言來自動(dòng)操作調(diào)試器。</p>&l

16、t;p> ?。?)支持Internet連接。</p><p> ?。?)一個(gè)新的便捷的項(xiàng)目系統(tǒng)可以允許一個(gè)工作區(qū)內(nèi)包含多個(gè)不同的項(xiàng)目類型。</p><p> ?。?)在工作區(qū)內(nèi)可以包含多個(gè)并列的工程文件。</p><p> ?。?)可以在對(duì)話框中使用WizardBar將程序同可視化元素聯(lián)系起來。</p><p> ?。?)Find in

17、 File命令支持兩個(gè)獨(dú)立的輸出窗格,可以保存上一次搜索的結(jié)果。</p><p>  這些新特性可以更好地利用Visual C++開發(fā)工具進(jìn)行Windows應(yīng)用程序開發(fā)。</p><p>  五、數(shù)字時(shí)鐘的總體設(shè)計(jì)</p><p>  數(shù)字鐘顯示時(shí)間的格式是年月日時(shí)分秒,小時(shí)為 24 進(jìn)制,分鐘和秒是 60 進(jìn)制, 指針式的時(shí)鐘和數(shù)字式的時(shí)鐘顯示的時(shí)間同步, 且兩個(gè)

18、時(shí)鐘所顯示的時(shí)間與計(jì)算機(jī)的 系統(tǒng)時(shí)間一致。窗口標(biāo)題為數(shù)字鐘,輸出項(xiàng)數(shù)字式時(shí)鐘輸出“%d 年%d 月%d 日%d 時(shí)%d 分%d 秒”,ctime()函數(shù)實(shí)現(xiàn)對(duì)系統(tǒng)時(shí)間的獲取。</p><p>  六、總體設(shè)計(jì)流程圖 </p><p><b>  七、程序代碼</b></p><p>  #include "stdio.h"&

19、lt;/p><p>  #include "time.h"</p><p>  int year_r(); //顯示年</p><p>  int month_h(); //月 </p><p>  int date_e(); //日 </p><p>  int time_e(); //時(shí)

20、間</p><p>  char * time_ta(); //將日期時(shí)間轉(zhuǎn)換成字符串</p><p>  int wait_t(); //延時(shí)1秒</p><p>  int main()</p><p><b>  {</b></p><p><b>  int temp;</

21、b></p><p><b>  year_r();</b></p><p>  printf("年");</p><p>  temp = month_h();</p><p>  if (temp != 13)</p><p><b>  {</b&g

22、t;</p><p>  printf("%d",temp);</p><p>  printf("月");</p><p><b>  }</b></p><p>  else printf("month error!\n");</p><

23、p><b>  date_e();</b></p><p>  printf("日");</p><p><b>  time_e();</b></p><p>  printf("\r");</p><p>  for(;;) //顯示年月日時(shí)分

24、秒</p><p><b>  { </b></p><p>  wait_t(); // 1秒鐘到顯示年月日時(shí)分秒</p><p>  system("cls"); </p><p><b>  year_r();</b></p><p> 

25、 printf("年");</p><p>  temp = month_h();</p><p>  if (temp != 13)</p><p><b>  {</b></p><p>  printf("%d",temp);</p><p>  pr

26、intf("月");</p><p><b>  }</b></p><p>  else printf("month error!\n");</p><p><b>  date_e();</b></p><p>  printf("日"

27、);</p><p><b>  time_e();</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  char * time_ta() //將日期時(shí)間轉(zhuǎn)換成字符串</p><p><b&

28、gt;  {</b></p><p><b>  char *q;</b></p><p><b>  time_t t;</b></p><p>  t=time(NULL);</p><p>  q=ctime(&t); //printf("*q_address

29、 = 0x%x\n",q);</p><p>  return (q);</p><p><b>  }</b></p><p>  int wait_t() //延時(shí)1秒</p><p><b>  {</b></p><p>  long temp_total

30、=0;</p><p>  time_t time_temp;</p><p>  time_temp=time(NULL);</p><p>  temp_total=time_temp;</p><p><b>  for(;;)</b></p><p><b>  {</b&

31、gt;</p><p>  time_temp=time(NULL);</p><p>  if(abs(time_temp - temp_total) >=1)</p><p><b>  break;</b></p><p><b>  }</b></p><p>

32、  return (0);</p><p><b>  }</b></p><p>  int year_r() //顯示年</p><p><b>  { </b></p><p><b>  char *p;</b></p><p><b

33、>  int i;</b></p><p>  p=time_ta();</p><p>  for(i=0;i<24;i++,p++) //ctime函數(shù)返回字符為24個(gè)</p><p>  if(i>19&&i<24)</p><p>  printf("%c",*p

34、); </p><p>  return (0);</p><p><b>  }</b></p><p>  int month_h() //顯示月</p><p><b>  { </b></p><p>  char month_n[12][5]={"Ja

35、n","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"}; </p><p><b> 

36、 char *p;</b></p><p>  char month[4]; //存放三個(gè)字符</p><p>  int i,j=0;</p><p>  p=time_ta();</p><p>  for(i=0;i<24;i++,p++) //i<24因?yàn)閏time()函數(shù)返回有24個(gè)字符</p&g

37、t;<p><b>  {</b></p><p>  if(i>=4 && i<7) //取ctime函數(shù)返回值的第5--8共三個(gè)字符.</p><p><b>  {</b></p><p>  month[j++]=*p;</p><p><

38、b>  if(j==3)</b></p><p><b>  {</b></p><p>  month[j]='\0';</p><p><b>  break;</b></p><p><b>  }</b></p><

39、p><b>  }</b></p><p><b>  }</b></p><p>  for (i=0;i<12;i++)</p><p><b>  {</b></p><p>  if (strcmp(month_n[i],month) == 0)</p

40、><p><b>  {</b></p><p>  return (i+1);</p><p><b>  }</b></p><p><b>  }</b></p><p>  return (13);</p><p><b

41、>  }</b></p><p>  int date_e() //日</p><p><b>  { </b></p><p>  int j=0,i=0;</p><p>  char date[2];</p><p><b>  char *p;</b

42、></p><p>  p=time_ta();</p><p>  for(i=0;i<24;i++,p++) </p><p>  if(i>=8&&i<10)</p><p>  { date[j]=*p;</p><p>  printf("%c"

43、,date[j++]);}</p><p><b>  return 0;</b></p><p><b>  }</b></p><p>  int time_e() //時(shí)間</p><p>  { int i;</p><p><b>  char *p

44、;</b></p><p>  p=time_ta();</p><p>  for(i=0;i<24;i++,p++)</p><p>  if(i>10&&i<19)</p><p>  printf("%c",*p); </p><p>  pri

45、ntf("\n");</p><p>  return (0);</p><p><b>  }</b></p><p><b>  八、程序調(diào)試</b></p><p>  九、設(shè)計(jì)體會(huì)及今后的改進(jìn)意見</p><p>  課程設(shè)計(jì), 一方面是為了檢查我

46、們一個(gè)學(xué)期來我們學(xué)習(xí)的成果, 另一方面是為了讓我們進(jìn)一步的 掌握和運(yùn)用它,同時(shí)也讓我們認(rèn)清自己的不足之處和薄弱環(huán)節(jié),加以彌補(bǔ)和加強(qiáng)。通 過對(duì)模擬時(shí)鐘的設(shè)計(jì)進(jìn)一步的鞏固了用 C 語言編寫程序,并且有利于更好的掌握程 序設(shè)計(jì)語言! 在模擬時(shí)鐘的編寫過程中也體會(huì)到了做事情一頂要細(xì)心、認(rèn)真。更要掌握好基礎(chǔ) 知識(shí)。了解和運(yùn)用網(wǎng)絡(luò)資源。 通過本項(xiàng)課程設(shè)計(jì)也培養(yǎng)了我獨(dú)立思考、 綜合運(yùn)用所學(xué)有關(guān)知識(shí)的能力,掌握 工程軟件設(shè)計(jì)的基本方法,強(qiáng)化上機(jī)編程能力

47、,突破理論與實(shí)踐相結(jié)合的難關(guān)! 由于程序語言是近年在國內(nèi)外得到迅速推廣應(yīng)用的一種機(jī)器語言。它功能豐富, 表達(dá)能力強(qiáng),使用靈活方便,應(yīng)用面廣,目標(biāo)程序效率高,可移植性好,既具有高級(jí) 語言的優(yōu)點(diǎn),又具有低級(jí)語言的許多特點(diǎn)。通過這次的程序設(shè)計(jì)更加了解了 C 語言計(jì) 好處及可用性! 在這次課程設(shè)計(jì)中對(duì)自己有了新的認(rèn)識(shí),迫切需要提高自己!在設(shè)計(jì)過程中不能 夠把書本上的知識(shí)與實(shí)踐相結(jié)合,這導(dǎo)致了我一次次的錯(cuò)誤!在設(shè)計(jì)過程中的一次次 錯(cuò)誤讓我有了放棄

48、的想法!不過經(jīng)過同組成員的幫助最終完成了課程設(shè)計(jì)!只要自己 對(duì)自己不失去信心,就可以完成那</p><p><b>  十、主要參考文獻(xiàn)</b></p><p>  [1] 譚浩強(qiáng).C程序設(shè)計(jì)(第三版)[M],北京:清華大學(xué)出版社,2005.9</p><p>  [2] 譚浩強(qiáng). C程序設(shè)計(jì)題解與上機(jī)指導(dǎo)(第三版)[M],北京:清華大學(xué)出版社

溫馨提示

  • 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)論