版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
C語言課程設計(萬歷)C語言課程設計(萬歷)C語言課程設計(萬歷)山東交通學院面向?qū)ο笳n程設計萬年歷系統(tǒng)院(系)別信息工程系班級計算111學號11081123姓名秦先生指導教師徐碩博時間2012-03-05—2012-03-09課程設計任務書題目萬年歷系統(tǒng)系(部)信息工程系專業(yè)計算機科學與班級計算111學生姓名秦先生學號11081112303月05日至03月09日共1周指導教師(署名)系主任(署名)年代日成績評定表作品成績報成功績口試(辯論)成總評成績績.目錄1課程設計概括..................................................................................................................51.1萬年歷系統(tǒng)功能概括.....................................................................................................51.2開發(fā)環(huán)境概括.................................................................................................................52萬年歷系統(tǒng)整體設計...................................................................................................62.1問題剖析.........................................................................................................................62.2整體設計流程圖.............................................................................................................73萬年歷系統(tǒng)詳盡設計...................................................................................................84程序測試...............................................................................................................................94.1進入程序界面.................................................................................................................94.2主菜單界面.....................................................................................................................94.3顯示目前時間界面.......................................................................................................104.4查問時間界面.............................................................................................................104.5查問時間犯錯界面.......................................................................................................114.6退出程序界面...............................................................................................................124.7主菜單項選擇擇犯錯界面.....................................................................錯誤!不決義書簽。25程序源代碼13設計領會及此后的改良建議21參照文件..................................................................................................................................21課程設計概括1.1字符統(tǒng)計軟件功能概括模擬Windwos的日歷.日歷顯示功能。能依據(jù)系統(tǒng)日期進行初始化,假如沒有任何輸入,則顯示系統(tǒng)日期所在月份的月歷。日歷查問、閏年判斷功能。輸入日期進行查問,顯示查問日期所在月份的月歷,還將顯示所在年份能否為閏年。參數(shù)檢查功能。假如輸入日期不合法,查問將被拒絕,并顯示提示信息。1.2開發(fā)環(huán)境概括在實驗室一人一臺微機。課程設計概括2.1問題剖析難點在于判斷禮拜,但依據(jù)蔡勒公式,能夠很簡單地有年代日推測出星期:nDay=year-1+(year-1)/4-(year-1)/100+(year-1)/400+nday;w=nDay%7;此中year:要查問的年份nday:從該年的一月一日起到該天的天數(shù)w:得出的禮拜數(shù),w==0表示禮拜天。在打印月歷時,只需知道第一天的禮拜,就能夠挨次輸入后邊的日期,經(jīng)過定長度輸出日期,在碰到某時節(jié)禮拜六時,就換行輸出,所以能夠依據(jù)月歷的格式輸出。關于初始輸入目前月歷,能夠經(jīng)過<time.h>中的time和localtime函數(shù)拿出系統(tǒng)時間進行初始化。time_ttimer;structtm*gmt;time(&timer);gmt=localtime(&timer);gmt就是一個時間構造體,能夠從中拿出年代日。閏年的判斷,能被4整除但不可以被100整除,或許能被400整除的年份為閏年,不然為平年。日期的查問,就是直接打印該天所在月份的月歷。判斷日期能否合法,能夠先判斷年代日能否有小于0的值,月和日能否有高出最大值12和31,假如經(jīng)過此判斷合法,再判斷能否時閏年,假如時閏年,則判斷二月份能否知足要求,閏年二月份不可以超出29天,平年二月份不可以超出28天。在查問過程中,假如發(fā)現(xiàn)輸入不合法或許不知足輸入要求,則要求從頭輸入。2.2整體設計流圖程序開始按提示輸入數(shù)字是再次輸入數(shù)字履行相應的功能輸入的數(shù)字是不是0退出3萬年歷系統(tǒng)詳盡設計intrunnian(intyear);該函數(shù)判斷某年是不是閏年,參數(shù)為閏年,0表示該年為平年。
year
表示要判斷的年份,返回值
1表示該年structtm*getDay( )
;該函數(shù)用以獲得系統(tǒng)的時間。該函數(shù)沒有參數(shù),返回值種類為
struct
tm*,
是一個包括時間的構造體。intjiancha(intyear,intmonth,intday);該函數(shù)用以判斷輸入的年份能否合法,參數(shù)為要判斷的年代日,返回值為1表示該日期合法,為0表示不合法。intgetwDay(intyear,intmonth,intday);該函數(shù)用以依據(jù)一個日期推測禮拜,參數(shù)為要判斷的年代日。返回值為整型,123456分別表示禮拜一到禮拜六,0表示禮拜天。voidchaxun( );該函數(shù)用以顯示要查問的日期的月歷,無參數(shù)和返回值,。voidinlinebackMenu( );該函數(shù)為內(nèi)聯(lián)函數(shù),用以實現(xiàn)達成某項功能后按隨意字符鍵返回主菜單,無參數(shù)和返回值。voidcaidan(int&year,int&month,int&day);該函數(shù)參數(shù)為系統(tǒng)日期,無返回值,用戶在該函數(shù)履行時能夠選擇功能。程序測試4.1進入程序后顯示4.2按隨意鍵返回主菜單4.3進入主菜單后,按1,顯示目前時間4.4在主菜單界面按2,進行日立的查問,并經(jīng)時期的合法性判斷和平潤年的判斷。比如輸入:20201220.因為輸入合法會顯示:4.5進入程序后顯示輸入:20121140,因為輸入不合法,會進行報錯,要求從頭輸4.6在主界面中輸入3,程序退出4.7在主界面中輸入:eufhg,會顯示程序原代碼:#include<stdio.h>#include<time.h>#include<math.h>#include<string.h>#include<windows.h>#include<conio.h>intyear,month,day;//全局變量記錄時間intdaysOfMonth[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}};intrunnian(intyear)//判斷是不是閏年{return(year%4==0&&year%100!=0||year%400==0)?1:0;}structtm*getDay( )//{
從系統(tǒng)獲得目前時間time_ttimer;structtm*gmt;time(&timer);gmt=localtime(&timer);returngmt;}intjianca(intyear,intmonth,intday)//{
檢查日期能否正確if(year<0||month<1||month>12||day<1||day>31)return0;switch(month){case1:case3:case5:case7:case8:case10:case12:if(day>31)return0;break;case4:case6:case9:case11:if(day>30)return0;break;default:if(runnian(year)&&day>29)return0;elseif(runnian(year)==0&&day>28)return0;}return1;}intgetwDay(intyear,intmonth,intday)//{
獲得禮拜intnday=0,nDay,i,w;for(i=0;i<month-1;i++)nday+=daysOfMonth[runnian(year)][i];nday+=day;nDay=year-1+(year-1)/4-(year-1)/100+(year-1)/400+nday;w=nDay%7;returnw;}intweek(intyear,intmonth,intday)//{
獲得禮拜intnday=0,nDay,i,w;for(i=0;i<month-1;i++)nday+=daysOfMonth[runnian(year)][i];nday+=day;nDay=year-1+(year-1)/4-(year-1)/100+(year-1)/400+nday;w=nDay%7;returnw;}voidty(intyear,intmonth,intday)//{
打印月歷inti;charwday[7][4]={"日","一","二","三","四","五","六"};printf("####################################\n");printf("####################################\n");printf("######%d年%d月%d日#######\n",year,month,day);printf("************************************\n");printf("************************************\n");for(i=0;i<7;i++)printf("%5s",wday[i]);printf("\n");intw;intnowDay=1;w=week(year,month,nowDay);//找到第一天的禮拜intn;n=daysOfMonth[runnian(year)][month-1];{//擱置第一天if(w==0)printf("%5d",nowDay);elseif(w==1)printf("%10d",nowDay);elseif(w==2)printf("%15d",nowDay);elseif(w==3)printf("%20d",nowDay);elseif(w==4)printf("%25d",nowDay);elseif(w==5)printf("%30d",nowDay);elseprintf("%35d\n",nowDay);}nowDay++;for(i=1;i<n;i++){w=week(year,month,nowDay);printf("%5d",nowDay);if(w==6)//假如是禮拜六則換行打印puts("\n");nowDay++;}printf("\n************************************\n");printf("************************************\n");}voidcaxun( )//查問日歷{system("cls");intyear,month,day;printf("請輸入你要查問的日期(格式為年代日,如2009113):");scanf("%d%d%d",&year,&month,&day);while(!jianca(year,month,day))//假如日期輸入不正確,則從頭輸入{printf("%c你輸入的日期錯誤,請從頭輸入:");scanf("%d%d%d",&year,&month,&day);}system("cls");if(runnian(year))printf("\n
閏年\n\n");elseprintf("\n
平年\n\n");ty(year,month,day);}voidinlinebackMenu( ){printf("請按隨意字符鍵進入主菜單:\n");getch( );/*system("cls");*/}voidcaidan(int&year,int&month,int&day)//主菜單{system("cls");printf("---------------------------------------------------\n");printf("---------------------------------------------------\n");printf("---------------------------------------------------\n");printf("---------------------------------------------------\n");printf("***************************************************\n");printf("***************************************************\n");printf("***********
主菜單
*************\n");printf("***************************************************\n");printf("****************************************************\n");printf("***********1.顯示日歷*************\n");printf("***********2.查問日歷*************\n");printf("***********3.退出*************\n");printf("************************\n");printf("************************\n");printf("************************\n");charm[100];intg=0;do{intf=0;do
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024至2030年非彈性寬松緊帶項目投資價值分析報告
- 2024至2030年間隙式圓盤全自動拋光機項目投資價值分析報告
- 湖北2009年財經(jīng)法規(guī)與會計職業(yè)道德強化習題及答案
- 2025年山東青島黃島發(fā)展集團招聘筆試參考題庫含答案解析
- 2025年江蘇連云港市演藝集團招聘筆試參考題庫含答案解析
- 2025年山東淄博金宅物業(yè)公司招聘筆試參考題庫含答案解析
- 國家安全法講座
- 2025年廣東省中建三局一公司招聘筆試參考題庫含答案解析
- 2025年四川涼山州普格縣農(nóng)業(yè)投資開發(fā)有限責任公司招聘筆試參考題庫附帶答案詳解
- 與中學招生合作協(xié)議
- 中國式現(xiàn)代化為主題的論文3000字(1) (1)全文
- YB2防爆電機使用說明書
- 安全生產(chǎn)法律法規(guī)清單(2024年5月版)
- 江蘇省連云港市2023-2024學年八年級下學期期末道德與法治試卷(含答案解析)
- 2024年大學試題(宗教學)-佛教文化筆試考試歷年高頻考點試題摘選含答案
- 三年級下冊語文必背古詩詞
- 老年人譫妄中西醫(yī)結合診療專家共識
- 團餐食品安全年度匯報
- 華西解剖學課件緒論和骨學總論
- 2024平安保險測評題庫
- 膀胱癌診斷治療指南
評論
0/150
提交評論