萬年歷程序設(shè)計_第1頁
萬年歷程序設(shè)計_第2頁
萬年歷程序設(shè)計_第3頁
萬年歷程序設(shè)計_第4頁
萬年歷程序設(shè)計_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、中北大學(xué)課 程 設(shè) 計 說 明 書學(xué)生姓名: 李 鵬 學(xué) 號: X23 學(xué)生姓名: 任 魚 學(xué) 號: X29 學(xué)生姓名: 楊衛(wèi)東 學(xué) 號: X44 學(xué) 院: 信息商務(wù)學(xué)院 專 業(yè): 電子信息工程 題 目:多媒體技術(shù)與程序設(shè)計實踐: 萬年歷程序設(shè)計 指導(dǎo)教師:田秀榮、石海杰 職稱: 講師 2011 年 12月 12日中北大學(xué)課程設(shè)計任務(wù)書 2011/2012 學(xué)年第 1 學(xué)期學(xué) 院: 信息商務(wù)學(xué)院 專 業(yè): 電子信息工程 學(xué)生姓名: 李 鵬 學(xué) 號: X23 學(xué)生姓名: 任 魚 學(xué) 號: X29 學(xué)生姓名: 楊衛(wèi)東 學(xué) 號: X44 題 目:多媒體技術(shù)與程序設(shè)計實踐: 萬年歷程序設(shè)計 起 迄 日

2、 期: 2011年12月12日 課程設(shè)計地點: 指 導(dǎo) 教 師: 田秀榮 、石海杰 系 主 任: 下達任務(wù)書日期: 2011 年 12 月 12 日課 程 設(shè) 計 任 務(wù) 書1設(shè)計目的:通過設(shè)計,明確萬年歷的設(shè)計思想和設(shè)計過程,扎實掌握VC、C+或C語言編程的整體框架和步驟,使學(xué)生具有一定綜合分析問題和解決問題的能力。2設(shè)計內(nèi)容和要求(包括原始數(shù)據(jù)、技術(shù)參數(shù)、條件、設(shè)計要求等):功能說明:輸入任一年任一月將顯示出該月的所有日期,對應(yīng)的星期,并注意閏年的情況。顯示格式是VC+6.0運行模式。設(shè)計要求:課程設(shè)計的目的在于培養(yǎng)學(xué)生的綜合素質(zhì),要求學(xué)生做到:(1)根據(jù)題目要求查閱有關(guān)資料,確定方案,寫

3、出設(shè)計方案;(2)根據(jù)對選題的理解,消化查閱資料,給出相關(guān)設(shè)計的流程圖;(3) 在C語言、C+或VC環(huán)境下,實現(xiàn)各項功能;(4) 對結(jié)果進行分析總結(jié)。3設(shè)計工作任務(wù)及工作量的要求包括課程設(shè)計計算說明書(論文)、圖紙、實物樣品等:設(shè)計工作任務(wù):(1) 了解課題背景,掌握基本技術(shù),制定程序設(shè)計框架。(2) 完成設(shè)計內(nèi)容:包括程序流程圖和完成實現(xiàn)功能的程序代碼,寫出設(shè)計說明書。(3) 設(shè)計答辯。工作量的要求:(1) 通過查閱資料了解與萬年歷相關(guān)的基本理論、原理以及背景知識,理解選題意義;(2) 掌握與萬年歷相關(guān)的設(shè)計思想、原理、設(shè)計框架和步驟;(3) 完成萬年歷程序的功能和程序代碼的實現(xiàn);(4) 通

4、過實驗驗證程序代碼的可行性;(5) 給出設(shè)計總結(jié)。課 程 設(shè) 計 任 務(wù) 書4主要參考文獻:1 嚴(yán)華鋒 Visual C+課程設(shè)計案例精編 中國水利水電出版社 北京 2002年4月2 黃維通 Visual C+面向?qū)ο笈c可視化程序設(shè)計(第2版) 清華大學(xué)出版社 北京 2007年8月3 馬貴安等 PowerBuilder Win32 API函數(shù)調(diào)用參考手冊 清華大學(xué)出版社 北京2004年7月4 陳平 Visual C+6.0實例教程 浦東電子出版社 上海 2001年1月5 范曉平 跟著實例學(xué)Visual C+6.0 北京航空航天大學(xué)出版社 北京2003年1月5設(shè)計成果形式及要求:程序運行結(jié)果;附

5、:課程設(shè)計說明書。6工作計劃及進度:2011年12月12日-2011年12月18日,查找資料;12月19日-12月25日,熟悉VC工作環(huán)境,上機調(diào)試程序;12月26日-12月30日,寫設(shè)計報告,并答辯。系主任審查意見: 簽字: 年 月 日目錄1.設(shè)計方案簡介12. 設(shè)計步驟及結(jié)果 13. 參考文獻 74. 設(shè)計評述 81.設(shè)計方案簡介(1)用C+Source File創(chuàng)建一個新工程,將其命名為Cpp1.(2 ) 根據(jù)設(shè)計的課題進行程序的設(shè)計,通過定義全局變量,定義類PerpetualCalenda,來實現(xiàn)輸入任一年任一月將顯示出該月的所有日期,對應(yīng)的星期,并注意閏年的情況(3)最后對此工程進行

6、編譯,若有錯誤,則進行修改,沒有錯誤則運行成功。2.設(shè)計步驟及結(jié)果程序為:#include #include #include void mnumain()/*顯示菜單*/printf(n 萬年歷n);printf(*n);printf(t1:按年查詢n);printf(t2:按月查詢n);printf(t3:按日查詢n);printf(t0:退出n);printf(*n);void main()/*主函數(shù)*/int date,year,month,day; int PutinYear();int PutinMonth();int PutinDay();void PrintDate(int ,

7、int, int);char ch;int nMenu;do mnumain(); ch=getch(); nMenu=ch-0; switch(nMenu) case 1: printf(你選擇的是按年查詢n); year = PutinYear (); void GetMonth(int year); GetMonth (year); break; case 2: system(cls); printf(你選擇的是按月查詢n); year=PutinYear (); month=PutinMonth (); void PrintMonth(int month, int year); Pri

8、ntMonth(month, year); printf(n); break; case 3: system(cls); printf(你選擇的是按日查詢n); year=PutinYear (); month=PutinMonth (); day=PutinDay (); PrintDate(year,month,day); break; case 0: system(cls); printf(你選擇的是退出); getch(); break; default: printf(你的選擇是錯誤的!n); getch(); break; while(nMenu!=0);int PutinYear

9、() /*按年查詢*/int year;while(1) printf(請輸入年份 : ); scanf(%d, &year); return year;int PutinMonth() /*按月查詢*/int month;while(1) printf(請輸入月份 :); scanf(%d,&month); return month;int PutinDay(void) /*按日查詢*/int day;while(1) printf(請輸入日期 :); scanf(%d,&day); return day;int LeapYear(int year) /*判斷閏年*/ if(year%4=0

10、&year%100|year%400=0) return 1; else return 0;void GetMonth (int year) /*求月份*/int month;for(month = 1; month = 12; month+) void PrintMonth(int month, int year); PrintMonth(month, year); printf(n);enumSunday, Monday, Tuesday, Wednesday,Thursday, Friday, Saturday;void PrintMonth(int month, int year) /

11、*顯示每月*/int weekday, ndays, day;char *MonthName(int month);printf( %s, MonthName(month);printf(n 周日 周一 周二 周三 周四 周五 周六n);int MonthDays(int year, int month);ndays = MonthDays(year, month);int FirstDay(int year, int month);weekday = FirstDay(year, month);void Blank(int weekday);Blank(weekday);for(day =

12、1; day = ndays; day+) printf( %4d, day); if(weekday = Saturday) printf(n); weekday = (weekday + 1) % 7;if(weekday != Sunday) printf(n);char *MonthName(int month)char *name = , 一月, 二月, 三月,四月, 五月, 六月, 七月, 八月, 九月, 十月, 十一月, 十二月 ;return (month 12) ? name1 : namemonth;int MonthDays(int year, int month) /*

13、求每月天數(shù)*/int LeapYear(int year);switch(month) case 2 : if(LeapYear(year) return 29; return 28; case 4 : case 6 : case 9 : case 11 : return 30; default : return 31;int FirstDay(int year, int month) /*求一年第一天*/int i, weekday;weekday = Monday;for(i = 1; i year; i+) weekday = (weekday + 365) % 7; if(LeapYe

14、ar(i) weekday = (weekday + 1) % 7;for(i = 1; i month; i+) int MonthDays(int year, int month); weekday = (weekday + MonthDays(year, i) % 7;return weekday;void Blank(int weekday)int i;for(i = 0; i weekday; i+) printf( );void PrintDate(int year,int month,int date) /*顯示具體日期*/ int day; int getday(int yea

15、r,int month,int date); day=getday(year,month,date); if(day=0) printf(n%d-%d-%d is Sunday!n,year,month,date); if(day=1) printf(n%d-%d-%d is Monday!n,year,month,date); if(day=2) printf(n%d-%d-%d is Tuesday!n,year,month,date); if(day=3) printf(n%d-%d-%d is Wednesday!n,year,month,date); if(day=4) printf

16、(n%d-%d-%d is Thursday!n,year,month,date); if(day=5) printf(n%d-%d-%d is Friday!n,year,month,date); if(day=6) printf(n%d-%d-%d is Saturday!n,year,month,date);int getday(int year,int month,int date) /*求累計天數(shù)*/int flag,s,i;int a13=0,31,28,31,30,31,30,31,31,30,31,30,31;int cont=0;flag=LeapYear(year);if(

17、flag=1) a2+;for(i=1;imonth;i+) cont=cont+ai;cont=cont+date;s=year+1+(year-1)/4+(year-1)/100+(year-1)/400+cont;return s%7;運行結(jié)果(1)運行萬年歷初始狀態(tài)圖1 初始狀態(tài)(2)選擇1圖2 選擇操作1(3)輸入年月 圖3 輸入年月4. 參考文獻【1】嚴(yán)華鋒 Visual C+課程設(shè)計案例精編 中國水利水電出版社 北京 2002年4月【2】 黃維通 Visual C+面向?qū)ο笈c可視化程序設(shè)計(第2版) 清華大學(xué)出版社 北京 2007年8月【3】 馬貴安等 PowerBuilder

18、Win32 API函數(shù)調(diào)用參考手冊 清華大學(xué)出版社 北京2004年7月【4】 陳平 Visual C+6.0實例教程 浦東電子出版社 上海 2001年1月【5】 范曉平 跟著實例學(xué)Visual C+6.0 北京航空航天大學(xué)出版社 北京2003年1月5. 設(shè)計評述,設(shè)計者對本設(shè)計的評述及通過設(shè)計的收獲體會X3023李鵬:在為期不到兩周的課程設(shè)計中,我體會頗多,學(xué)到很多東西。我懂得了如何用vc+6.0編寫應(yīng)用程序,利用這次機會,我加強了對C+的認(rèn)識,復(fù)習(xí)了自己以前的知識,自己的邏輯思考能力也提高不少。從而對Microsoft Visual C+ 6.0又有了更深入的認(rèn)識!在這次課程設(shè)計中,我還懂得了程序開發(fā)的一些比較重要的步驟,比如需求分析、總體

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論