語言程序設計能力教程電子萬年歷設計_第1頁
語言程序設計能力教程電子萬年歷設計_第2頁
語言程序設計能力教程電子萬年歷設計_第3頁
語言程序設計能力教程電子萬年歷設計_第4頁
語言程序設計能力教程電子萬年歷設計_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、電子科技大學成都學院電子工程系課程設計報告課 程 名 稱: C語言程序設計能力教程 設 計 題 目:萬年歷指 導 教師組: 楊 劍 學 生 學 號: 1140810429 學 生 姓 名:王玲琳電子工程系制 2012年12月一、題目要求:用C語言編寫一個萬年歷系統(tǒng),具有公歷和農(nóng)歷的日期顯示,能顯示年月日,星期幾,具有記事本功能,在某個日期上可以輸入紀念日,代辦事項等。1. 功能要求 (1) 基本要求試設計一個萬年歷系統(tǒng),使之能提供以下基本功能:1) 能夠模擬現(xiàn)實中日歷的形式現(xiàn)實公歷;2)第一行顯示月份(中英文都可以)3)下一行顯示星期,從周日到周六,中英文都可以4)下一行開始顯示日期從1號開始

2、,并按其是星期幾實際情況與上面的星期數(shù)垂直對齊6) 輸入公歷年月日能夠顯示農(nóng)歷日期;7) 信息輸入功能:對某一天輸入代辦事項,紀念日等文字;8) 信息刪除功能:能夠刪除某日期對應的紀念日等文字;(2) 創(chuàng)新要求達到上述基本要求后,可進行創(chuàng)新設計,如對功能擴展等。2、 需求分析根據(jù)題目設計要求及創(chuàng)新,我們設計了7個菜單選項。用戶可以通過鍵盤輸入17分別進入1:年歷查詢,2:月歷查詢3:日歷查詢,4:農(nóng)歷查詢,5:記事本,6:定時關(guān)機工具,7:退出系統(tǒng)。3、設計概要1. 進入系統(tǒng)時顯示菜單界面及當前系統(tǒng)時間2. 年歷查詢:輸入年代時,系統(tǒng)輸出改年所有月份的日歷并以日歷的格式輸出。3. 月歷查詢:輸

3、入年代,月份時,系統(tǒng)輸出該月所有天數(shù)的日歷并以日歷的格式輸出。4. 日歷查詢:當輸入年,月,日時,系統(tǒng)輸出該天的日歷信息,包括星期,農(nóng)歷,節(jié)日。5. 農(nóng)歷查詢:用戶輸入年、月、日。系統(tǒng)輸出該天對應的農(nóng)歷信息,包括天干地支,農(nóng)歷。6. 記事本:當輸入年、月、日時,系統(tǒng)首先查詢該時間是否有記事,如果沒有提示是否記事,若記事則用戶輸入記事內(nèi)容,系統(tǒng)將該記事內(nèi)容以文本文檔的形式保存。若有記事則顯示該記事,并提示是否刪除,若用戶選擇刪除,則系統(tǒng)將該時間對應的文本刪除。若不刪除,則退出系統(tǒng)。7. 定時關(guān)機工具:進入該功能,系統(tǒng)提示用戶選擇:1、關(guān)機、2:重啟、3取消計劃、4:退出。其中關(guān)機和重啟具有定時功

4、能。是否有記事8. 退出系統(tǒng)輸入指令 結(jié)束存儲刪除查看并退出輸出日歷信息是否添加是否刪除農(nóng)歷查詢?nèi)諝v查詢月歷查詢是否有記事輸入年月輸入年月日輸入指令輸入年月日輸入年月日退出定時關(guān)機記事本農(nóng)歷月歷年歷日歷 開始輸入年年歷查詢定時關(guān)機系統(tǒng)是否是是輸入記事4、 詳細設計1. 基本函數(shù)設計1. 閏年的判斷 2.每一個月天數(shù)的確定 3.該天是今年的哪一天 4今天是本周的第幾天 5.星期的確定 6.輸出一天的日歷信息 7.格式化生成一個月的日歷信息 8.輸入?yún)?shù)的檢查 9.年歷查詢10.節(jié)日查詢 11.農(nóng)歷查詢 12.日歷顯示 13.系統(tǒng)時間獲取 14.定時關(guān)機工具2. 登錄界面3.菜單功能的設計1. 年

5、歷查詢:年歷查詢,需要顯示這年每個月的日歷信息并以日歷的格式顯示出來。首先則需要判斷是否為閏年來確定本年的每個月的天數(shù),然后算出每個月每一天為星期幾并以日歷的格式顯示。2. 月歷查詢:月歷查詢需要顯示改年這個月的日歷信息,并以日歷的格式輸出3. 日歷查詢:用戶輸入年、月、日,系統(tǒng)根據(jù)輸入信息調(diào)用基本函數(shù),輸出該天的基本日歷信息。包括星期,天干地支,農(nóng)歷,節(jié)日。4. 農(nóng)歷查詢:用戶輸入年、月、日,系統(tǒng)通過輸入信息調(diào)用農(nóng)歷查詢函數(shù),輸出該天的農(nóng)歷信息5. 記事本:用戶輸入年、月、日,系統(tǒng)根據(jù)輸入信息自動查詢該時間是否有記事。若沒有,則提示用戶是否進行記事。若記事則用戶輸入記事信息,系統(tǒng)對輸入信息已

6、文本文檔的格式進行保存。若不記事則退出系統(tǒng)。若有記事,系統(tǒng)則直接輸出該記事,并提示用戶是否刪除記事,若刪除,則系統(tǒng)將該文本文檔刪除,否則退6. 定時關(guān)機工具:用戶輸入相應的指令,根據(jù)指令執(zhí)行相應的操作。輸入1,則系統(tǒng)提示用戶輸入定時關(guān)機時間。輸入2,系統(tǒng)提示用戶輸入定時重啟時間。輸入3,系統(tǒng)取消定時關(guān)機或重啟計劃,輸入4則退出系統(tǒng)7. 系統(tǒng)垃圾清理工具用戶通過菜單輸入系統(tǒng)垃圾清理的指令,系統(tǒng)開始自動清理系統(tǒng)垃圾5. 源代碼int Leap_year(int year);int Month_Day(int year,int month);int Year_Day(int year,int mon

7、th,int day);int Week_Day1(int year,int month,int day);char *Week_Day2(int number);void Menu1(int year,int month,int day);void Menu2(int year,int month);int Menu3(int year,int month,int day);void Month_Display(int year,int month);void Lunar_Calendar(int year ,int month,int day);char *Festival(int mon

8、th,int day);/char *Solar_terms(char Month,char Day);void Day_Display(int year,int month,int day);void Shutdown(void );void RTC(void);void Rubbish(void);/* 函數(shù)名:閏年判斷* 入口參數(shù):year* 返回參數(shù):閏年返回1 否則返回0int Leap_year(int year)/*定義變量*/if(year%4=0&&year%100!=0|year%400=0) /*利用函數(shù)判斷輸入年份是閏年還是平年*/return 1;el

9、sereturn 0;/* 函數(shù)名:月份天數(shù)確定* 入口參數(shù):year,month* 返回參數(shù):今年該月的天數(shù)* 調(diào)用函數(shù):int Leap_year(int year)int Month_Day(int year,int month)int a12=31,28,31,30,31,30,31,31,30,31,30,31;/*定義數(shù)組確定12個月每個月的天數(shù)*/if(Leap_year(year) /*如果輸入年份是閏年*/a1=29;/*二月29天*/return amonth-1;/* 函數(shù)名:天數(shù)查詢->查詢該天是今年的第幾天* 入口參數(shù):year,month,day* 返回參數(shù):

10、該天是今年的第幾天* 調(diào)用函數(shù):day1(int year,int month)int Year_Day(int year,int month,int day)int i,sum=0;for(i=1;i<month;i+)sum+=Month_Day(year,i);sum+=day;return sum;/* 函數(shù)名:天數(shù)查詢->查詢該天是本周的第幾天* 入口參數(shù):year,month,day* 返回參數(shù):返回該天是本周的第幾天* 調(diào)用函數(shù):day2(int year,int month,int day)int Week_Day1(int year,int month,int d

11、ay)int number=(year-1)+(year-1)/4-(year-1)/100+(year-1)/400+Year_Day(year,month,day);number%=7;return number;/* 函數(shù)名:星期查詢* 入口參數(shù):number* 返回參數(shù):星期char *Week_Day2(int number)switch(number)/*分類一周七天*/case 0:return "星期日"case 1:return "星期一"case 2:return "星期二"case 3:return "

12、星期三"case 4:return "星期四"case 5:return "星期五"case 6:return "星期六"default:return "錯誤!請您重新輸入。"/*不符和上面七種情況的報錯提示*/6、實驗中所遇到的問題及解決方法 在本次實驗操作過程中,遇到一些語法的錯誤,結(jié)構(gòu)上的錯誤,還有算法錯誤,但是根據(jù)讀程序時的提醒,做了相應的修改,使得程序能夠正常運行。7.感謝 非常感謝老師在這學期C語言上機中給予我們的指導和幫助,讓我們從實踐中更好地,更深刻的理解了這門學科,也掌握到了更多的知識和解決一些實際問題的方法。在一些很困難的問題上通過老師的幫助,避免了不少彎路。再次向老師的幫助表示衷心的感謝!電子科技大學成都學院20屆課程設計成績評定表學生姓名王玲琳學號1140810429專業(yè)通信工程 課程名稱C語言程序設計能力教程 設計題目萬年歷實驗要求用C語言編寫一個萬年歷系統(tǒng),具有公歷和農(nóng)歷的日期顯示,能顯示年月日,星期幾,具有記事本功能,在某個日期上可以輸入紀念日,代辦事項等。對C語言在編寫程序時的用處有了更明確的認識,懂得了編寫C程序的一般方法步驟。分析問題做出算法,想好思路,在心里有個大致的框架,然后按部就班的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論