




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
課程設(shè)計(jì)報(bào)告課程設(shè)計(jì)報(bào)告題目:年歷顯示系統(tǒng)姓名:XXX學(xué)號(hào):XXXX專業(yè):XXXX班級(jí):XXX指導(dǎo)教師:XXX職稱:XXX2012年6月20日目錄97.參考文獻(xiàn)13摘要C語(yǔ)言是近年在國(guó)內(nèi)外得到迅速推廣應(yīng)用的一種語(yǔ)言。C語(yǔ)言功能豐富,表達(dá)能力強(qiáng),使用靈活方便,應(yīng)用面廣,目標(biāo)程序效率高,可移植性好,既具有高級(jí)語(yǔ)言的優(yōu)點(diǎn),又具有低級(jí)語(yǔ)言的許多特點(diǎn)。因此,C語(yǔ)言特別適合于編寫各種軟件。目前流行的計(jì)算機(jī)日歷程序,比較典型的是Windows各版本中的日歷程序以及基礎(chǔ)于該程序所開發(fā)的各種應(yīng)用程序中的日歷程序。然而,這些程序都千篇一律的局限在一個(gè)很短的時(shí)間范圍內(nèi)。(Windows各個(gè)版本一般都局限在1980年至2099年這一范圍內(nèi)),但是,在很多情況下,特別是在眾多的科學(xué)研究領(lǐng)域中,一個(gè)時(shí)間跨度較大的日歷程序是很有參考價(jià)值的。C程序設(shè)計(jì)語(yǔ)言充分發(fā)揮了其自身無(wú)與倫比的優(yōu)越性,用極短的程序文本填補(bǔ)了這一領(lǐng)域的空白,同時(shí)用鐵的事實(shí)強(qiáng)有力的告訴世人:C程序設(shè)計(jì)語(yǔ)言作為計(jì)算機(jī)語(yǔ)言家族的新生事物,其發(fā)展前景是極為廣闊的?!娟P(guān)鍵字】C語(yǔ)言計(jì)算機(jī)日歷程序2.設(shè)計(jì)要求輸入一個(gè)年份,輸出是在屏幕上顯示該年的日歷。假定輸入的年份在1940-2040年之間;1、輸入年,輸出該年的日歷。2、輸入年月,輸出該月的日歷。3、輸入年月日,輸出距今天還有多少天,星期幾,是否是公歷節(jié)日。3.思想構(gòu)架3.1閏年問(wèn)題:每400年整一閏,或每4年且不為百年的一閏。(原因:地球繞太陽(yáng)一周的時(shí)間是365天5小時(shí)46秒,為了使一年的天數(shù)為整數(shù),將一年的天數(shù)定為365天,余下的時(shí)間積累起來(lái),四年就是23小時(shí)15分4秒,將近一天,把這一天加在某年的二月而成29天,該年稱為閏年,其它年稱為平年。但四年加一天又多用了44分56秒,這個(gè)數(shù)積滿400年為三天。因此400年中只能有97個(gè)閏年,所以凡能被400整除,或不能被100整除但能被4整除的年份為閏年。)所以百年%4=0閏或(年%4=0并且年<>0)閏。每4年(3個(gè)平年+1個(gè)閏年)共208周+5天——注意這個(gè)“5天”百年共100*(208周+5天)-1天=5217周+5天——注意這個(gè)“5天”(整百年暫設(shè)為平年)每400年共4*(5217周+5天)+1天(整400年閏)=20871周+0天——注意這個(gè)“0天”和“1天”(4個(gè)整百年只有一個(gè)閏年)即400年一個(gè)輪回!4.程序#include<stdio.h>}}intmonthdays[12]={31,28,31,30,31,30,31,31,30,31,30,31};intleapyearmonthdays[12]={31,29,31,30,31,30,31,31,30,31,30,31};intyear=2011;intmonth=4;intday=22;intisweekday(inty,intm,intd){intweekday;if(m<3){m+=12;y--;}returnweekday=(2+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;intisleapyear(inty){if(y%400==0||y%100!=0&&y%4==0)return1;return0;}voidprint_month(inty,intm){inti=0;intstartday=isweekday(y,m,1);printf("\n%4d/%02d\n",y,m);printf("*****************************\n");for(i=0;i<startday;i++){printf("");if(isleapyear(y)){for(i=1;i<=leapyearmonthdays[m-1];i++){printf("%3d",i);if((startday+i)%7==0)printf("\n");}}else{for(i=1;i<=monthdays[m-1];i++){printf("%3d",i);if((startday+i)%7==0)printf("\n");}voidprint_year(inty){inti;for(i=1;i<=12;i++){print_month(y,i);}}intcounterdays(inty,intm,intd){inttemp=0;intdays=0;inti;for(i=year+1;i<y;i++){if(isleapyear(i))temp++;}if(y-year>=1){if(isleapyear(year)&&month<=2)temp++;if(isleapyear(y)&&m>2||(m==2&&d==29))temp++;for(i=month+1;i<=12;i++)days+=monthdays[i-1];for(i=1;i<m;i++){days+=monthdays[i-1];}days+=(y-year-1)*365;}if(!(year==y&&month==m)){days+=monthdays[month-1]-day+d;}else{days+=d-day;days+=temp;printf("\n今天距%d/%d/%d還有%d天\n",y,m,d,days);returndays;}voidsetday(inty,intm,intd){year=y;month=m;day=d;}voidmain(){inttemp;inty,m,d;charch;do{printf(〃請(qǐng)輸入要查詢的方式(1.查詢年歷2.查詢?cè)職v3.計(jì)算日期4.設(shè)置當(dāng)前日期(%d/%d/%d)):",year,month,day);scanf(〃%d〃,&temp);switch(temp){case1:printf("請(qǐng)輸入年份(ep:2011):");scanf(〃%d〃,&y);print_year(y);break;case2:printf("請(qǐng)輸入年月(ep:2011/4):");scanf(〃%d/%d〃,&y,&m);print_month(y,m);break;case3:printf("請(qǐng)輸入日期(ep:2011/4/22):");scanf("%d/%d/%d",&y,&m,&d);counterdays(y,m,d);break;case4:printf("請(qǐng)輸入當(dāng)天日期(ep:2011/4/22):");scanf("%d/%d/%d",&y,&m,&d);setday(y,m,d);break;default:break;}printf(〃\n\n是否繼續(xù)?(Y鍵繼續(xù),任意鍵退出)〃);getchar();scanf("%c",&ch);}while(ch=='y'||ch=='Y');}5.程序運(yùn)行界面
選擇查詢方式
輸入年,查詢?cè)撃甑娜諝v。
先設(shè)置當(dāng)前日期,再計(jì)算日期。
輸入年月,查詢?cè)撛碌娜諝v。6.總結(jié)通過(guò)本項(xiàng)課程設(shè)計(jì)也培養(yǎng)了我獨(dú)立思考、綜合運(yùn)用所學(xué)有關(guān)相應(yīng)知識(shí)的能力,掌握工程軟件設(shè)計(jì)的基本方法,強(qiáng)化上機(jī)動(dòng)手編程能力,闖過(guò)理論與實(shí)踐相結(jié)合的難關(guān)!在這次課程設(shè)計(jì)中也知道了自己的動(dòng)手能力不強(qiáng)有待進(jìn)一部的提高!在設(shè)計(jì)過(guò)程中不能夠把書本上的知識(shí)與實(shí)踐相結(jié)合,這也就增加了設(shè)計(jì)不好該程序的想法!在設(shè)計(jì)過(guò)程中的一次次設(shè)計(jì)錯(cuò)誤增加了我放棄的想法!不過(guò)經(jīng)過(guò)我的努力終于完成了課程設(shè)計(jì)!完成該程序后想起自己以前的每一次對(duì)自己失去信心,就覺得并不是在知識(shí)掌握上打敗了,而是自己對(duì)自己缺乏信心!只要自己對(duì)自己不失去信心相信就可以完成那些以前認(rèn)為完成不了的事情!也讓我懂得了要想成功首先就必須有很強(qiáng)的自信心!7.參考文獻(xiàn)
源程序參考網(wǎng)址:東華理工大學(xué)學(xué)年課程設(shè)計(jì)報(bào)告評(píng)分表學(xué)生姓名:學(xué)號(hào):xxxx班級(jí):xxxx課程設(shè)計(jì)題目:容內(nèi)目項(xiàng)實(shí)評(píng)選題識(shí)知程mt/課>W題合人結(jié)3匕匕^>厶冃5□O1X□能力水平匕匕厶冃識(shí)知學(xué)所用應(yīng)練熟匕匕厶冃ryO1X□確正導(dǎo)O1X□-三、工加、聊等應(yīng)圖能制O1X□/
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 傳染病防控政策執(zhí)行效果評(píng)價(jià)考核試卷
- 農(nóng)藥生產(chǎn)危化品安全操作規(guī)程考核試卷
- 內(nèi)陸?zhàn)B殖水域資源開發(fā)與漁業(yè)生態(tài)補(bǔ)償機(jī)制設(shè)計(jì)考核試卷
- 化學(xué)礦床勘探成本控制技術(shù)考核試卷
- 世界環(huán)境日活動(dòng)總結(jié)集合14篇
- 神經(jīng)內(nèi)科業(yè)務(wù)學(xué)
- 會(huì)計(jì)人員年度的工作總結(jié)
- 沈陽(yáng)建黨節(jié)活動(dòng)方案
- 江灘大舞臺(tái)活動(dòng)方案
- 漢陽(yáng)促銷活動(dòng)方案
- 2025-2030中國(guó)功率半導(dǎo)體器件市場(chǎng)格局與投資方向報(bào)告
- 統(tǒng)編版五年級(jí)升六年級(jí)語(yǔ)文暑期銜接《課外閱讀》專項(xiàng)測(cè)試卷及答案
- 2025年 煙草陜西公司招聘考試筆試試題附答案
- 2025年老年教育課程設(shè)置:藝術(shù)修養(yǎng)與審美教學(xué)探索報(bào)告
- 2025年河北高考真題化學(xué)試題+解析(參考版)
- 2025至2030中國(guó)數(shù)字出版行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 2025至2030中國(guó)中藥材種植行業(yè)運(yùn)作模式與競(jìng)爭(zhēng)格局分析報(bào)告
- 武漢大學(xué)2020年強(qiáng)基計(jì)劃物理試題(原卷版)
- 2025年隨州國(guó)投集團(tuán)公開招聘42名工作人員筆試參考題庫(kù)附帶答案詳解
- 2025泰和安消防產(chǎn)品選型手冊(cè)
- CJ/T 316-2009城鎮(zhèn)供水服務(wù)
評(píng)論
0/150
提交評(píng)論