版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、中國海洋大學(xué)青島學(xué)院c語言課程設(shè)計(jì)報(bào)告書題 目日歷顯示學(xué)生姓名指導(dǎo)教師學(xué) 院專業(yè)班級組內(nèi)分工姓名主要任務(wù)占系統(tǒng)比例日期判斷,日期調(diào)整 50%日期查詢,閏年判斷,主函數(shù) 50%目 錄1 前言12 需求分析23 模塊設(shè)計(jì)圖及組內(nèi)分工34 ns流程圖清單55 存儲結(jié)構(gòu)及函數(shù)說明86 課程設(shè)計(jì)結(jié)果97 實(shí)踐心得體會14iiiiiic語言課程設(shè)計(jì)報(bào)告前言設(shè)計(jì)目的:1 加深對c語言程序設(shè)計(jì)課程所學(xué)知識的理解,進(jìn)一步鞏固c語言語法規(guī)則。學(xué)會編制結(jié)構(gòu)清晰、風(fēng)格良好、數(shù)據(jù)結(jié)構(gòu)適當(dāng)?shù)腸語言程序,從而具備解決綜合性實(shí)際問題的能力。2 對題目的理解:1. 本程序設(shè)計(jì)了一個(gè)比較完整的有一定功能的日歷顯示系統(tǒng)。2. 該題
2、目要求熟練的掌握c語言的基本知識。中包括數(shù)據(jù)類型(int、char);運(yùn)算類型(算術(shù)運(yùn)算、邏輯運(yùn)算、自增運(yùn)算、賦值運(yùn)算等);程序結(jié)構(gòu)(順序結(jié)構(gòu)、判斷選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)),進(jìn)一步掌握各種函數(shù)的應(yīng)用,包括時(shí)間函數(shù)等。2 需求分析該系統(tǒng)共有四個(gè)大部分:日歷顯示功能、日歷查詢和閏年判斷功能、參數(shù)檢查功能、選做(通過鍵盤操作選擇各個(gè)菜單)。本系統(tǒng)通過對某天的查詢、閏年的判斷,日期的合法性判斷,日期的調(diào)整等各部分進(jìn)行了有效的計(jì)劃,組織和控制,得到了一個(gè)功能比較完整并能實(shí)現(xiàn)一定功能的日歷顯示系統(tǒng)。日歷顯示功能:判斷星期,根據(jù)公式有年月日判斷星期:打印時(shí),通過第一天星期的判斷,得到后面的日期,通過定長度輸出。
3、對于初始輸入當(dāng)前日歷,可通過函數(shù)取出系統(tǒng)時(shí)間進(jìn)行初始化。日歷查詢和閏年判斷功能: 閏年的判斷,日期的查詢,就是直接打印該天所在月份的日歷。參數(shù)檢查功能: 判斷日期是否合法,如果合法,再判斷閏年,之后判斷二月份是否滿足要求。如果輸入不合法或者不滿足輸入要求,則要求重新輸入。選做(通過鍵盤操作選擇各個(gè)菜單): 捕獲鍵盤的輸入,再判斷哪個(gè)鍵的輸入,根據(jù)某鍵的輸入,則設(shè)置相應(yīng)的年或月或日的值,再屬性輸出,則可以實(shí)現(xiàn)日期的調(diào)整。3 模塊設(shè)計(jì)圖及組內(nèi)分工模塊一:日歷顯示功能判斷星期,根據(jù)蔡勒公式,有年月日判斷星期:nday=year-1+(year-1)/4+(year-1)/400+ndayw=nday
4、%7;其中year:要查詢的年份,nday:從該年的一月一日起到該天的天數(shù),w:得出的星期數(shù),w=0代表星期天打印月歷時(shí),通過第一天星期的判斷,依次得到后面的日期,通過定長度輸出,遇到星期六就換行輸出,因此可以按照月歷的格式輸出。對于初始輸入當(dāng)前日歷,可以通過中的time和localtime函數(shù)取出系統(tǒng)時(shí)間進(jìn)行初始化。time_t timer;struct tm *gmt;time(timer);gmt=localtime(&timer); gmt就是一個(gè)時(shí)間結(jié)構(gòu)體,可以從中取出年月日。模塊二:日歷查詢和閏年判斷功能 閏年的判斷,能被4整除但不能被100整除,或者能被400整除的年份為閏年,否
5、則為平年。日期的查詢,就是直接打印該天所在月份的日歷。模塊三:參數(shù)檢查功能 判斷日期是否合法,可以先判斷年月日是否有小于0的值,月和日是有超出最大值12和31,如果通過此判斷合法,再判斷是否是閏年,如果是閏年,則判斷二月份是否滿足要求,閏年二月不能超過29天,平年二月不能超過28天。再查詢過程中,如果發(fā)現(xiàn)輸入不合法或者不滿足輸入要求,則要求重新輸入。模塊四:選做(通過鍵盤操作選擇各個(gè)菜單) 通過兩個(gè)getch();捕獲鍵盤的輸入,將后一個(gè)getch()的返回值付給整型或字符型k, k為相應(yīng)鍵的assci值,判斷assci 值,就可以知道是那個(gè)鍵的輸入(包括對上一年,下一年,上一月,下一月,昨天
6、,明天等日期的調(diào)整)。若捕獲到某鍵的輸入,則設(shè)置相應(yīng)的年或月或日的值,再進(jìn)行屬性輸出,就可以實(shí)現(xiàn)日期的調(diào)整。 4 ns流程圖清單模塊一用到的ns圖: 模塊二用到的ns圖:模塊三用到的ns圖:模塊四對應(yīng)的ns圖:5 存儲結(jié)構(gòu)及函數(shù)說明主要函數(shù):int runyear(int year) ;該函數(shù)判斷某年是否是閏年,參數(shù)year表示要判斷的年份,返回值1表示該年,為閏年,0表示該年為平年。struct tm *gmt=getday();該函數(shù)用以取得系統(tǒng)的時(shí)間。該函數(shù)沒有參數(shù),返回值類型為struct tm *,是一個(gè)包含時(shí)間的結(jié)構(gòu)體,int dayexame(int year,int month
7、,int day)該函數(shù)用以判斷輸入的年份是否合法,參數(shù)為要判斷的年月日,返回值為1表示日期合法,為0表示不合法。int getwday(int year,int month,int day)該函數(shù)用以根據(jù)一個(gè)日期推斷星期,參數(shù)為要判斷的年月日。返回值為整型,123456分別表示星期一到星期六,0表示星期天。void setday(int &year,int &month,int &day)該函數(shù)調(diào)整當(dāng)前日期,參數(shù)為引用類型,分別為當(dāng)前日期的年月日,沒有返回值。void checkcalender()該函數(shù)用以顯示要查詢的日期的月歷,無參數(shù)和返回值。void inline backmenu()
8、改函數(shù)為內(nèi)聯(lián)函數(shù),用以實(shí)現(xiàn)完成某項(xiàng)功能后按任意字符鍵返回主菜單,無參數(shù)和返回值。void mainmenu(int &year,int &month,int &day)該函數(shù)參數(shù)為系統(tǒng)日期,無返回值,用戶在該函數(shù)執(zhí)行時(shí)可以選擇功能。6 課程設(shè)計(jì)結(jié)果 1進(jìn)入程序后顯示2按任意字符鍵返回主菜單3進(jìn)入主菜單后,按1.,顯示當(dāng)前時(shí)間4在主菜單界面按2,進(jìn)行日立的查詢,并經(jīng)行日期的合法性判斷和閏年的判斷。例1輸入2009 11 6,由于輸入合法,會顯示月歷例2輸入2009 11 31,由于輸入不合法,會進(jìn)行報(bào)錯(cuò),要求重新輸入此情況下,當(dāng)輸入正確的日期后,就可以顯示當(dāng)前的月歷,然返回主菜單5在主菜單輸入3,進(jìn)行日期調(diào)整界面,可以通過方向鍵以及pageup和pagedown進(jìn)行日期的調(diào)整;按上下鍵后出現(xiàn)以下結(jié)果:6在主菜單中輸入4,進(jìn)入幫助界面7在主界面中輸入5,程序退出7 實(shí)踐心得體會 此程序是我們所寫的第一個(gè)功能比較完整的能實(shí)現(xiàn)一定的實(shí)際功能的程序,代碼比較短,不到250行,實(shí)現(xiàn)的功能有顯示當(dāng)前日歷,進(jìn)行某天的查詢,閏年的判斷,日
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年廣州客運(yùn)資格證考試多少道題及答案
- 實(shí)+用法律基礎(chǔ)-形成性考核任務(wù)一-國開(ZJ)-參考資料
- 輸氣工試題3.判斷題
- 汽車設(shè)計(jì)期末考試復(fù)習(xí)題及參考答案-專升本
- 租房合同范本15篇
- 濟(jì)寧供熱安全生產(chǎn)管理
- 物料使用標(biāo)準(zhǔn)化流程:確保安全
- 全球貿(mào)易法律環(huán)境分析
- 佳木斯市界江船員培訓(xùn)規(guī)范
- 保險(xiǎn)理賠訴訟指南
- 接待與會務(wù)工作禮儀培訓(xùn)及規(guī)范-PPT課件
- 九年級思想品德課試卷講評課PPT精選文檔課件
- 干貨間充質(zhì)干細(xì)胞功能及應(yīng)用PPT通用課件
- 教練技術(shù)一階段講義(共59頁)
- 《保險(xiǎn)學(xué)》01
- 小學(xué)一年級上冊數(shù)學(xué)20以內(nèi)進(jìn)位加法單元測試卷1
- 船舶系固設(shè)備
- 巖金礦地質(zhì)勘查規(guī)范
- 不銹鋼飾面安裝施工工藝標(biāo)準(zhǔn)
- 簡版?zhèn)€人征信報(bào)告模板
- 箱式變電站交接試驗(yàn)報(bào)告
評論
0/150
提交評論