優(yōu)秀畢業(yè)設(shè)計(jì)畢業(yè)論文萬年歷課程設(shè)計(jì)萬年歷程序_第1頁
優(yōu)秀畢業(yè)設(shè)計(jì)畢業(yè)論文萬年歷課程設(shè)計(jì)萬年歷程序_第2頁
優(yōu)秀畢業(yè)設(shè)計(jì)畢業(yè)論文萬年歷課程設(shè)計(jì)萬年歷程序_第3頁
優(yōu)秀畢業(yè)設(shè)計(jì)畢業(yè)論文萬年歷課程設(shè)計(jì)萬年歷程序_第4頁
優(yōu)秀畢業(yè)設(shè)計(jì)畢業(yè)論文萬年歷課程設(shè)計(jì)萬年歷程序_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)設(shè)計(jì)說明書課程名稱:面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)設(shè)計(jì)題目:萬年歷程序指導(dǎo)教師:班 級(jí):學(xué) 號(hào):學(xué)生姓名:同組人員:計(jì)算機(jī)科學(xué)與工程系2011年6月23日第1章選題2l1題目背景21.2系統(tǒng)實(shí)現(xiàn)的具體分工21.2.1 選題21.2.2 團(tuán)隊(duì)分工21.3開發(fā)環(huán)境2第2章設(shè)計(jì)內(nèi)容32實(shí)現(xiàn)功能32.2概要設(shè)計(jì)(涉及類的框圖)32.3界面設(shè)計(jì)3第3章系統(tǒng)實(shí)現(xiàn)33涉及知識(shí)點(diǎn)33.2系統(tǒng)運(yùn)行(主要運(yùn)行界面抓圖)43.3源程序清單(關(guān)鍵代碼)4第4章測試與實(shí)驗(yàn)結(jié)果10第5章結(jié)束語11參考文獻(xiàn)12第1章選題1.1題目背景在當(dāng)代繁忙的工作與生活中,時(shí)間與我們每個(gè)人都有非常密切的關(guān)系,每個(gè)人都時(shí)

2、間影響著, 我們必須対時(shí)間有一個(gè)度量美因茨本設(shè)計(jì)是電子萬年歷。該萬年歷能夠?qū)崿F(xiàn)時(shí)間日期的運(yùn)行,顯示 陽歷的年、月、口、星期等信息。1.2系統(tǒng)實(shí)現(xiàn)的具體分工1.2.2 1.2.1 選題系統(tǒng)分為日歷類(calendar)和三大功能模塊,功能一(print_y ()輸11!整年的日歷;功能二(print_m()輸出某年具體的月份;功能三(print_d()輸出具體的某年某月某日是星期幾1.2.3 團(tuán)隊(duì)分工表1.1項(xiàng)目分工一覽表角色姓名承擔(dān)的具體任務(wù)組長(1) 類的定義與分析(2) 功能1:輸入一個(gè)年份能夠把這一年的日期打印出來。組員(1) 功能2:輸入一個(gè)月份能夠把該月的情況 輸出出來(2) 3:輸

3、入具體的一天能夠輸出該天是 星期幾1.3開發(fā)環(huán)境編程工具:visual c+ 6.0機(jī)型:方正電腦處理器名稱:intel (r) core(tm)2 duo cpu e7200 2.53ghz硬盤驅(qū)動(dòng)器:wdc wd1600aajs-22waao系統(tǒng)內(nèi)存:金士頓內(nèi)存2gb顯示卡:nvidia geforce 9400 gt顯示器:方正科技fg981-w9操作系統(tǒng): microsoft windows xp professional第2章設(shè)計(jì)內(nèi)容2.1實(shí)現(xiàn)功能1、輸入一個(gè)年份能夠把這一年的日期打印出來。2、輸入一個(gè)月份能夠把該月的情況輸出出來。3、輸入具體的一天能夠輸出該天是星期幾。2.2概要設(shè)

4、計(jì)(涉及類的框圖2.3界面設(shè)計(jì)界面設(shè)計(jì)在工作流程上分為結(jié)構(gòu)設(shè)計(jì)、交互設(shè)計(jì)、視覺設(shè)計(jì)三個(gè)部分。結(jié)構(gòu)設(shè)計(jì)也稱概念設(shè)計(jì)(conccpiual design),是界面設(shè)計(jì)的骨架。該萬年歷系統(tǒng)運(yùn)行時(shí)界面 上的目錄體系和詞語定義易于用戶理解和操作,例如主界面的fi錄體系包擔(dān)i().查詢年;1.查詢年月;2.查詢年月日;3.幫助;4.退岀第3章系統(tǒng)實(shí)現(xiàn)3.1涉及知識(shí)點(diǎn)類封裝、面向?qū)ο蟪绦蛟O(shè)計(jì)、數(shù)組的應(yīng)用、循壞語句的使用、過程化設(shè)計(jì)的思想等。3.2系統(tǒng)運(yùn)行(主要運(yùn)行界面抓圖請(qǐng)輸入你所需的序號(hào): n x國i百詢?cè)冎? 12 3 4日搜狗拼音圖3.1系統(tǒng)主界面3.3源程序清單(關(guān)鍵代碼)功能2查詢年月:void

5、 calendar:print m(calendar cl,int week)i nt m=0, t;cout«cl. year«z/年"z,«cl. month<<z/月 z,<<endl;cout«setw(10)«"星期天,«setw(10)<"星期一,z«setw(10) <"星期二 z/<<setw(10) «星期三setw(10)«星期四,/«setw(10)«/星期五z/«s

6、etw(10) «"星期六; cout<<endl;if (cl.month=2&&judgeyear(cl. year)m二1;t二week%7+l;cout«setw(t*10)«cl. day;for (int i二2;i<=maxmoncl. month-l+m;i+)cl. day=i;if (getweek(cl)%70) cout<<endl;cout«setw(10) «i;功能3查詢年月日:void calendar:print d(calendar cl,int wee

7、k)cout«,z你輸入的日期為:nz,;cout<<setw(8)<<cl. year<<setw(8)<<cl month<<setw(8)<<cl. day; print(week);coutendl;整體源程序:#include<iostream>#include<iomanip>using namespace std;int maxmon12;/const int n_year=2009, n_month=10, n_day=31, week=6;class calendarpr

8、ivate:i nt year, mon th, day;int week;public:void init ();void in put (int );void menu();void helpo ;int judgeyear(int );int judgelnput(int , calendar );void show(int, calendar);int getweek(calendar);void print_d(calendar, int);void print_y(calcndar, ini);void print(int );void print_m(calendar, int)

9、;/int getweek(calendar);int main()calendar a;a. init ();char con;while (1)a. menu();cout«z/n 是否繼續(xù):(y/n);cin>>con;if (con* n | | con* 2 ) break;system("pause");return 0;void calendar:init() for(int i二0;i<12;i+)if(i=0|i=2|i=4|i=6|i=7|i=9|i=ll) maxmoni=31;if(i=l)maxmoni=28;if(i=

10、3| |i=5| |i=8| |i=10)maxmoni=30;void calendar: :menu()cout«z,0.查詢年n;cout<<,z1.查詢年月 n"cout<<zz2.查詢年月日n,z;cout"3.幫助n"cout<<"4.退出 n"cout*n; cout«"請(qǐng)輸入你所需的序號(hào):;int choice; cin>>choice; input (choice);void calendar:input (int choice) calendar

11、cl;if (choice=0) cout«z,please in put the year: n,z: cin>>cl. year;while(!judgeinput (1,cl)cout«z/年輸入有誤,請(qǐng)重新輸入:n; cin>>cl year;show(0, cl);else if(choice二二1)cout<<,zplease input the year: n" cin>>cl. year;/i代表年while(!judgeinput (1,cl)cout«z/年輸入有誤,請(qǐng)重新輸入:n; c

12、in>>cl. year;cout"please input the month:n"cin>>cl month;whi1e(!judgelnput (2,cl)cout«z/月輸入有誤,請(qǐng)重新輸入:rt; cin»cl month;show(l, cl);else if(choice=2) cou"please input the year:rt; cin»cl year;/i代表年whi1e(!judgelnput (1,cl)cout<</z年輸入有誤,請(qǐng)重新輸入:n" cin

13、87;cl. year;cout<<zzplease input the month:n; cin>>cl month;whie(!judgelnput (2,cl)cout«z/月輸入有誤,請(qǐng)重新輸入:n;cin»cl month;cout«zzplease in put the day:n; cin>>cl day;whie(!judgelnput (3,cl)cout«日輸入有誤,請(qǐng)重新輸入:n; cin»cl day;show(2, cl);else if(choice=3)helpo ;else i

14、f (choice=4)exit(0);elsecout<<z/輸入有誤,請(qǐng)重新輸入rt;menu();void calendar: :helpocout«z,輸入年為、9999n;cout«z,輸入月為 12n;cout<<"閏月 29n"int calendar:judgeinput (int i, calendar cl) int flag=0;if (i 二二 1)if(cl. year>0&&c1. year<9999) return 1; else return 0;)else if(i=2

15、)if (cl. month>0&&cl. month<13)return 1;else return 0;else if(i=3)i f (juclgeyear (c 1 year)if (cl. month=2&&cl. day>0&&cl. day<=maxmon 1 +1) return 1;else if(cl. day>0&&cl. day<=maxmoncl. month-1) return 1;else return 0;else if(cl. day>0&&

16、;cl. day<=maxmoncl month-1) return 1;else return 0;int calendar:judgcycar(int year)i f(year%4=0&&year%400!二0)return 1;else if (year%4000)return 1;else return 0;void calendar:show(int n, calendar cl) int week;if (n=0) (cl. day=l;for(cl. month二1;cl. month<=12;cl. month+) week=getweek(cl)

17、;print_y(cl, week);if(n=l) cl.day=l;week二getweek(cl);print m(cl, week) ;if(n=2)(getweek (cl); week=getweek (cl);print_d(cl, week);void calendar:print d(calendar cl, int week) cout«,z你輸入的日期為:nz,;cout<<setw(8) <<cl. year«setw(8) <<cl. month<<setw(8) <<cl. day; p

18、rint(week);cout«endl;void calendar:print y(calendar cl,int week)int m=0, t;cout<<cl. year<<z,年,<<cl. month«"月"<<endl;cout<<setw(10)«"星期天,«setw(10)<"星期,z«setw(10) << 星期二,«setw(10) « 星期三 /z«setw(10)«

19、;/z 星期四 /z«setw(10)«/z 星期五 z/«setw(10)«"星期六; cout<<endl;if(cl. month=2&&judgeyear(cl. year)(m=l;t=week%7+l;cout«setw (t*10) «t;for (int i=2;i<=maxmoncl. month-l+m;i+)cl. day=i;i f(getweek(c1)%7=0)cout<<endl;cout«setw(10)«i;cout<&

20、lt;endl;void calcndar:print_m(calendar cl, int week)i nt m=0, t;cout<<cl. year<<z/年""<cl. month<<"月 /z<<endl;cout«setw(10)"星期天 /z«setw(10)«"星期 一"setw(10)« 星期二"setw(10) << 星期三 z/«setw(10)«z,星期四 /«se

21、tw(10)«/,星期五 z/«setw(10)«z,星期六; cout<<endl;if(cl.month二二2&&judgeyear(cl. year)m二1;t二week%7+l;cout«setw(t*10)«cl. day;for (int i二2;i<=maxmoncl. month-l+m;i+)cl. day=i;if(getweek(cl)%7=0)cout<<endl;cout«setw(10)«i;void calendar:print(int week)s

22、witch(week)case 1: cout«setw (10)星期一break;case 2:cout«setw(10)«"星期二" break;case 3: cout«setw(10) «/z星期三; break;case 4:cout«setw(10)«"星期四" break;case 5: cout<<setw(10) <<"星期五" break;case 6:cout«setw(10)«z/星期六" break;case 0:cout<<setw(10)

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論