版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 萬(wàn)年歷</b></p><p><b> 一、目的與要求</b></p><p> 顯示公元后任何年份的日歷,日歷以月份的順序排列,每月以星期順序排列,類(lèi)似于一般掛歷上的格式。</p><p><b> 二、工具/準(zhǔn)備工作</b></p><p&
2、gt; 在開(kāi)始實(shí)驗(yàn)前,應(yīng)回顧并復(fù)習(xí)相關(guān)內(nèi)容。</p><p> 我使用的軟件是Dev-C++。</p><p><b> 三、分析</b></p><p> 1、大月和小月的定義,主要運(yùn)用了數(shù)組的循環(huán)語(yǔ)句進(jìn)行對(duì)大小月的定義。</p><p> void f1(int x) //大月
3、</p><p><b> {</b></p><p> for( i=0;i<50;i++)</p><p><b> a[i]=33;</b></p><p> for(i=k-1;i>=0;i--)</p><p> a[i]='\000&
4、#39;;</p><p> for(i=k;i<31+k;i++)</p><p> a[i]=a[i-1]+1;</p><p><b> }</b></p><p> void f2(int x) //小月</p><p><b> {
5、</b></p><p> for( i=0;i<50;i++)</p><p><b> a[i]=33;</b></p><p> for(i=k-1;i>=0;i--)</p><p> a[i]='\000';</p><p> for(i
6、=k;i<30+k;i++)</p><p> a[i]=a[i-1]+1;</p><p><b> }</b></p><p> 2、閏年與非閏年二月的定義</p><p> void f3(int x) //閏年二月</p><p><b&g
7、t; {</b></p><p> for( i=0;i<50;i++)</p><p><b> a[i]=33;</b></p><p> for(i=k-1;i>=0;i--)</p><p> a[i]='\000';</p><p>
8、for(i=k;i<29+k;i++)</p><p> a[i]=a[i-1]+1;</p><p><b> }</b></p><p> void f4(int x) //非閏年二月</p><p><b> {</b></p>
9、<p> for( i=0;i<50;i++)</p><p><b> a[i]=33;</b></p><p> for(i=k-1;i>=0;i--)</p><p> a[i]='\000';</p><p> for(i=k;i<28+k;i++)</
10、p><p> a[i]=a[i-1]+1;</p><p><b> } </b></p><p><b> 3、日歷表的輸出</b></p><p> int s,count=0;</p><p> cout<<"請(qǐng)輸入年份:";<
11、;/p><p> cin>>year;</p><p> cout<<endl;</p><p><b> c=year;</b></p><p> for(s=1;s<=year;s++)</p><p> if(((s-1)%4==0&&(s
12、-1)%100!=0)||(s-1)%400==0)</p><p><b> count++;</b></p><p> day=365*c+count; //相差天數(shù)</p><p> cout<<"-----------------------"<
13、<year<<"年日歷------------------------";</p><p> cout<<endl<<endl;</p><p> 在此運(yùn)用了C++中函數(shù)的運(yùn)算,計(jì)算出該年的每月每日的不同。還有一年的輸入和輸出。在輸出時(shí),閏年與非閏年二月的輸出法的定義</p><p> if((ye
14、ar%4==0&&year%100!=0)||year%400==0) //閏年二月 </p><p><b> {</b></p><p> k=((day+31)%7+6)%7+1;</p><p> cout<<" 二月"<&
15、lt;endl<<endl;</p><p><b> f3(k);</b></p><p><b> g(a,50);</b></p><p> cout<<"------------------------------------------------------"&
16、lt;<endl;</p><p> cout<<"------------------------------------------------------"<<endl;</p><p> day=day+31+29;</p><p><b> }</b></p>&l
17、t;p> else //非閏年二月</p><p><b> {</b></p><p> k=((day+31)%7+6)%7+1;</p><p> cout<<" 二月"<&
18、lt;endl<<endl;</p><p><b> f4(k);</b></p><p><b> g(a,50);</b></p><p> cout<<"------------------------------------------------------"&
19、lt;<endl;</p><p> cout<<"------------------------------------------------------"<<endl;</p><p> day=day+31+28;</p><p><b> }</b></p>&l
20、t;p> 此處主要運(yùn)用了if語(yǔ)句來(lái)對(duì)閏年與非閏年的二月的不同定義的輸出。if語(yǔ)句一種可跳過(guò)不符合條件的語(yǔ)句,繼續(xù)下面的語(yǔ)句的執(zhí)行。</p><p> 4、按任意鍵繼續(xù)的實(shí)現(xiàn)</p><p><b> int p;</b></p><p><b> btbt();</b></p><p>
21、; for(p=1;p>0;p++)</p><p> {cout<<"按任意鍵繼續(xù)..."<<endl;</p><p><b> getch();</b></p><p><b> btbt();</b></p><p> 通過(guò)無(wú)限循環(huán)
22、語(yǔ)句和getch()函數(shù)的使用來(lái)實(shí)現(xiàn)按任意鍵繼續(xù)的功能。</p><p><b> 四、實(shí)現(xiàn)步驟</b></p><p> 1、建立頭文件并定義有用到的字符常量,具體代碼如下:</p><p> #include<iostream></p><p> #include<cmath><
23、/p><p> #include<conio.h></p><p> using namespace std;</p><p> int i,c,day,year,k,a[50];</p><p> 2、定義大月、小月、閏年二月、非閏年二月與日歷表輸出函數(shù),具體代碼如下:</p><p> void
24、f1(int x) //大月</p><p><b> {</b></p><p> for( i=0;i<50;i++)</p><p><b> a[i]=33;</b></p><p> for(i=k-1;i>=0;i--)</p>
25、;<p> a[i]='\000'; //1號(hào)前均為空格</p><p> for(i=k;i<31+k;i++)</p><p> a[i]=a[i-1]+1;</p><p><b> }</b></p><p> void f2(int x)
26、 //小月</p><p><b> {</b></p><p> for( i=0;i<50;i++)</p><p><b> a[i]=33;</b></p><p> for(i=k-1;i>=0;i--)</p><p> a[i]
27、='\000';</p><p> for(i=k;i<30+k;i++)</p><p> a[i]=a[i-1]+1;</p><p><b> }</b></p><p> void f3(int x) //閏年二月</p><p>
28、;<b> {</b></p><p> for( i=0;i<50;i++)</p><p><b> a[i]=33;</b></p><p> for(i=k-1;i>=0;i--)</p><p> a[i]='\000';</p><
29、;p> for(i=k;i<29+k;i++)</p><p> a[i]=a[i-1]+1;</p><p><b> }</b></p><p> void f4(int x) //非閏年二月</p><p><b> {</b><
30、/p><p> for( i=0;i<50;i++)</p><p><b> a[i]=33;</b></p><p> for(i=k-1;i>=0;i--)</p><p> a[i]='\000';</p><p> for(i=k;i<28+k;i
31、++)</p><p> a[i]=a[i-1]+1;</p><p><b> }</b></p><p> void g(int y[],int z) // 輸出日歷表</p><p><b> { </b></p><p> co
32、ut<<"星期日"<<'\t'<<"星期一"<<'\t'<<"星期二"<<'\t'<<"星期三"<<'\t'<<"星期四"<<'\t'<
33、;<"星期五"<<'\t'<<"星期六"<<endl;</p><p> for(i=0;i<50;i++)</p><p><b> {</b></p><p> if(a[i]==0)</p><p> c
34、out<<(char)a[i]<<'\t';</p><p> if(a[i]!=0&&a[i]!=33)</p><p> cout<<a[i]<<'\t';</p><p><b> else ;</b></p><p&
35、gt; if(i%7==0)</p><p> cout<<endl;</p><p><b> }</b></p><p><b> }</b></p><p> 3、定義自定義函數(shù)btbt(),來(lái)實(shí)現(xiàn)一年日歷的全部輸出,具體代碼如下:</p><p>
36、; int btbt()</p><p><b> { </b></p><p> int s,count=0;</p><p> cout<<"請(qǐng)輸入年份:";</p><p> cin>>year;</p><p> cout<&l
37、t;endl;</p><p><b> c=year;</b></p><p> for(s=1;s<=year;s++)</p><p> if(((s-1)%4==0&&(s-1)%100!=0)||(s-1)%400==0)</p><p><b> count++;<
38、;/b></p><p> day=365*c+count; //相差天數(shù)</p><p> cout<<"-----------------------"<<year<<"年日歷------------------------";</p>&
39、lt;p> cout<<endl<<endl;</p><p> k=(day%7+6)%7+1;</p><p> cout<<" 一月"<<endl<<endl;</p><p><b> f1(k);</
40、b></p><p><b> g(a,50);</b></p><p> cout<<"------------------------------------------------------"<<endl;</p><p> cout<<"----------
41、--------------------------------------------"<<endl;</p><p> if((year%4==0&&year%100!=0)||year%400==0) //閏年二月 </p><p><b> {</b></p><p> k=((day+
42、31)%7+6)%7+1;</p><p> cout<<" 二月"<<endl<<endl;</p><p><b> f3(k);</b></p><p><b> g(a,50);</b></p>
43、<p> cout<<"------------------------------------------------------"<<endl;</p><p> cout<<"------------------------------------------------------"<<endl;&l
44、t;/p><p> day=day+31+29;</p><p><b> }</b></p><p> else //非閏年二月</p><p><b> {</b></p><p> k=((day+
45、31)%7+6)%7+1;</p><p> cout<<" 二月"<<endl<<endl;</p><p><b> f4(k);</b></p><p><b> g(a,50);</b></p>
46、<p> cout<<"------------------------------------------------------"<<endl;</p><p> cout<<"------------------------------------------------------"<<endl;&l
47、t;/p><p> day=day+31+28;</p><p><b> }</b></p><p> k=(day%7+6)%7+1;</p><p> cout<<" 三月"<<endl<<endl;<
48、/p><p><b> f1(k);</b></p><p><b> g(a,50);</b></p><p> cout<<"------------------------------------------------------"<<endl;</p>
49、<p> cout<<"------------------------------------------------------"<<endl;</p><p> k=((day+31)%7+6)%7+1;</p><p> cout<<" 四月"
50、<<endl<<endl;</p><p><b> f2(k);</b></p><p><b> g(a,50);</b></p><p> cout<<"------------------------------------------------------&q
51、uot;<<endl;</p><p> cout<<"------------------------------------------------------"<<endl;</p><p> k=((day+31+30)%7+6)%7+1;</p><p> cout<<"
52、 五月"<<endl<<endl;</p><p><b> f1(k);</b></p><p><b> g(a,50);</b></p><p> cout<<"------------------------
53、------------------------------"<<endl;</p><p> cout<<"------------------------------------------------------"<<endl;</p><p> k=((day+31+30+31)%7+6)%7+1;</p&
54、gt;<p> cout<<" 六月"<<endl<<endl;</p><p><b> f2(k);</b></p><p><b> g(a,50); </b></p><p> cout&l
55、t;<"------------------------------------------------------"<<endl;</p><p> cout<<"------------------------------------------------------"<<endl;</p><p>
56、 k=((day+31+30+31+30)%7+6)%7+1;</p><p> cout<<" 七月"<<endl<<endl;</p><p><b> f1(k);</b></p><p><b> g(a,50);&
57、lt;/b></p><p> cout<<"------------------------------------------------------"<<endl;</p><p> cout<<"------------------------------------------------------&q
58、uot;<<endl;</p><p> k=((day+31+30+31+30+31)%7+6)%7+1;</p><p> cout<<" 八月"<<endl<<endl;</p><p><b> f1(k);</b>
59、</p><p><b> g(a,50);</b></p><p> cout<<"------------------------------------------------------"<<endl;</p><p> cout<<"---------------
60、---------------------------------------"<<endl;</p><p> k=((day+31+30+31+30+31+31)%7+6)%7+1;</p><p> cout<<" 九月"<<endl<<endl;<
61、/p><p><b> f2(k);</b></p><p><b> g(a,50);</b></p><p> cout<<"------------------------------------------------------"<<endl;</p>
62、<p> cout<<"------------------------------------------------------"<<endl;</p><p> k=((day+31+30+31+30+31+31+30)%7+6)%7+1;</p><p> cout<<"
63、 十月"<<endl<<endl;</p><p><b> f1(k);</b></p><p><b> g(a,50);</b></p><p> cout<<"--------------------------------------
64、----------------"<<endl;</p><p> cout<<"------------------------------------------------------"<<endl;</p><p> k=((day+31+30+31+30+31+31+30+31)%7+6)%7+1;</p
65、><p> cout<<" 十一月"<<endl<<endl;</p><p><b> f2(k);</b></p><p><b> g(a,50);</b></p><p> cout&l
66、t;<"------------------------------------------------------"<<endl;</p><p> cout<<"------------------------------------------------------"<<endl;</p><p>
67、 k=((day+31+30+31+30+31+31+30+31+30)%7+6)%7+1;</p><p> cout<<" 十二月"<<endl<<endl;</p><p><b> f1(k);</b></p><p><b
68、> g(a,50);</b></p><p> cout<<"------------------------------------------------------"<<endl;</p><p><b> }</b></p><p> 4、定義主函數(shù)來(lái)完成程序的正常輸
69、出,具體代碼如下:</p><p> int main()</p><p><b> {</b></p><p><b> int p;</b></p><p><b> btbt();</b></p><p> for(p=1;p>0;
70、p++)</p><p> {cout<<"按任意鍵繼續(xù)..."<<endl;</p><p><b> getch();</b></p><p><b> btbt();</b></p><p><b> } </b><
71、;/p><p><b> getch(); </b></p><p> return 0; </p><p><b> }</b></p><p> 5、編譯及運(yùn)行萬(wàn)年歷程序。</p><p><b> 五、測(cè)試與結(jié)論</b></p>
72、<p> 1、剛運(yùn)行時(shí)屏幕顯示如下:</p><p> 2、輸入2009時(shí),屏幕顯示如下:</p><p> 3、按下回車(chē)鍵,屏幕顯示如下:</p><p> 4、按任意鍵,屏幕顯示如下:</p><p> 從上面的屏幕顯示,可知本程序滿(mǎn)足課程設(shè)計(jì)的目標(biāo)與要求。</p><p><b>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c++課程設(shè)計(jì)--萬(wàn)年歷
- 萬(wàn)年歷c++課程設(shè)計(jì)
- 《c++課程設(shè)計(jì)》萬(wàn)年歷
- 萬(wàn)年歷c++課程設(shè)計(jì)
- c++課程設(shè)計(jì)報(bào)告---萬(wàn)年歷系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)--萬(wàn)年歷
- c語(yǔ)言課程設(shè)計(jì)--萬(wàn)年歷
- 萬(wàn)年歷c語(yǔ)言課程設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)--萬(wàn)年歷
- 萬(wàn)年歷課程設(shè)計(jì)--萬(wàn)年歷電子時(shí)鐘
- 萬(wàn)年歷課程設(shè)計(jì)
- 萬(wàn)年歷課程設(shè)計(jì)
- 萬(wàn)年歷課程設(shè)計(jì)
- 萬(wàn)年歷課程設(shè)計(jì)
- 萬(wàn)年歷課程設(shè)計(jì)
- 萬(wàn)年歷課程設(shè)計(jì)
- 萬(wàn)年歷課程設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)萬(wàn)年歷系統(tǒng)
- C語(yǔ)言課程設(shè)計(jì)--萬(wàn)年歷.doc
- c語(yǔ)音電子萬(wàn)年歷課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論