版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計(jì)-可編程作息時(shí)間控制器
- 時(shí)間序列課程設(shè)計(jì)
- 數(shù)控編程加工課程設(shè)計(jì)
- 數(shù)控程序編程課程設(shè)計(jì)
- 課程設(shè)計(jì)—任務(wù)書—離散時(shí)間信號(hào)的運(yùn)算及其編程實(shí)現(xiàn)
- 球形手柄數(shù)控編程課程設(shè)計(jì)
- web編程課程設(shè)計(jì)報(bào)告--留言簿課程設(shè)計(jì)報(bào)告
- web課程設(shè)計(jì) 《web網(wǎng)絡(luò)編程技術(shù)》課程設(shè)計(jì)報(bào)告
- 數(shù)控技術(shù)編程課程設(shè)計(jì)
- 網(wǎng)頁編程課程設(shè)計(jì)評(píng)分表
- 可視化編程課程設(shè)計(jì)
- 數(shù)據(jù)庫編程課程設(shè)計(jì)
- 數(shù)控車床編程課程設(shè)計(jì)
- 網(wǎng)絡(luò)協(xié)議編程應(yīng)用課程設(shè)計(jì)
- 日期和時(shí)間課程設(shè)計(jì)報(bào)告
- 數(shù)控加工工藝與編程課程設(shè)計(jì)
- 可編程彩燈課程設(shè)計(jì)報(bào)告
- 數(shù)控編程課程設(shè)計(jì)-- 數(shù)控機(jī)床
- 響應(yīng)時(shí)間測試課程設(shè)計(jì)
- 數(shù)控編程課程設(shè)計(jì)--螺紋聯(lián)接軸的設(shè)計(jì)編程及加工
評(píng)論
0/150
提交評(píng)論