![萬年歷C語言程序設計_第1頁](http://file1.renrendoc.com/fileroot_temp2/2020-6/22/b9e9bf7b-423d-4a2f-97e9-d18e55212bb6/b9e9bf7b-423d-4a2f-97e9-d18e55212bb61.gif)
![萬年歷C語言程序設計_第2頁](http://file1.renrendoc.com/fileroot_temp2/2020-6/22/b9e9bf7b-423d-4a2f-97e9-d18e55212bb6/b9e9bf7b-423d-4a2f-97e9-d18e55212bb62.gif)
![萬年歷C語言程序設計_第3頁](http://file1.renrendoc.com/fileroot_temp2/2020-6/22/b9e9bf7b-423d-4a2f-97e9-d18e55212bb6/b9e9bf7b-423d-4a2f-97e9-d18e55212bb63.gif)
![萬年歷C語言程序設計_第4頁](http://file1.renrendoc.com/fileroot_temp2/2020-6/22/b9e9bf7b-423d-4a2f-97e9-d18e55212bb6/b9e9bf7b-423d-4a2f-97e9-d18e55212bb64.gif)
![萬年歷C語言程序設計_第5頁](http://file1.renrendoc.com/fileroot_temp2/2020-6/22/b9e9bf7b-423d-4a2f-97e9-d18e55212bb6/b9e9bf7b-423d-4a2f-97e9-d18e55212bb65.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、沈陽航空航天大學 課課 程程 設設 計計 報報 告告 課程設計名稱:C C 語言課程設計語言課程設計 課程設計題目:萬年歷軟件設計萬年歷軟件設計 學 院:計算機學院 專 業(yè):計算機科學與技術 班 級: 學 號: 姓 名: 指導教師:從麗暉 起止時間:2010年3月4日-2010年3月19日 目目 錄錄 第第 1 章章 需求分析需求分析.2 1.1 課程設計的題目及要求 .2 1.2 題目分析 .2 第第 2 章章 概要設計概要設計.3 2.1 主要函數(shù)和函數(shù)功能描述 .3 2.1.1 主要函數(shù).3 2.1.2 函數(shù)的功能描述.3 2.2 功能模板 .4 第第 3 章章 詳細設計詳細設計.5 3
2、.1 程序說明 .5 3.2 程序流程 .6 第第 4 章章 調(diào)試分析調(diào)試分析.7 4.1 調(diào)試過程中遇到的問題及解決方法 .7 4.2 經(jīng)驗總結 .7 參考文獻參考文獻.8 附附 錄錄.9 總結總結.11 第 1 章 需求分析 1.1 課程設計的題目及要求課程設計的題目及要求 題目:萬年歷軟件設計萬年歷軟件設計 內(nèi)容:設計一個簡單的萬年歷軟件,可實現(xiàn)對任意年份日歷的輸出。內(nèi)容:設計一個簡單的萬年歷軟件,可實現(xiàn)對任意年份日歷的輸出。 1 1、輸入年、月、日:輸出時星期幾;輸入年、月、日:輸出時星期幾; 2 2、打印任意年份的日歷;打印任意年份的日歷; 3 3、界面要優(yōu)化,直觀,大方,美觀;界面
3、要優(yōu)化,直觀,大方,美觀; 基本要求:基本要求:1 1、獨立完成系統(tǒng)的設計、編碼和調(diào)試。、獨立完成系統(tǒng)的設計、編碼和調(diào)試。 2 2、系統(tǒng)利用、系統(tǒng)利用 C C 語言實現(xiàn)。語言實現(xiàn)。 3 3、按照課程設計規(guī)范書寫課程設計報告。、按照課程設計規(guī)范書寫課程設計報告。 4 4、熟練掌握基本的調(diào)試方法,并將程序調(diào)試通過。、熟練掌握基本的調(diào)試方法,并將程序調(diào)試通過。 1.2 題目分析題目分析 界面優(yōu)化,直觀,大方,美觀需要做一個菜單,可實現(xiàn)直接輸入所需要的界面優(yōu)化,直觀,大方,美觀需要做一個菜單,可實現(xiàn)直接輸入所需要的 信息,不用顯示源代碼。對于顯示任意一天的星期數(shù)可以利用網(wǎng)絡找到公式。信息,不用顯示源代
4、碼。對于顯示任意一天的星期數(shù)可以利用網(wǎng)絡找到公式。 打印日歷先要判斷這個月的天數(shù),打印日歷先要判斷這個月的天數(shù),1,3,5,7,8,10,12 月為月為 31 天。天。 4,6,9,11 月為月為 30 天,天,2 月要判斷是否為閏年,是為月要判斷是否為閏年,是為 29 天,不是為天,不是為 28 天;判天;判 斷出天數(shù)后斷出天數(shù)后 計算本月第一天是星期幾,然后打印出日歷。計算本月第一天是星期幾,然后打印出日歷。 第 2 章 概要設計 2.1 主要函數(shù)和函數(shù)功能描述主要函數(shù)和函數(shù)功能描述 2.1.1 主要函數(shù)主要函數(shù) 1 關于設計菜單的函數(shù)關于設計菜單的函數(shù) menu_select().; 2
5、 leap()函數(shù);()函數(shù); 3 days_month()() 4 firstday()() 2.1.2 函數(shù)的功能描述函數(shù)的功能描述 1.菜單函數(shù)菜單函數(shù) mune_select()() ;直接顯示菜單;直接顯示菜單; 2 判斷是否為閏年的判斷是否為閏年的 leap()函數(shù);()函數(shù); 3 判斷這個月天數(shù)的判斷這個月天數(shù)的 days_month()() 4 判斷這個月第一天是星期幾的函數(shù)判斷這個月第一天是星期幾的函數(shù) firstday()() 2.2 功能模板圖顯示功能模板圖顯示 萬年歷軟件萬年歷軟件 1 顯 示菜 單. 2 輸 入年 月日 顯示 星期 幾 3.打 印日 歷 第三章 詳細設
6、計 3.1程序說明程序說明 先做一個菜單窗口,可以重復這個窗口, 輸入可以查詢?nèi)我饽骋惶斓男瞧跀?shù)例如輸入年月日得到 。 輸入可以打印任意月份的日歷例如輸入年月得到 對于第一個功能輸出任意天的星期先要算出輸入的是這一年的第幾天, (要注 意對閏年的判斷) 。然后利用公式 S=(year-1+(year-1)/4-(year-1)/100+(year-1) /400+sum)%7; X 表示年份,C 是該年份元旦開始到這一日的天數(shù) S/7 的系數(shù)就是星期數(shù). ,對日歷的打印,用函數(shù)()判斷要輸出的月份是多少天, 再用公式 w=(1+2*month+3*(month+1)/5+year+year/4
7、+year/400-year/100)%7+1; 算出輸入月份第一天的星期數(shù)。 3.2程序流程程序流程 主函數(shù)圖 計算星期圖 打印日歷圖 第第 4 章章 調(diào)試分析調(diào)試分析 4.1 調(diào)試過程中遇到的問題及解決方法調(diào)試過程中遇到的問題及解決方法 問題:問題: (1 1)問題:沒有毅力調(diào)程序,遇見困難總是逃避。解決辦法,在助導的把問題:沒有毅力調(diào)程序,遇見困難總是逃避。解決辦法,在助導的把 課設的重要程度說明后,堅持了下來。課設的重要程度說明后,堅持了下來。 (2 2)問題。很多程序都是不通過,總是無定義。問題。很多程序都是不通過,總是無定義。 解決辦法:沒有認真的看借來的書籍,沒有分清楚解決辦法:
8、沒有認真的看借來的書籍,沒有分清楚 t.ct.c 與與 V V。C C 的區(qū)別。的區(qū)別。 (3 3) 問題:打印的日歷總是提前一天,對控制格式還不是很了解。問題:打印的日歷總是提前一天,對控制格式還不是很了解。 解決方法解決方法: :細心調(diào)試發(fā)現(xiàn)問題的原因,然后解決;細心調(diào)試發(fā)現(xiàn)問題的原因,然后解決; (4 4) 問題問題: :對計算輸入年月日輸出星期幾的公式?jīng)]有具體查清,導致自己對計算輸入年月日輸出星期幾的公式?jīng)]有具體查清,導致自己 修改還沒有結果修改還沒有結果 ,浪費了時間。,浪費了時間。 4.2 經(jīng)驗總結經(jīng)驗總結 多看書籍尤其是教科書,把書上的知識點弄清楚然后看課外書來增加專多看書籍尤其
9、是教科書,把書上的知識點弄清楚然后看課外書來增加專 業(yè)知識,要好好利用學校圖書館的資源和網(wǎng)絡資源,但是不能盲目的抄襲。業(yè)知識,要好好利用學校圖書館的資源和網(wǎng)絡資源,但是不能盲目的抄襲。 做事要向前趕,不能拖。做事要向前趕,不能拖。 參考文獻參考文獻 11劉振安劉振安 C C 語言程序設計語言程序設計 課程設計課程設計 機械工業(yè)出版社機械工業(yè)出版社 20042004 22張長海張長海C C 語言程序設計語言程序設計MM北京:高等教育出版社,北京:高等教育出版社,20062006 33于帆于帆. .趙妮趙妮. .王中生等程序設計基礎王中生等程序設計基礎 (C(C 語言版語言版) )清華大學出版社清
10、華大學出版社 44譚明金譚明金 俞海英俞海英 C C 語言程序設計實例精粹語言程序設計實例精粹 電子工業(yè)出版社電子工業(yè)出版社 附 錄 源程序代碼:源程序代碼: #include #include #include int leap (int year) ;/判斷是否為閏年 int days_month (int month,int year) ;/判斷這個月的天數(shù) int firstday(int month,int year);/顯示本月第一天是星期幾 int menu_select(); void f() int day,month,year,sum,leap,S; printf(n 請輸
11、入年月日n); scanf(%d%d%d, switch(month) case 1:sum=0;break; case 2:sum=31;break; case 3:sum=59;break; case 4:sum=90;break; case 5:sum=120;break; case 6:sum=151;break; case 7:sum=181;break; case 8:sum=212;break; case 9:sum=243;break; case 10:sum=273;break; case 11:sum=304;break; case 12:sum=334;break; de
12、fault:printf(data error);break; sum=sum+day; if(year%400=0|(year%4=0 else leap=0; if(leap=1 S=(year-1+(year-1)/4-(year-1)/100+(year-1)/400+sum)%7; /X 表示年份,C 是該年份元旦開始到這一日的天數(shù) /S/7 的系數(shù)就是星期數(shù) /01printf(%d,S); switch(S) case 1:printf(星期一n);break; case 2:printf(星期二n);break; case 3:printf(星期三n);break; case
13、4:printf(星期四n);break; case 5:printf(星期五n);break; case 6:printf(星期六n);break; case 0:printf(星期日n);break; void g() int i,j=1,k=1,a,b,month,year; printf(n 輸入年月:n); scanf(%d%d, b=days_month(month,year); a=firstday (month,year); printf(*n); printf( Sun Mon Tue Wed Thu Fri Sat n); if(a=7) for(i=1;i=b;i+) p
14、rintf(%4d,i); if(i%7=0) printf(n); if(a!=7) while (j=4*a) printf( ); j+; for(i=1;i=b;i+) printf(%4d,i); if(i=7*k-a) printf(n); k+; printf(n*n); printf(n); int leap (int year) if(year%4=0 else return 0; int days_month (int month,int year) if(month=1|month=3|month=5|month=7|month=8|month=10|month=12)
15、return 31; if(month=4|month=6|month=9|month=11) return 30; if(month=2 else return 28; int firstday(int month,int year) int w; w=(1+2*month+3*(month+1)/5+year+year/4+year/400-year/100)%7+1; return w; void main() for(;) switch(menu_select() case 1: printf(輸入年月日計算星期幾n);f(); break; case 2: printf(打印任意日歷
16、n);g(); break; case 3: printf(謝謝使用!n); exit(0); int menu_select() char s; int cn; printf(1. 輸入年月日計算星期幾n); printf(2. 打印任意日歷n); printf(3.謝謝使用! n); printf(input 1-3:); do s=getchar(); cn=(int)s-48; while(cn6); return cn; 總結 課程設計總結:自從學習了課程設計總結:自從學習了 C 語言后,一直覺得模模糊糊,什么也不會,一個語言后,一直覺得模模糊糊,什么也不會,一個 學期過去了總想學點現(xiàn)實中能用到的知識,在一開學就開始做課程設計學習如學期過去了總想學點現(xiàn)實中能用到的知識,在一開學就開始做課程設計學習如 可編寫程序心里比較高興吧,但是拿到題目以后有點暈,要我編寫一個萬年歷,可編寫程序心里比較高興吧,但是拿到題目以后有點暈,要我編寫一個萬年歷, 自己一點想法也沒有,后來上網(wǎng)看了一下大家的編寫的程序,暈啊自己一點想法也沒有,后來上網(wǎng)看了一下大家的編寫的程序,暈啊 ,看不懂!,看不懂! 沒辦法去了校圖書館去借書看看沒想到找了打印日歷的書,沒辦法去了校圖書館去借
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- LY/T 2280-2024中國森林認證森林經(jīng)營應用指南
- 蘇科版版數(shù)學七年級上冊聽評課記錄《2-7 有理數(shù)的乘方》第1課時
- 人教部編版八年級道德與法治上冊:8.2《堅持國家利益至上》聽課評課記錄3
- 蘇科版九年級數(shù)學聽評課記錄:第27講 切線性質(zhì)定理的應用
- 用工合同范本(2篇)
- 生態(tài)環(huán)境融資協(xié)議書(2篇)
- 環(huán)境友好化學品研發(fā)合同(2篇)
- 一年級下雪啦聽評課記錄
- 六年級數(shù)學上聽評課記錄
- 人教版數(shù)學八年級下冊《構建知識體系》聽評課記錄2
- 2025年大慶職業(yè)學院高職單招語文2018-2024歷年參考題庫頻考點含答案解析
- 2025年中國南方航空股份有限公司招聘筆試參考題庫含答案解析
- 商務部發(fā)布《中國再生資源回收行業(yè)發(fā)展報告(2024)》
- 山東省濟南市2024-2024學年高三上學期1月期末考試 地理 含答案
- 2025年福建新華發(fā)行(集團)限責任公司校園招聘高頻重點提升(共500題)附帶答案詳解
- 【課件】液體的壓強(課件)-2024-2025學年人教版物理八年級下冊
- 實施彈性退休制度暫行辦法解讀課件
- 冷凍食品配送售后服務體系方案
- 江蘇省駕??荚嚳颇恳豢荚囶}庫
- 四川省成都市青羊區(qū)成都市石室聯(lián)合中學2023-2024學年七上期末數(shù)學試題(解析版)
- 2024-2030年中國自動光學檢測儀(AOI)市場競爭格局與前景發(fā)展策略分析報告
評論
0/150
提交評論