九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

C++_電子萬年歷設(shè)計—課程設(shè)計論文.doc

上傳人:good****022 文檔編號:116536796 上傳時間:2022-07-05 格式:DOC 頁數(shù):14 大?。?42.02KB
收藏 版權(quán)申訴 舉報 下載
C++_電子萬年歷設(shè)計—課程設(shè)計論文.doc_第1頁
第1頁 / 共14頁
C++_電子萬年歷設(shè)計—課程設(shè)計論文.doc_第2頁
第2頁 / 共14頁
C++_電子萬年歷設(shè)計—課程設(shè)計論文.doc_第3頁
第3頁 / 共14頁

下載文檔到電腦,查找使用更方便

20 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《C++_電子萬年歷設(shè)計—課程設(shè)計論文.doc》由會員分享,可在線閱讀,更多相關(guān)《C++_電子萬年歷設(shè)計—課程設(shè)計論文.doc(14頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、xxxx 大 學(xué) 課 程 設(shè) 計 說 明 書(論 文) 目 錄第1章 課程設(shè)計目的與要求11.1 設(shè)計目的11.2實驗環(huán)境11.3預(yù)備知識11.4設(shè)計要求1第2章 課程設(shè)計內(nèi)容22.1 課題描述22.2 系統(tǒng)設(shè)計22.2.1功能分析22.2.2面向?qū)ο笤O(shè)計32.2.3 類成員描述42.3程序?qū)崿F(xiàn)42.3.1源碼分析42.3.2運行結(jié)果11第3章 課程設(shè)計總結(jié)12參考文獻13第1章 課程設(shè)計目的與要求1.1 設(shè)計目的將理論教學(xué)中涉及到的知識點貫穿起來,對不同的數(shù)據(jù)類型、程序控制結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)作一比較和總結(jié),結(jié)合設(shè)計題目進行綜合性應(yīng)用,對所學(xué)知識達到融會貫通的程度。通過課程設(shè)計,學(xué)生在下述各方面的

2、能力應(yīng)該得到鍛煉:(1)進一步鞏固、加深學(xué)生所學(xué)專業(yè)課程C+語言教程的基本理論知識,理論聯(lián)系實際,進一步培養(yǎng)學(xué)生綜合分析問題,解決問題的能力。(2)全面考核學(xué)生所掌握的基本理論知識及其實際業(yè)務(wù)能力,從而達到提高學(xué)生素質(zhì)的最終目的。(3)利用所學(xué)知識,開發(fā)小型應(yīng)用系統(tǒng),掌握運用C+語言編寫調(diào)試應(yīng)用系統(tǒng)程序,訓(xùn)練獨立開發(fā)應(yīng)用系統(tǒng),進行數(shù)據(jù)處理的綜合能力。(4)對于給定的設(shè)計題目,如何進行分析,理清思路,并給出相應(yīng)的數(shù)學(xué)模型。(5)掌握面向?qū)ο蟪绦蛟O(shè)計的方法。(6)熟練掌握C+語言的基本語法,靈活運用各種數(shù)據(jù)類型。(7)進一步掌握在集成環(huán)境下如何調(diào)試程序和修改程序。1.2實驗環(huán)境硬件要求能運行Win

3、dows 操作系統(tǒng)的微機系統(tǒng)。C+語言應(yīng)用程序開發(fā)軟件使用:VC+ 系統(tǒng),或其他C+語言應(yīng)用程序開發(fā)軟件。1.3預(yù)備知識熟悉C+語言程序設(shè)計的基本知識及VC+編輯器的使用方法。1.4設(shè)計要求1.仔細分析設(shè)計題目,畫出程序流程圖,編寫程序源代碼。2.積極上機調(diào)試源程序,增強編程技巧與調(diào)程能力。3.認真書寫課程設(shè)計預(yù)習(xí)報告,課程設(shè)計說明書。4.遵守課程設(shè)計要求和機房管理制度,服從指導(dǎo)教師的安排,確保課程設(shè)計的順利完成課程設(shè)計內(nèi)容。第2章 課程設(shè)計內(nèi)容2.1 課題描述目前的計算機日歷程序,比較典型的是Windows各版本中的日歷程序以及基于該程序所開發(fā)的各種應(yīng)用程序中的日歷程序。然而,這些程序都千篇

4、一律的局限在一個很短的時間范圍內(nèi)。但是,很多情況下,特別是在眾多的科學(xué)研究領(lǐng)域中,一個時間跨度教大的日歷程序是很有參考價值的。C+程序設(shè)計語言充分發(fā)揮了其自身無與倫比的優(yōu)越性,用極短的程序文本就填補了這一領(lǐng)域的空白。2.2 系統(tǒng)設(shè)計2.2.1功能分析首先判斷某一年是否為閏年,若是,則2月輸出為29天,若不是,2月輸出為28天。再判斷系統(tǒng)當(dāng)前月份是大月還是小月,若為大月,則輸出31天;若為小月,則輸出30天。通過定義一個struct結(jié)構(gòu)體,用對對象指針的訪問來實現(xiàn)從系統(tǒng)自動獲取時間為程序所用。再利用一個函數(shù)計算出每月的第一天是星期幾。根據(jù)所判斷的大月、小月,通過控制符setw控制輸出流格式(設(shè)置

5、字段寬度),把該日期以前的位置用空格補上,并從該日起依次輸出天數(shù)直到月底,該月中的天數(shù)加上該月一日為星期幾的數(shù)字再除以7得0換行,即可完整的輸出該月的日歷。程序中定義了一個結(jié)構(gòu)體。結(jié)構(gòu)體(struct)是由一系列具有相同類型或不同類型的數(shù)據(jù)構(gòu)成的數(shù)據(jù)集合,也叫結(jié)構(gòu)4。在C語言中,可以定義結(jié)構(gòu)體類型,將多個相關(guān)的變量包裝成為一個整體使用。在結(jié)構(gòu)體中的變量,可以是相同、部分相同,或完全不同的數(shù)據(jù)類型。在C語言中,結(jié)構(gòu)體不能包含函數(shù)。在面向?qū)ο蟮某绦蛟O(shè)計中,對象具有狀態(tài)(屬性)和行為,狀態(tài)保存在成員變量中,行為通過成員方法(函數(shù))來實現(xiàn)。C語言中的結(jié)構(gòu)體只能描述一個對象的狀態(tài),不能描述一個對象的行為

6、。在C+中,考慮到C語言到C+語言過渡的連續(xù)性,對結(jié)構(gòu)體進行了擴展,C+的結(jié)構(gòu)體可以包含函數(shù)。C+中一般使用cout和cin時的默認格式.但有時人們在輸入輸出時有一些特殊的要求,如在輸出實數(shù)時規(guī)定字段寬度,只保留兩位小數(shù),數(shù)據(jù)向左或向右對齊等。C+提供了在輸入輸出流中使用的控制符。需要注意的是:如果使用了控制符,在程序單位的開頭除了要加iostream頭文件外,還要加iomanip頭文件5。本課程設(shè)計主要是編寫一個電子萬年歷系統(tǒng)。模仿現(xiàn)實生活中的掛歷,以系統(tǒng)當(dāng)前日期的月份為準(zhǔn)顯示當(dāng)前月份的每一天(顯示出日期及對應(yīng)的星期幾),當(dāng)系統(tǒng)日期變到下一個月時,系統(tǒng)自動翻頁到下一月。在課程設(shè)計中,程序設(shè)計

7、設(shè)計語言采用Visual C+6.0,程序運行平臺為Windows XP。為了顯示當(dāng)月的每一天,采取算出當(dāng)月第一天是星期幾的方法,通過判斷大月、小月,依次排出當(dāng)月的每一天。程序通過調(diào)試運行,實現(xiàn)了設(shè)計目標(biāo)。2.2.2面向?qū)ο笤O(shè)計從系統(tǒng)獲取時間判斷該年是否為閏年輸出31天判斷該月是大月還是小月輸出30天輸出29天輸出28天圖2.1 輸出天數(shù)判斷從系統(tǒng)獲取年月日之后,判斷該年是否為閏年,若是閏年,且當(dāng)月為2月,則輸出29天;若不是閏年,則2月輸出28天。判斷該月為大月還是小月,大月輸出31天,小月輸出30天。如圖2.1。2.2.3類成員描述輸入、輸出流類庫函數(shù)的數(shù)量非常多,程序中用到的如表2-2所

8、示表2-2程序中用到的輸入、輸出流類庫函數(shù)函數(shù)聲明功能聲明int leap (int year) ;判斷是否為閏年。int days_month (int year,int month);判斷當(dāng)月有多少天,值以數(shù)值型數(shù)據(jù)返回。Int firstday(int year,int month);判斷每月的第一天是星期幾,值以數(shù)值型數(shù)據(jù)返回。time( &nowtime );獲取時間函數(shù)。int main();主函數(shù),輸出萬年歷的日期幾對應(yīng)的星期。2.3程序?qū)崿F(xiàn)2.3.1源碼分析(1)判斷年份是否是閏年的語句:if(year%4=0&year%100!=0|year%400=0)用一個邏輯表達式包含

9、所有的閏年條件的if語句。能被4整除,但不能被100整除,為閏年,或能被400整除,為閏年。編寫完整閏年判斷的程序,進行調(diào)試,輸出結(jié)果如圖2.3所示。#includeusing namespace std;int main()int year;bool leap;cinyear;if(year%4=0&year%100!=0|year%400=0)leap=true;else leap=false;if (leap)cout是閏年endl;elsecout不是閏年endl;return 0;圖2.3判斷年份是否是閏年(2)輸出系統(tǒng)時間的程序(如圖2.4):#includeusing names

10、pace std;int main() cout_DATE_tm_year + 1900;month = timeinfo-tm_mon + 1;(4)函數(shù)w=(1+2*month+3*(month+1)/5+year+year/4+year/400-year/100)%7+1計算出每月第一天是星期幾。(5)輸出格式的實現(xiàn)如果該月第一天是星期日,輸出日期,每兩個日期間用setw控制符設(shè)置字段寬度為4,當(dāng)排滿7天換行,到輸出本月全部日期為止。如果該月第一天不是星期日,空出前面幾天,輸出日期,每兩個日期間用setw控制符設(shè)置字段寬度為4,排滿第一行后換行,再排滿7天換行,到輸出本月全部日期為止。i

11、f(a=7) for(i=1;i=b;i+) coutsetw(4)i; if(i%7=0) coutendl; if(a!=7) while (j=4*a) cout ; j+; for(i=1;i=b;i+) coutsetw(4)i; if(i=7*k-a) coutendl; k+; / 程序名稱:d.cpp/ 程序功能:從系統(tǒng)自動獲取日期,顯示當(dāng)月日歷/ 最后修改日期:2010-12-26#include#includeint fn1(int year,int month,int day);int monthday(int year,int month);void fn2(int y

12、ear,int month);void fn3(int year);void main() int year,month,day,i,x;coutendlendl;cout -endl;cout * *endl;cout 歡迎進入萬年歷查詢系統(tǒng) endl;cout * *endl;cout -endl;coutendlendl;cout 程序員: endlendl;cout 遼寧工業(yè)大學(xué)endl;loop:coutendlendl;cout 請您選擇查詢內(nèi)容;endlendl;cout 1.顯示一年的日歷:endl;cout 2.顯示一個月的日歷:endl;cout 3.顯示某一天是周幾:en

13、dl;cout 0.退出:endl;coutendl;cout請輸入(0-3)中的數(shù)字選擇您要查詢的內(nèi)容i;switch(i)case 0: return;case 1:cout請輸入年份,輸入格式為*year;fn3(year);break;case 2:cout請輸入您要查詢的日期,輸入格式為* *endl如2009 11yearmonth;fn2(year,month); break;case 3:cout請輸入您要查詢的日期,輸入格式為* * *endl如2009 11 23yearmonthday;coutyear年month月day日是星期fn1(year,month,day)en

14、dl;break;default:cout輸入錯誤endl;cout繼續(xù)查詢請輸 1 endl退出查詢請輸 0 x;if(x=1)goto loop;int fn1(int year,int month,int day)int yearjs,monthjs,monthday=0;int permonthday12=31,28,31,30,31,30,31,31,30,31,30,31;for(int i=0;i2)monthjs=(monthday+1)%7;elsemonthjs=monthday%7;elseyearjs=1;monthjs=monthday%7;return (year+

15、year/4+year/400-year/100-yearjs+monthjs+day)%7)=0?7:(year+year/4+year/400-year/100-yearjs+monthjs+day)%7);int monthday(int year,int month)int permonthday12=31,28,31,30,31,30,31,31,30,31,30,31;if(month!=2)return permonthdaymonth-1;elseif(year%4=0&year%100=0|year%400=0)return 29;elsereturn 28;void fn2

16、(int year,int month)coutendlendl;coutsetw(6)一setw(6)二setw(6)三setw(6)四setw(6)五setw(6)六setw(6)日endl;for(int i=1;i=monthday(year,month);i+)if(i=1) for(int j=1;jfn1(year,month,1);j+)cout.width(6);coutsetw(6) ;coutsetw(6)i;else if(i+fn1(year,month,1)-2)%7=0)coutendl;coutsetw(6)i;coutendlendl;void fn3(int

17、 year)for(int i=1;i=12;i+)couti 月endl;fn2(year,i);coutendlendl;2.3.2運行結(jié)果本程序按照設(shè)計要求,模仿現(xiàn)實生活中的日歷的形式,從計算機中獲取當(dāng)前系統(tǒng)的日期并輸出,同時,輸出當(dāng)月所有日期及對應(yīng)的星期幾。該程序?qū)崿F(xiàn)了設(shè)計目標(biāo)。運行結(jié)果如圖2.5所示。圖2.5 運行結(jié)果第3章 課程設(shè)計總結(jié)經(jīng)過一個學(xué)期對C+程序設(shè)計的學(xué)習(xí),我學(xué)習(xí)到了基本的理論知識,了解到了C+語言程序設(shè)計的思想,這些知識都為我的課程實踐和進一步的學(xué)習(xí)打下了堅實的基礎(chǔ)。此次對C+語言編寫電子萬年歷的設(shè)計進一步的鞏固了用C+語言編寫程序,并且有利于更好的掌握C+語言。通過

18、本課程設(shè)計也培養(yǎng)了我獨立思考、綜合運用所學(xué)有關(guān)相應(yīng)知識的能力,掌握工程軟件設(shè)計的基本方法,強化上機動手編程能力,闖過理論與實際相結(jié)合的難關(guān)。通過C+課程設(shè)計,一方面是為了檢查這一個學(xué)期來計算機語言的學(xué)習(xí)成果,另一方面也是能讓我們進一步掌握和熟練地運用它,與此同時,也能夠讓我們認清自己在C+學(xué)習(xí)方面的不足之處和薄弱環(huán)節(jié),并加以彌補和鞏固。通過對教學(xué)管理系統(tǒng)的程序設(shè)計,進一步的鞏固了用C+語言編寫程序的能力,并且利于更好的掌握C+語言!總之這次課程設(shè)計,使我收獲頗豐,相信會為自己以后的學(xué)習(xí)和工作帶來很大的好處。最重要的還是激發(fā)了我編程的興趣和熱情,讓我從一個只懂理論變成了能做一些小型程序。整體地評

19、價這次課程設(shè)計,我認為收獲很大,正如上面所說的那樣,通過課程設(shè)計,既復(fù)習(xí)了以前的舊知識,又學(xué)到了一些新的知識。像教學(xué)管理系統(tǒng)這樣的應(yīng)用程序的設(shè)計和創(chuàng)建,經(jīng)歷了平時在課堂和考試中不會出現(xiàn)的難題和考驗。而這些問題,又都是課本上很少提到的、更深一層的實踐與知識相結(jié)合的問題,這并不是我們平時只靠課本,就可以輕易解決的。所以,鍛煉了我們面對難題,學(xué)會用已掌握的知識去解決具體問題的能力,進一步培養(yǎng)了獨立思考問題和解決問題的能力。特別是學(xué)會了在Visual C+中如何調(diào)試程序的方法。當(dāng)然,老師的指導(dǎo)和同學(xué)的幫助也是不可忽視的,他們給了我許多提示和幫助,教會了我編譯復(fù)雜程序的方法。在這里也要表示對他們的感謝!參考文獻1.鄭莉、董淵 編著 C+語言程序設(shè)計 北京:清華大學(xué)出版社2.黃迪明 主編 C+語言程序設(shè)計基礎(chǔ) 北京:電子工業(yè)出版社3.錢能 主編 C+程序設(shè)計教程 北京:清華大學(xué)出版社4.徐孝凱 編著 C+語言程序設(shè)計 北京:清華大學(xué)出版社5.吳訪升 編著 C+程序設(shè)計 北京: 機械工業(yè)出版社6.Decoder 主編 C/C+程序設(shè)計 北京:中國鐵道出版社13

展開閱讀全文
溫馨提示:
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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!