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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  C語言課程設計</b></p><p><b>  時間編程</b></p><p><b>  院(系)別 </b></p><p>  班 級 </p><p>  學 號

2、 </p><p>  姓 名 </p><p>  指導教師 </p><p>  時 間 </p><p>  課 程 設 計 任 務 書</p><p>  題 目 時間編程

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

4、 </p><p>  學 號 </p><p>  09 月 03 日至 09 月 07 日 共 1 周</p><p>  指導教師(簽字) </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、課程設計應完成的工作 …………………………………………4</p><p>  5、開發(fā)環(huán)境概述………………………………………………………4</p><p>  6、數(shù)字時鐘的總體設計………………………………………………5</p><p>  

7、7、總體設計流程圖……………………………………………………5</p><p>  8、程序代碼…………………………………………………………6</p><p>  9、程序調試……………………………………………………………9</p><p>  10設計體會及今后的改進意見…………………………………9</p><p>  11、 主要參考文獻…

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

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

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

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

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

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

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

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

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

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

18、時鐘所顯示的時間與計算機的 系統(tǒng)時間一致。窗口標題為數(shù)字鐘,輸出項數(shù)字式時鐘輸出“%d 年%d 月%d 日%d 時%d 分%d 秒”,ctime()函數(shù)實現(xiàn)對系統(tǒng)時間的獲取。</p><p>  六、總體設計流程圖 </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(); //時

20、間</p><p>  char * time_ta(); //將日期時間轉換成字符串</p><p>  int wait_t(); //延時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(;;) //顯示年月日時分

24、秒</p><p><b>  { </b></p><p>  wait_t(); // 1秒鐘到顯示年月日時分秒</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() //將日期時間轉換成字符串</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() //延時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個</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]; //存放三個字符</p><p>  int i,j=0;</p><p>  p=time_ta();</p><p>  for(i=0;i<24;i++,p++) //i<24因為ctime()函數(shù)返回有24個字符</p&g

37、t;<p><b>  {</b></p><p>  if(i>=4 && i<7) //取ctime函數(shù)返回值的第5--8共三個字符.</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() //時間</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>  八、程序調試</b></p><p>  九、設計體會及今后的改進意見</p><p>  課程設計, 一方面是為了檢查我

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

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

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

溫馨提示

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

評論

0/150

提交評論