C日歷管理系統課程設計_第1頁
C日歷管理系統課程設計_第2頁
C日歷管理系統課程設計_第3頁
C日歷管理系統課程設計_第4頁
C日歷管理系統課程設計_第5頁
已閱讀5頁,還剩18頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

C++課程設計報告(2013--2014年度第二學期)日歷管理器的開發系統的設計專業學生姓名班級學號指導教師達成日期2014年7月3日目錄目錄...................................1概括..................................課程設計目的.............................課程設計內容.............................2系統需求剖析.............................系統目標.................................主體功能.................................開發環境.................................3系統綱要設計.............................系統的功能模塊區分.......................系統流程圖................................4系統詳盡設計.............................系統主頁面設置............................改正模塊設計..............................判斷模塊設計..............................

錯誤!不決義書簽。錯誤!不決義書簽。錯誤!不決義書簽。錯誤!不決義書簽。錯誤!不決義書簽。錯誤!不決義書簽。錯誤!不決義書簽。錯誤!不決義書簽。錯誤!不決義書簽。錯誤!不決義書簽。錯誤!不決義書簽。錯誤!不決義書簽。錯誤!不決義書簽。錯誤!不決義書簽。錯誤!不決義書簽。試結5測試................................測試方案.................................測果.....................................6小結....................................參照文件..................................附錄...................................附錄1源程序清單..........................

錯誤!不決義書簽。錯誤!不決義書簽。錯誤!不決義書簽。錯誤!不決義書簽。錯誤!不決義書簽。錯誤!不決義書簽。錯誤!不決義書簽。日歷管理器系統的設計1概括課程設計目的1、穩固并加深學生對C++語言程序設計知識的理解;2、培育我面向對象的程序設計思想,使我們認識面向過程和面向對象兩種設計方法的差別;3、進一步掌握和應用VC++集成開發環境;4、提升運用C++語言解決實質問題的能力;5、初步掌握開發小型適用軟件的基本方法,能獨立設計、實現擁有實質功能的小系統;6、掌握書寫程序設計開發文檔的能力。課程設計內容仿現實生活中的掛歷,顯示日歷。目前頁以系統目前日期的月份為準,顯示目前月的每天(顯示出日及對應的禮拜幾);當系統日期變到下一月時,系統自動翻頁到下一月。依據用戶輸入的年份,自動產生每個月的日期列表。自定義顯示日歷的形式。系統需求剖析系統目標成立電子日歷,顯示目前月的每天,當天期改正時,能夠自主生成新的日歷表!主體功能1)目前頁以系統目前日期的月份為準,顯示目前月的每天(顯示出日及對應的禮拜幾),當系統日期變到下一月時,系統自動翻頁到下一月。2)能夠實現日期的加法運算,即在日期相加的菜單項選擇項中增添日期加天數,結果為新日期。3)依據用戶輸入的年份,自動產生每個月的日期列表。包含輸入非法數據(如負數、日期超出31天等狀況)的辨別顯示功能。開發環境VC++系統綱要設計系統的功能模塊區分日歷系統設計的主要模塊分為:查問年份月份模塊、查問平年閏年模塊、判斷禮拜幾模塊、計算總天數模塊、計算月份第一天為禮拜幾模塊等模塊。查查查詢詢詢年平輸輸輸入入輸輸輸出出出該該該年年各是圖3-1系統模塊區分

判斷星輸入年輸出是Y返圖3-2判斷能否為平年閏年模塊開始經過日期和時間函手動設置需要查察的日期經過系統日期函數返回日期結束圖3-2系統流程系統流程圖否系統詳盡設計系統主頁面設置設計思路:第一判斷某一年能否為閏年,假如,則二月輸出為二十九天,假如不是,二月輸出為二十八天。再判斷系統目前月份是一個大月仍是小月,假如是大月,則輸出三十一天;假如是小月,則輸出三十天。經過定義一個構造體,用對對象指針的接見來實現從系統自動獲得時間為程序所用。再利用一個函數計算出每個月的第一天是禮拜幾。依據判斷的大月和小月,經過控制符控制輸出流格式(設置字段)寬度,把該日期從前的地點用空格補上,并從他日起挨次輸出天數直到月尾,該月中的天數加上該月一日為禮拜幾的數字再除以七得零換行,即可完好的輸出該月的日歷。C++中一般會使用cout和cin時的默認格式。但有時人們在輸入輸出時有一些特別的要求,如在輸出實數時,要規定字段寬度,只要要保存兩位小數,數據向左或向右對齊等。C++供給了在輸入輸出流中使用的控制符。需要注意的是:假如使用了控制符,在程序單位的開頭,除了要加iostream頭文件外,還要此外加iomanip頭文件。顯示模塊設計顯示日歷輸出格式和界面。Year顯示年份Month顯示月份;Day顯示日期改正模塊設計判斷年份,當年份小于你輸入值時,則報錯。判斷年份,當年份小于或大于你輸入值時,則報錯。第一判斷輸入的年份能否為閏年,在依據輸入的月份判斷輸入的日期能否正確加上該月一日為禮拜幾的數字再除以7得0換行,即可完好的輸出該月的日歷。判斷模塊設計用if語句判判定義年到輸入年之間每一年能否為閏年,是閏年,該年的總天數為366,不然,為355。而后判斷輸入的年能否為定義年,假如,令總天數S=1,不然,用累加法計算出定義年到輸入年之間的總天數,再把輸入年的一月到要輸出的月份之間的天數累加起來,若該月是閏年中的月份而且該月還大于二月,再使總天數加1,不然,不加,既算出從定義年一月一日到輸出年的該月一日的總天數。判斷年份,當年份小于你輸入值時,則報錯。判斷年份,當年份小于或大于你輸入值時,則報錯。第一判斷輸入的年份能否為閏年,在依據輸入的月份判斷輸入的日期能否正確加上該月一日為禮拜幾的數字再除以7得0換行,即可完好的輸出該月的日歷。用if語句判判定義年到輸入年之間每一年能否為閏年,是閏年,該年的總天數為366,不然,為355。而后判斷輸入的年能否為定義年,假如,令總天數S=1,不然,用累加法計算出定義年到輸入年之間的總天數,再把輸入年的一月到要輸出的月份之間的天數累加起來,若該月是閏年中的月份而且該月還大于二月,再使總天數加1,不然,不加,既算出從定義年一月一日到輸出年的該月一日的總天數。自定義模塊設計當按下q時,退出程序while((key=_getch( ))!='q')用W鍵時間期向前推移天if(day>7)day-=7;用s鍵時間期向后推移天if(day<=((Wether_RN( ))month_days_R[month-1]:month_days_NR[month-1])-7)day+=7;用a鍵時間期向前推移天if(day>1)day-=1;用d鍵時間期向后推移天if(day<=((Wether_RN( ))month_days_R[month-1]:month_days_NR[month-1])-1)day+=1;調用Seatch_date函數,對年代日進行重置Search_date(y,m,d)試結5測試測試方案履行代碼;按功能要求,調試程序;測果輸入界面5-1履行程序:輸入年份,顯示每一個月的日期表圖5-2輸入年份和日期圖5-3查問某一天是禮拜幾圖5-4小結經過快要一禮拜的課程設計,使我熟習了C++語言的編寫思路,并掌握了怎樣對其進行編寫與調試,把書本上學習到的知識應用到實質中去,很好的鍛煉了我的自覺能力。因為對C++語言的認識不是很深,因此好多語句都還不是十分嫻熟,特別是在連結數據庫中的一些功能調用,是我此次課設最大問題。經過自己不停的深入學習,固然這段時間在自覺方面知識有了很大的提升,但好多知識仍是學的像人心渙散,自己根本不可以一下子保用。一方面因為課程設計時間有限,又一方面對課程設計思路一開始不是很好,因此在設計中也碰到了好多麻煩,經過上網查找資料以及學習有關方面的書本,的確讓我從中學到了好多特別值得學習的知識,比方說:我從網上下載有關視頻進行學習,知道了什么是設計一個程序一般都需三重架構等。但經過學習這門課也使我認識它的設計思路及其余有關的內容的開發設計,使我對開發系統的整個流程有了初步的認識,也把自己在課下復習的內容及上課學習的有關內容有了系統的理解,經過此次課程設計,已經有了深刻的理解。希望我從今此后自己能夠多學習有關知識,為此后的畢業設計以及工作做好充分的準備。此次課程設計終于順利達成了,在設計中碰到了好多編程問題,最后在王蓉老師的勤勞指導下,終于解決了好多問題。也獲得鍛煉:1)2)

能依據實質問題的詳細狀況,聯合所學的知識,正確剖析問題,而且能夠設計出解決問題的有效算法和程序。提升對程序的設計和調試的能力。我們經過上機的操作,考證自己設計的算法和程序的正確性。學會有效的利用一些基本的調試方法,能夠實時找出程序代碼中的錯誤,而且加以正確的更正,進一步提升自己對程序設計的水平。同時,在老師身上我學到了好多適用的知識,在次我表示感謝!同時,對給過我幫助的全部的同學和老師再次表示忠心的感謝!參照文件譚浩強.C程序設計(第三版).北京:清華大學第一版社,2005.譚浩強.C程序設計題解與上機指導(第三版).北京:清華大學第一版社,2005.劉玉英,張怡芳.C++實驗指導與課程設計.人民郵電第一版社,2007匡松吳衛華.C++程序設計試題匯編.中國鐵道第一版社.2009劉燕君,劉振安,張一葉.C++程序設計課程設計第2版.機械工業第一版社.姜靈芝余健.C++面向對象程序設計事例精編.北京:清華大學第一版社,2008郭翠英.C++面向對象程序設計事例精編.北京:中國水力水電第一版社,2004附錄附錄1源程序清單#include"iostream"#include"string"#include"iomanip"usingnamespacestd;intmonthdays[12]={31,28,31,30,31,30,31,31,30,31,30,31};stringweekday[7]={"禮拜天","禮拜一","禮拜二","禮拜三","禮拜四","禮拜五","禮拜六"};stringmonthname[12]={"January","February","March","April","May","June","July","August","September","October","November","December"};stringtiangan[10]={"甲","乙","丙","丁","戊","己","庚","辛","壬","癸"};stringdizhi[12]={"子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"};stringshengxiao[12]={"鼠","牛","虎","兔","龍","蛇","馬","羊","猴","雞","狗","豬"};voidshowcalendar(intf);voidshowpermoncal(intmon,intmonthweek,intflag);intmain( ){intf;cout<<"請選擇操作:"<<endl<<"1.查問某年日歷;"<<endl<<"2.查問某年某月的日歷;"<<endl<<"3.查問某天是禮拜幾"<<endl;cin>>f;showcalendar(f);return0;}voidshowcalendar(intf){intyear,month,day;intflag=0,mon=1;intmonthweek,week;inttotaldays;intT,D,S;入如上數據將視為."<<endl<<endl;cout<<"請輸入要選定的年份(1~3000):";getline(cin,y);for(year=atoi( ));year<=0||year>3000;)<<endl;getline(cin,y);year=atoi( ));}cout<<"請輸入要選定的月份:";getline(cin,m);for(month=atoi( ));month<1||month>12;)<<endl;getline(cin,m);month=atoi( ));}cout<<"請輸入要選定的日期:";getline(cin,d);for(day=atoi( ));(Wether_RN( )&&(day<1||day>month_days_R[month-1]))||

溫馨提示

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

評論

0/150

提交評論