C++課程設(shè)計_ (16)萬年歷系統(tǒng)_第1頁
C++課程設(shè)計_ (16)萬年歷系統(tǒng)_第2頁
C++課程設(shè)計_ (16)萬年歷系統(tǒng)_第3頁
C++課程設(shè)計_ (16)萬年歷系統(tǒng)_第4頁
C++課程設(shè)計_ (16)萬年歷系統(tǒng)_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、編寫萬年歷編寫萬年歷程序設(shè)計基礎(chǔ)課程設(shè)計報告程序設(shè)計基礎(chǔ)課程設(shè)計報告專專 業(yè):業(yè): 電子信息工程電子信息工程 班班 級:級: 20072007 級級 2 2 班班 學(xué)學(xué) 號:號: 20070820642007082064 姓姓 名:名: 周周 超超 指導(dǎo)教師:指導(dǎo)教師: 常常 耀耀 輝輝 二二 OOOO 八八 年年 六月三十日六月三十日- 1 -目目 錄錄一、一、 課程設(shè)計題目課程設(shè)計題目二、二、 設(shè)計目的設(shè)計目的三、三、 程序執(zhí)行主流程圖程序執(zhí)行主流程圖四、四、 程序?qū)崿F(xiàn)程序?qū)崿F(xiàn)五、五、 運行結(jié)果運行結(jié)果六、六、 小結(jié)小結(jié)- 2 -一、一、 課程設(shè)計題目:課程設(shè)計題目:題目:編寫一萬年歷系統(tǒng)

2、題目:編寫一萬年歷系統(tǒng)要求: 模仿現(xiàn)實生活中的掛歷. 當前頁以系統(tǒng)當前日期的月份為準顯示當前月的每一天(顯示出日及對應(yīng)的星期幾).當系統(tǒng)日期變到下一月時,系統(tǒng)自動翻頁到下一月.二、二、 設(shè)計目的:設(shè)計目的:通過 C+語言編程實現(xiàn)一個萬年歷,實現(xiàn)基本的萬年歷功能。萬年歷的實現(xiàn)核心是要判斷閏年和根據(jù)給定日期計算其對應(yīng)星期,并按照合適的方式輸出日歷。編者可以根據(jù)自己的實際情況,在此次程序的基礎(chǔ)上開發(fā)出更具個性的萬年歷來。三、三、 程序執(zhí)行主流程圖:程序執(zhí)行主流程圖: 萬年歷系統(tǒng)萬年歷系統(tǒng)功功能能控控制制模模塊塊輸輸出出模模塊塊日日歷歷顯顯示示模模塊塊選選擇擇模模塊塊 系統(tǒng)模塊圖- 3 -四、四、 程

3、序?qū)崿F(xiàn):程序?qū)崿F(xiàn): #include#includeusing namespace std;#include int day_s(); int year_s(); int week_s(); void output_month(); void menu(); void sttime(); void output_year(); int year,month; void main() cout*endlendl;sttime();cout*endlendl;cout請輸入要查找的年月:endlendl; coutyear; coutmonth; system(cls); couttt公元year

4、年endl; output_month(); menu(); int day_s() switch(month) case 1: case 3: case 5: case 7: case 8: case 10: case 12:return 31;break; case 4: case 6: case 9: case 11:return 30;break; - 4 -case 2:if(year%4=0&year%100!=0|year%400=0) return 29; else return 28;break; int year_s() int s=1; switch(month-

5、1) case 11:s+=30; case 10:s+=31; case 9:s+=30; case 8:s+=31; case 7:s+=31; case 6:s+=30; case 5:s+=31; case 4:s+=30; case 3:s+=31; case 2:if(year%4=0&year%100!=0|year%400=0)s+=29; else s+=28; case 1:s+=31; return s; int week_s() int s=1,n; n=(year-1)%400; for(int i=1;i=n;i+) if(year%4=0&year

6、%100!=0|year%400=0) s+=2; else s+=1; s+=year_s(); s%=7; return s; void output_month() int week,day,i; coutttmonth月endl; - 5 -/*char *week7=星期日,星期一,星期二,星期三,星期四,星期五,星期六; for(i=0;i7;i+) coutweekit;*/ cout星期日t星期一t星期二t星期三t星期四t 星期五t星期六; coutendl; day=day_s(); week=week_s(); for(i=1;i=week;i+) cout t; for(

7、i=1;i=day;i+) couti; if(i+week)%7=0) coutendl; else coutt; for(int j=1;j=42-week-i;j+) coutt; coutendlendl; void output_year() couttt公元year年endl; for(int i=1;i=12;i+) month=i; output_month(); cout按 1 重新輸入年月endl; cout按 0 退出endl; coutn; system(cls); switch(n) case 1:main();break; case 0:;break; void m

8、enu() - 6 - cout按 1 重新輸入年月endl;cout按 2 查看本年全部日歷endl;cout按 0 退出endl; coutn; system(cls); switch(n) case 1:main();break; case 2:output_year();break;case 0:break; void sttime() time_t now; struct tm *timenow; time(&now); timenow = localtime(&now); printf(現(xiàn)在時間是: %sn,asctime(timenow); 五、五、 運行結(jié)果:運行結(jié)果:- 7 -六、六、 小結(jié)小結(jié)編者可以了解萬年歷的實現(xiàn)原理和實現(xiàn)方法,掌握 C+語言編程實現(xiàn)萬年歷的過程和實現(xiàn)的技巧。程序中分析了實現(xiàn)萬年歷的變量定義、各個函數(shù)的定義和實現(xiàn),以及通過對源程序的詳細分析來透徹完成萬年歷的實現(xiàn)過程。通過此次編程,編者應(yīng)該掌握一下知識點:(1)閏年的判斷方法和星期的計算方法。(2)系統(tǒng)日期的獲取。(3)字體顏色的設(shè)置。(4)屏幕輸出的方法。此程序中實現(xiàn)的萬年歷是對 windows 自帶萬年歷的模仿,有興趣的話,可以對此程序再進行優(yōu)化設(shè)計,以達到學(xué)以致用的目的。 經(jīng)過編寫程序,檢驗了我們的編程的水平,從這次編程中,我發(fā)現(xiàn)我才學(xué)到了一點點的知識,有好多的東西都

溫馨提示

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

最新文檔

評論

0/150

提交評論