版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計任務書</b></p><p> 2010 —2011 學年第 一 學期</p><p> 計算機與通信 學院(系、部) 通信工程 專業(yè) 班級</p><p> 課程名稱: 面向?qū)ο蟪绦蛟O(shè)計
2、 </p><p> 設(shè)計題目: 日歷(基于控制臺) </p><p> 完成期限:自 2011 年 01 月 03日至 2011 年 01 月 08 日共 1 周</p><p> 指導教師(簽字):
3、 年 月 日</p><p> 系(教研室)主任(簽字): 年 月 日</p><p> 面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計</p><p><b> 設(shè)計說明書</b></p><p> 起止
4、日期: 2011年 01 月 03日 至 2011年 01月 08 日</p><p><b> 計算機與通信學院</b></p><p> 2011年 01 月 08 日</p><p><b> 問題描述</b></p><p> 顯示日歷中的陽歷及對應的星期,每一個月分開顯示
5、。</p><p> 可以連續(xù)查詢多個年份的日歷。</p><p><b> 需求分析</b></p><p> 需要建立日歷類及知道判斷平潤年的方法;設(shè)置循環(huán)條件。</p><p><b> 概要設(shè)計</b></p><p><b> 詳細設(shè)計<
6、;/b></p><p> 建立日歷類,設(shè)置判斷函數(shù),顯示函數(shù),接收函數(shù),輸出格式調(diào)用。</p><p> 判斷函數(shù)根據(jù)1900年元旦是星期一,記錄每一年多出的天數(shù),從而</p><p> 推算出某一年的元旦是星期幾。記錄上一個月最后一天的星期數(shù),從而</p><p> 得出下一個月第一天的星期數(shù)。</p><
7、;p><b> 編碼實現(xiàn)</b></p><p> 編譯,連接都已實現(xiàn)。源程序:</p><p> #include <iostream> </p><p> #include <iomanip> </p><p> #include<string></p>
8、;<p> using namespace std; </p><p> class Data </p><p><b> { </b></p><p> private: </p><p> int year; </p><p><b> public
9、: </b></p><p> int getyear(); //提示用戶輸入想要查詢的年份 </p><p> int ioleapyear(); //判斷該年是不是閏年 </p><p> int weekday(); //判斷該年的元旦是星期幾 </p><p> void setweek(); </
10、p><p> int monthday(int i); //該年每個月的天數(shù) </p><p> void disp(); //顯示結(jié)果。 </p><p><b> }; </b></p><p> char* weekd[7]={"MON","TUE","W
11、EN","THU","FRI","STA","SUN"}; //記錄星期一到星期天 </p><p> int Data::getyear() </p><p> { cout<<"請輸入要想查詢的年份:"<<endl; </p>
12、<p> cout<<"年份范圍大于1900,小于8000;"<<endl;</p><p> cin>>year; </p><p> if(year<1900||year>8000)</p><p><b> {</b></p><p
13、> cout<<"輸入有誤:"<<endl;</p><p> getyear();}</p><p><b> else</b></p><p> return year;} </p><p> int Data::ioleapyear() </p&g
14、t;<p><b> { </b></p><p> if(year%4==0&&year%100!=0||year%400==0) </p><p> return 1; </p><p><b> else </b></p><p> return
15、 0; </p><p><b> } </b></p><p> int Data::weekday() </p><p><b> { </b></p><p> int n=1; </p><p> for(int z=1900;z<year;
16、z++)</p><p> if(z%4==0&&z%100!=0||z%400==0) </p><p><b> n=n+2; </b></p><p><b> else </b></p><p><b> n=n+1; </b></p
17、><p><b> n=n%7; </b></p><p><b> if(n==0)</b></p><p><b> return 7;</b></p><p><b> else</b></p><p> return
18、n; //返回輸入的年份的元旦是星期幾 </p><p><b> } </b></p><p> int Data::monthday(int i) </p><p><b> { </b></p><p> if(i==1||i==3||i==5||i==7||i==8||i=
19、=10||i==12) </p><p> return 31; </p><p> else if (i==2) </p><p> if(ioleapyear()) </p><p> return 29; </p><p> else return 28; </p><p
20、><b> else </b></p><p> return 30; </p><p><b> } </b></p><p> void Data::disp() </p><p><b> { </b></p><p>&
21、lt;b> int i; </b></p><p> int n=weekday(); </p><p> for(i=1;i<=12;i++) //總共的月份 12 </p><p> { int lemp=1; </p><p> cout<<endl<<setw(5)&l
22、t;<i<<"月份"<<endl; </p><p> cout<<"-------------------------------------------"<<endl; </p><p> for(int j=0;j<7;j++) </p><p>
23、cout<<setw(5)<<weekd[j]; </p><p> cout<<endl<<"-------------------------------------------"<<endl; </p><p> for(int k=1;k<n;k++,lemp++) //輸入每月第一天的起
24、始位置,用空格補充 </p><p> cout<<setw(5)<<" "; </p><p> for(int d=1;d<=monthday(i);d++,lemp++) </p><p><b> { </b></p><p> cout<&
25、lt;setw(5)<<d; </p><p> if(lemp==7) //控制一行輸出到星期天,如果到星期天則重新計數(shù) </p><p><b> { </b></p><p> cout<<endl; </p><p><b> lemp=0; </b>
26、;</p><p><b> } </b></p><p><b> } </b></p><p> n=lemp%7; //當輸出完一個月后,記錄這個月的最后一天在哪,尋找下個月的 </p><p> if(n==0) //第一天的起始位置 </p><p>
27、;<b> n=7; </b></p><p> cout<<endl<<"-------------------------------------------"<<endl<<endl<<endl; </p><p><b> } </b></p
28、><p><b> } </b></p><p> int main() </p><p><b> { </b></p><p><b> Data a; </b></p><p> cout<<setw(45)<<
29、"萬年歷查詢"<<endl; </p><p> cout<<"-------------------------------------------------------------------------------" </p><p><b> <<endl; </b><
30、;/p><p> a.getyear(); </p><p> a.disp(); </p><p><b> char ch;</b></p><p> cout<<"按1退出 按其它鍵繼續(xù);"<<endl;</p><p><
31、b> cin>>ch;</b></p><p> if(ch!='1')</p><p><b> main();</b></p><p><b> else</b></p><p><b> return 0;</b>&
32、lt;/p><p><b> }</b></p><p><b> 調(diào)試與測試</b></p><p><b> 設(shè)計總結(jié)</b></p><p> 先要進行總體框架的構(gòu)思與設(shè)計;其次要具體的設(shè)置函數(shù)去實現(xiàn)要求的功能;最后</p><p> 修改,
33、調(diào)試和測試直到實現(xiàn)了所要求的全部功能。需要細心,努力地一步一步完成。</p><p><b> 附錄或參考資料</b></p><p> 電子檔一份;1. 羅建軍.C/C++語言程序設(shè)計案例教程[M].北京:機械工業(yè)出版社,2010.</p><p> 2. 劉恒洋,楊宏雨.面向?qū)ο蟪绦蛟O(shè)計案例教程[M].北京:機械工業(yè)出版社,2010.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設(shè)計--日歷
- 電子日歷課程設(shè)計報告
- 數(shù)字日歷電路課程設(shè)計
- java課程設(shè)計簡單日歷
- 電子日歷的制作-課程設(shè)計
- 課程設(shè)計-- 網(wǎng)上日歷系統(tǒng)
- 電子日歷的制作-課程設(shè)計
- 課程設(shè)計--數(shù)字日歷鐘表的設(shè)計
- 電子日歷表課程設(shè)計
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計_日歷
- java課程設(shè)計--日歷記事本
- c語言日歷顯示課程設(shè)計報告
- 單片機課程設(shè)計報告-日歷
- 電子日歷課程設(shè)計實訓報告
- java課程設(shè)計日歷記事本
- java課程設(shè)計--日歷記事本
- 電子日歷表課程設(shè)計 (2)
- 日歷記事本-java課程設(shè)計
- 日歷記事本java課程設(shè)計
- java課程設(shè)計實驗報告--java日歷設(shè)計
評論
0/150
提交評論