萬年歷C++課程設(shè)計報告_第1頁
萬年歷C++課程設(shè)計報告_第2頁
萬年歷C++課程設(shè)計報告_第3頁
萬年歷C++課程設(shè)計報告_第4頁
萬年歷C++課程設(shè)計報告_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、徐州師范大學(xué)科文學(xué)院本科生課程設(shè)計課程名稱:題目:專業(yè)班級:學(xué)生姓名:學(xué)生學(xué)號:日期:指導(dǎo)教師:計算機程序設(shè)計實訓(xùn)萬年歷的設(shè)計2010/12/20姜芳艽電子信息工程 08 電信科文學(xué)院教務(wù)部印制、課程設(shè)計目的、任務(wù)和內(nèi)容要求:計算機語言程序設(shè)計是一門以編程實踐為主的專業(yè)課,目的在于培養(yǎng)學(xué)生 利用計算機語言進行軟件開發(fā)所必需的基本思想和基本技能,進一步提高綜合應(yīng)用 計算機語言的各種編程知識和技巧進行程序設(shè)計的能力,通過本次課程設(shè)計,學(xué)生 應(yīng)能達到具備設(shè)計功能較為復(fù)雜的應(yīng)用程序的能力,同時培養(yǎng)學(xué)生自主學(xué)習(xí)和獨立 創(chuàng)新的精神。任務(wù)如下:1 進行需求分析和概要設(shè)計,給出流程圖。2 寫出詳細設(shè)計,熟悉其

2、中采用的關(guān)鍵技術(shù)。3 給出具體的編碼實現(xiàn)并調(diào)試。4 寫課程設(shè)計報告提交源程序。內(nèi)容要求:設(shè)計并完成軟件系統(tǒng)。要求:1 應(yīng)具有簡潔友好的用戶界面。2 要求軟件系統(tǒng)的功能完整。3 要求程序具備正確性,可讀性和運行的高效性。4第1 3天:查找資料,進行需求分析和概要設(shè)計;第46天:各模塊的詳細設(shè)計;第712天:軟件實現(xiàn)與調(diào)試;第1314天:寫課程設(shè)計報告并提交源程序。、進度安排:三、主要參考文獻:1謝自美電子線路設(shè)計-實驗-測試M.武漢:華中科技大學(xué)出版社,20002. 夏崇錯.Visual C+ 課程設(shè)計案例精編M.北京:清華大學(xué)出版社,20083. 鄒箏.Visual C+ 6.0使用教程龔M.

3、北京:電子工業(yè)出版社,20084龔志翔.Visual C+編程實例與技巧集粹M.北京:北京期望電子出版社,20045. 孔鵬.Visual C+ 6.0完全自學(xué)手冊M.北京:機械工業(yè)出版社,20066. 鄧華.Visual C+案例教程M.北京中科多媒體電子出版社,2001指導(dǎo)教師簽字:年月日徐州師范大學(xué)物理與電子工程學(xué)院課程設(shè)計報告目錄摘要2Abstract21緒論31.1課題的設(shè)計.3131.1.1課題的背景 .31.1.2課題的目的 .31.1.3課題的意義 .32設(shè)計方案簡述 42.1設(shè)計總體規(guī)劃42.1.1實現(xiàn)的功能 .42.1.2結(jié)構(gòu)模塊分析 .43詳細設(shè)計 53.1設(shè)計思路.53

4、.1.1設(shè)計語言 .53.1.2設(shè)計程序流程圖 .53.2模塊詳細設(shè)計5.5.6.793.2.1大月和小月的定義3.2.2閏年與非閏年二月的定義 3.2.3日歷表的輸出4設(shè)計結(jié)果及分析4.1軟件測試94.2設(shè)計成果95總結(jié)10參考文獻 11附錄主要程序代碼 12在現(xiàn)代信息社會里,人們越來越重視時間的有效利用,而萬年歷也成了工作生活中 必不可少的一部分,方便實用的萬年歷對于提高現(xiàn)代人的時間觀念,優(yōu)化時間使用效率 具有重要意義。隨著時代的發(fā)展,盡管日歷的品種增多、花樣也不斷翻新,但仍舊保持 著古老日歷的格局。日歷在當(dāng)今社會的影響也是毋庸置疑的!同時,隨著個人電腦的普 及,簡單的桌面萬年歷成為人們?nèi)?/p>

5、常作息及重要事件提醒記錄的重要工具。簡易萬年歷 可以運行在電腦桌面上,使用者可以通過各種不同的標(biāo)記對重要時間及節(jié)假日和備忘事 件等方面進行有效的查詢和管理。這套系統(tǒng)旨在為用戶方便有效地進行重要事件的查詢 和管理。本系統(tǒng)采用C+語言編寫,接針對簡單的有效查詢信息化系統(tǒng)。該系統(tǒng)具有完整的 信息查詢功能,充分滿足了廣大用戶的基本需求。關(guān)鍵詞:信息化;萬年歷;C+語言AbstractIn the modern information society, there is growing emphasis on effective use of time, while the cale ndar has

6、become an esse ntial part of work ing life, convenient and practical cale ndar for the modern concept of time to improve and optimize the efficient use of time is important. With the developme nt, despite the in creas ing variety of cale ndars, patter ns have bee n renovated, but still maintained th

7、e pattern of the ancient calendar. The impact of the calendar in todays society is unquestionable!Meanwhile, with the popularity of personal computers, a simple desktop cale ndar and importa nt eve nts of peoples daily rout in es an importa nt tool to remind the record. Simple cale ndar can be run o

8、n your desktop, the user can mark a variety of differe nt time and holidays and on importa nt eve nts and so cheat the query and man age effective.The system is desig ned to facilitate the effective con duct of the users query and man ageme nt of importa nt eve nts.The system uses C + + Ianguage, th

9、en query for a simple and effective information system. The system has complete information inquiry function, fully meet the basic needs of the majority of users.Keywords : Information; calendar; C + + Language1緒論1.1課題的設(shè)計1.1.1課題的背景在現(xiàn)代信息社會里,人們越來越重視時間的有效利用,而萬年歷也成了工作生活中 必不可少的一部分,方便實用的萬年歷對于提高現(xiàn)代人的時間觀念,優(yōu)化

10、時間使用效率 具有重要意義。同時,隨著個人電腦的普及,簡單的桌面萬年歷成為人們?nèi)粘W飨⒓爸?要事件提醒記錄的重要工具。簡易萬年歷可以運行在電腦桌面上,使用者可以通過各種 不同的標(biāo)記對重要時間及節(jié)假日和備忘事件等方面進行有效的查詢和管理。1.1.2課題的目的掌握一種編程工具和面向?qū)ο蟪绦蛟O(shè)計的基本思想和方法,培養(yǎng)我們學(xué)生綜合利用某種語言進行程序設(shè)計的能力,培養(yǎng)我們學(xué)生利用系統(tǒng)提供的功能進行創(chuàng)新設(shè)計的能 力,培養(yǎng)我們學(xué)生充分利用計算機的功能和特點分析實際問題及解決實際問題的能力。為我們提供一個綜合運用所學(xué)知識解決實際問題的機會,增強我們學(xué)生的實踐動手能力和工程實踐能力,并培養(yǎng)和鍛煉我們學(xué)生的自學(xué)創(chuàng)

11、新能力。為了能更好地了解C+語言,因此開設(shè)了此次課程設(shè)計,程序設(shè)計教學(xué)課程的目的不 是為了單獨的課堂學(xué)習(xí),而是要讓我們學(xué)生掌握程序設(shè)計的基本思想及方法。一方面,在課程設(shè)計過程中,可以明確的指導(dǎo)為什么而學(xué),還能對所學(xué)知識得到應(yīng)用,更重要的是可 以讓我們學(xué)生掌握一些基本函數(shù)的用法,從而不在對編程序感到茫然,經(jīng)過設(shè)計,可以讓 我們熟悉簡單程序的設(shè)計方法和編寫,對程序設(shè)計及該門課程設(shè)計語言的應(yīng)用得到理 解。1.1.3課題的意義掌握一種編程工具和面向?qū)ο蟪绦蛟O(shè)計的基本思想和方法,培養(yǎng)我們學(xué)生綜合利用某種語言進行程序設(shè)計的能力,培養(yǎng)我們學(xué)生利用系統(tǒng)提供的功能進行創(chuàng)新設(shè)計的能 力,培養(yǎng)我們學(xué)生充分利用計算機

12、的功能和特點分析實際問題及解決實際問題的能力。為我們提供一個綜合運用所學(xué)知識解決實際問題的機會,增強我們學(xué)生的實踐動手能力和工程實踐能力,并培養(yǎng)和鍛煉我們學(xué)生的自學(xué)創(chuàng)新能力。為了能更好地了解C+語言,因此開設(shè)了此次課程設(shè)計,程序設(shè)計教學(xué)課程的目的不 是為了單獨的課堂學(xué)習(xí),而是要讓我們學(xué)生掌握程序設(shè)計的基本思想及方法。一方面,在課程設(shè)計過程中,可以明確的指導(dǎo)為什么而學(xué),還能對所學(xué)知識得到應(yīng)用,更重要的是可 以讓我們學(xué)生掌握一些基本函數(shù)的用法,從而不在對編程序感到茫然,經(jīng)過設(shè)計,可以讓 我們熟悉簡單程序的設(shè)計方法和編寫,對程序設(shè)計及該門課程設(shè)計語言的應(yīng)用得到理 解。2設(shè)計方案簡述2.1設(shè)計總體規(guī)劃

13、2.1.1實現(xiàn)的功能簡易萬年歷主要實現(xiàn)以下幾個功能: 能夠顯示實現(xiàn)任一年的日期,包括星期; 在輸入年份后,出現(xiàn)當(dāng)年的簡易萬年歷; 能夠分21列顯示,按照星期形式出現(xiàn); 采用圖形界面,符合日常使用規(guī)范;2.1.2結(jié)構(gòu)模塊分析輸入年份文本框萬年歷分兩大部分:查詢輸入部分和結(jié)果顯示部分。查詢輸入部分包一個文本框, 用于輸入年份。當(dāng)輸入完成后,用戶圖形界面出現(xiàn)相應(yīng)年月簡易的日歷表,并且是以星期的格式出現(xiàn)。3.1設(shè)計思路3詳細設(shè)計3.1.1設(shè)計語言語言的選擇:本系統(tǒng)選擇 C+語言來編寫3.1.2設(shè)計程序流程圖打印一年日歷Void fkJVoid qLJf、主函數(shù)LJ1輸岀日歷表大月三月閏年二月非閏年二月

14、一月的定義閏二月的定義非閏二月的定義小月f、四月f五月r、六月七月八月九月十月十一月十二月3.2模塊詳細設(shè)計3.2.1大月和小月的定義大月void f1(i nt x)for( i=0;i=0;i-)ai=OOO;1號前均為空格for(i=k;i31+k;i+)ai=ai-1+1;主要運用了數(shù)組的循環(huán)語句進行對大月的定義。void f2(i nt x)小月for( i=0;i=O;i-)ai=000;for(i=k;i30+k;i+)ai=ai-1+1;依然用數(shù)組的循環(huán)語句進行對小月的定義。主要運用了數(shù)組的循環(huán)語句分別對大月和小月進行對定義。數(shù)組的循環(huán)語句是C+中一個很重要的知識,數(shù)組可以節(jié)省

15、很多的定義,一個句子就可以就可以輸出很多的數(shù), 這樣大大減少了計算機的存儲空間。這正是一個很大的進步。3.2.2閏年與非閏年二月的定義/閏年二月/非閏年二月void f3(i nt x) for( i=0;i=0;i-) ai=000;for(i=k;i29+k;i+) ai=ai-1+1;void f4(i nt x)for( i=0;i=0;i-) ai=OOO;for(i=k;i year;coute ndl;c=year;for(s=1;s=year;s+)if(s-1)%4=0&(s-1)%100!=0)|(s-1)%400=0)coun t+;/相差天數(shù)day=365*c+co u

16、nt;coutvv*“vvyearvv年日歷* .coutvve ndlvve ndle ndle ndl;在此運用了 C+中函數(shù)的運算,計算出該年的每月每日的不同。還有一年的輸入和輸 出。在輸出時,閏年與非閏年二月的輸出法的定義if(year%4=0&year%100!=0)|year%400=0)閏年二月k=(day+31)%7+6)%7+1;coutvv二月vvendlvvendl;f3(k);g(a,50);day=day+31+29;else非閏年二月k=(day+31)%7+6)%7+1;coutvv二月vvendlvvendl;f4(k); g(a,50);day=day+31+

17、28; 此處主要運用了 if語句來對閏年與非閏年的二月的不同定義的輸出。if語句一種 可跳過不符合條件的語句,繼續(xù)下面的語句的執(zhí)行。它具有很強的實用性。在實際的操 作中經(jīng)常會用到的,是一個很重要的知識。4設(shè)計結(jié)果及分析4.1軟件測試軟件測試不同于程序測試,是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程,它貫穿于軟件定義 與開發(fā)的整個期間。軟件測試的目的是發(fā)現(xiàn)程序中的錯誤,是為了證明程序有錯,而不 是證明程序無錯,因此,它是保證軟件質(zhì)量,提高軟件可靠性的關(guān)鍵。軟件測試階段的工作步驟:1. 單元測試:即模塊測試,檢驗每個模塊能否單獨工作2. 子系統(tǒng)測試:檢驗概要設(shè)計中模塊接口設(shè)計問題3. 系統(tǒng)測試:綜合檢驗。把經(jīng)

18、過測試的子系統(tǒng)裝配成一個系統(tǒng)進行測試,不僅應(yīng)該發(fā)現(xiàn)設(shè)計和編碼的錯誤,還應(yīng)驗證系統(tǒng)確實能提供需求說明書中的功能(子系統(tǒng)測試和系統(tǒng)測試,統(tǒng)稱集成測試)4. 驗收測試:把軟件系統(tǒng)作為單一實體進行測試, 在用戶的積極參與使用實際數(shù)據(jù)進 行測試4.2設(shè)計成果程序設(shè)計語言類課程的指導(dǎo)思想是:既能使學(xué)生通過學(xué)習(xí)高級編程語言的知識、編 程技術(shù)和基本算法,又能掌握程序設(shè)計的思想和方法,更具備利用計算機求解實際問題 的能力,能靈活運用高級語言進行程序設(shè)計。目前簡易萬年歷系統(tǒng)已具有可以運行在電腦桌面上, 使用者可以通過各種不同的標(biāo) 記對重要時間及節(jié)假日和備忘事件等方面進行有效的查詢和管理,可以說達到了簡單、 方便、

19、易于了解的目的。5總結(jié)課程設(shè)計是培養(yǎng)學(xué)生綜合運用所學(xué)知識 ,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實 踐能力的重要環(huán)節(jié),是對我們的實際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)發(fā)展的日新月異,當(dāng)今計算機應(yīng)用在生活中可以說得是無處不在。因此作為二十一世紀(jì)的 大學(xué)生來說掌握程序開發(fā)技術(shù)是十分重要的,而C+語言又是最常見,功能最強大的一種高級語言,因此做好C+語言課程設(shè)計是十分必要的。通過C+!程設(shè)計使我們懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為 社會服務(wù),從而提高自己的實際動手能力和獨立思考的能力。 在設(shè)計的過程中

20、遇到問題, 可以說得是困難重重,這畢竟第一次做程序設(shè)計,難免會遇到過各種各樣的問題,同時 在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對一些前面學(xué)過的知識理解得不夠深刻,掌握 得不夠牢固,比如說數(shù)組的靈活應(yīng)用,循環(huán)語句,if語句通過這次課程設(shè)計之后, 我們把前面所學(xué)過的知識又重新溫故了一遍。我做的是簡易萬年歷的課程設(shè)計,雖然是很簡單的一個小的程序,但對我來說卻是 一個很大的困難。更加是第一次做 C+課程設(shè)計,所以第一天下午在宿舍做了一個下午 卻絲毫沒有進展,最主要是不知從何開始,這個時候才知道上課老師們不厭其煩的教導(dǎo) 是多么的寶貴,這個時候才后悔上課的時候沒有認(rèn)真的聽講??墒乾F(xiàn)在一切都晚了,還 好時間

21、還算是充裕,只好拿出書本重新復(fù)習(xí)一下。開始的時候真的感覺編程是一件很無聊的事情, 不過當(dāng)一個程序運行成功的時候那 種喜悅是無法言語的,那種成就感是無法比擬的。又經(jīng)過幾天的努力,終于把程序完成 了,盡管程序還是有很多功能上的欠缺和漏洞,可我還是很高興的。無論如何是自己的 勞動成果,是自己經(jīng)過努力得到的成績,同時也是學(xué)習(xí)C+語言的一次實踐作業(yè),自己進步的證明。在課程設(shè)計過程中,收獲知識,提高能力的同時,我也學(xué)到了很多人生的哲理,懂 得怎么樣去制定計劃,怎么樣去實現(xiàn)這個計劃,并掌握了在執(zhí)行過程中怎么樣去克服心 理上的不良情緒。因此在以后的生活和學(xué)習(xí)的過程中,我一定會把課程設(shè)計的精神帶到 生活中,不畏

22、艱難,勇往直前!參考文獻1. 譚浩強 著.C+面向程序程序設(shè)計.北京:清華大學(xué)出版社,2006.72. 吳乃陵,況迎輝,李海文 著.VC+程序設(shè)計.北京:高等教育出版社,2003.83. 鄧宗明,張睿哲,張曉競,等編著.Visual C+ 6.0 編程實用技術(shù)與案例北京: 清華大學(xué)出版社,2001.54. 李海文,吳乃陵 等編C+g序設(shè)計及實踐教程北京:高等教育出版社,2003.95. 鄧華.Visual C+案例教程M.北京中科多媒體電子出版社,20016. 鄒箏.Visual C+ 6.0 使用教程龔M.北京:電子工業(yè)出版社,20087. 龔志翔.Visual C+編程實例與技巧集粹M.北

23、京:北京期望電子出版社,2004附錄主要程序代碼/打印任意年日歷/已知2000年1月1日為星期六,輸入任一年的年份后,打印該年的年歷#in clude#in cludeusing n amespace std;int i,c,day,year,k,a50;void f1(i nt x)/ 大月for( i=0;i=0;i-)ai=000;1號前均為空格for(i=k;i31+k;i+)ai=ai-1+1;void f2(i nt x)小月for( i=0;i=0;i-)ai=000;for(i=k;i30+k;i+)ai=ai-1+1;void f3(i nt x)/ 閏年二月for( i=0

24、;i=0;i-)ai=000;for(i=k;i29+k;i+)ai=ai-1+1;void f4(i nt x)/ 非閏年二月for( i=0;i=0;i-)ai=000;for(i=k;i28+k;i+)ai=ai-1+1;void g(int y,int z)/ 輸出日歷表coutvv日vvtvv 一 vvtvv二vvtvv三vvtvv四vvtvv五 vvtvv六e ndl;for(i=0;i50;i+)if(ai=0)coutv(char)aivvt;if(ai!=0&ai!=33)cout year;coutvve ndl;c=year;for(s=1;s=year;s+)if(s-

25、1)%4=0&(s-1)%100!=0)|(s-1)%400=0)coun t+;/相差天數(shù)day=365*c+co unt;coutvv*“vvyearvv年日歷* .coutvve ndlvve ndle ndle ndl;k=(day%7+6)%7+1;coutvv月vvendlvvendl;f1(k);g(a,50);/閏年二月if(year%4=0&year%100!=0)|year%400=0) k=(day+31)%7+6)%7+1;coutvv二月vvendlvvendl; f3(k);g(a,50);day=day+31+29;e-se宀kH(day+3)7+6)7+COUA

26、A門出-AAend-AAendr f4(Dg(aulo)八dayuday+31+28八 ku(day%7+6)7八 couAA-m-AAend-AAendrg(aulo)八kH(day+3)7+6)7+COUAA-S出-AAend-AAendr f23g(aulo)八ku(day+31 +30)7+6)7+- couaa-w-AAend-AAendrH(Dg(aulo)八kH(day+3+30+3)7+6)7+ couAAy 出-AAend-AAendrf2(Dg(aulo)八ku(day+31 +30+3+30) 7+6) 71-COUAA-+出-AAend-AAendrH(Dg(aulo)八ku(day+31 +30+3+30+3)7+6)7-M

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論