版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1/6用控制語(yǔ)句實(shí)現(xiàn)萬(wàn)年歷實(shí)驗(yàn)題目用控制語(yǔ)句實(shí)現(xiàn)萬(wàn)年歷控制語(yǔ)句在程序設(shè)計(jì)中非常重要,通過(guò)控制語(yǔ)句,程序可以轉(zhuǎn)向不同的流程??刂普Z(yǔ)句的應(yīng)用也是程序設(shè)計(jì)的基礎(chǔ),是必須要掌握的重要知識(shí)。程序主要實(shí)現(xiàn)3個(gè)功能:顯示某一年的每一個(gè)月的日歷、顯示某一年某一月的日歷以及查詢某一天是星期幾。程序功能結(jié)構(gòu)如下圖2.1所示。圖2.1實(shí)驗(yàn)?zāi)康挠脩艨梢酝ㄟ^(guò)菜單選擇不同的選項(xiàng)實(shí)現(xiàn)不同的功能,通過(guò)輸入想要顯示的年份,可以輸出年的日歷;輸入年和月,可以輸出該月的日歷;輸入年、月以及日,可以查詢這一天是星期幾。實(shí)驗(yàn)要求程序主要的設(shè)計(jì)要求如下:功能選擇可以用菜單來(lái)實(shí)現(xiàn)。例如:請(qǐng)選擇您的查詢內(nèi)容:顯示一年的日歷;顯示一月的日歷;顯示某一天是星期幾;退出;用戶通過(guò)輸入不同的數(shù)字進(jìn)入不同的菜單。(2)每一月以日歷表格的形式顯示,表格的第一行顯示星期,表格的內(nèi)容是每一天。用戶可以很容易看到每一天是星期幾。設(shè)計(jì)思想說(shuō)明功能1:要想輸出一年的日歷,首先得解決輸出一個(gè)月日歷的問(wèn)題,然后用循環(huán)輸出十二月份的。首先提示由鍵盤(pán)輸入要顯示的年份,得到年份后開(kāi)始進(jìn)入循環(huán),定義月份變量month,并賦初值為1(從一月份開(kāi)始),第一步,進(jìn)入monthdays(intyear,intmonth)函數(shù)判斷月份天數(shù),然后根據(jù)進(jìn)入void
printmonth(int
year,int
month)函數(shù)根據(jù)年月計(jì)算出該月一號(hào)是星期幾并輸出月份和每周的表頭,由循環(huán)空出一號(hào)前面空的部分,再由另一個(gè)循環(huán),加上前面該月天數(shù)的判斷,就能輸出該月的日歷,此時(shí)一個(gè)月的日歷輸出完畢,進(jìn)入第二次循環(huán),輸出下一個(gè)月的日歷,知道十二個(gè)月份的日歷全部輸出,循環(huán)結(jié)束,第一個(gè)功能實(shí)現(xiàn)。功能2:第二個(gè)功能是第一個(gè)功能的一部分,只需要輸出一個(gè)月的日歷,這是月份不是由1開(kāi)始,而是由鍵盤(pán)輸入的,日歷輸出方法與第一個(gè)功能中的方法相似。功能3:判斷這一天是星期幾,由蔡勒公式計(jì)算,得到的余數(shù)是從0到6,0對(duì)應(yīng)星期日,其他的正好對(duì)應(yīng)。系統(tǒng)結(jié)構(gòu)的說(shuō)明流程圖:開(kāi)始開(kāi)始進(jìn)入歡迎界面點(diǎn)任意鍵進(jìn)入選擇功能界面1查詢某年的日歷2查詢某月的日歷3查詢某一天是星期幾0返回輸入所要查詢的年份輸入所要查詢的年月輸入所要查詢的年月日顯示結(jié)果程序清單intyeardays(intyear);intmonthdays(intyear,intmonth);voidprintyear();voidprintmonth(intyear,intmonth);voidfindday();#include<iostream>usingnamespacestd;intmain(intargc,char*argv[]){ cout<<"************************************"<<endl; cout<<"**********歡迎使用萬(wàn)年歷!**********"<<endl; cout<<"************************************"<<endl; intflag=1; do {cout<<"hallo!請(qǐng)選擇您的查詢內(nèi)容:"<<endl; cout<<"1.顯示某一年的萬(wàn)年歷"<<endl; cout<<"2.顯示某一月的萬(wàn)年歷"<<endl; cout<<"3.查詢某一天是星期幾"<<endl; cout<<"0.退出"<<endl; intchoice; cin>>choice; if(choice!=0) {hh:switch(choice) {case1:printyear();//調(diào)用打印年份函數(shù) break; case2: { intyear,month; cout<<"請(qǐng)輸入年和月,如:20131"<<endl; cin>>year>>month; printmonth(year,month);//調(diào)用打印月份函數(shù) break; } case3:findday(); break; default:cout<<"輸入錯(cuò)誤,請(qǐng)重新輸入:"<<endl; cin>>choice; gotohh; } } else { cout<<endl<<"感謝使用,再見(jiàn)!"<<endl<<endl; flag=0;//退出; } } while(flag); return0;}//判斷指定的年份是否為閏年以及每年的天數(shù)的函數(shù);intyeardays(intyear){ intyeardays=0; if(year%4==0&&year%100!=0||year%400==0)//判斷是否為閏年; yeardays+=366; else yeardays+=365; returnyeardays;}//判斷指定的年份每一個(gè)月的天數(shù)的函數(shù);intmonthdays(intyear,intmonth){ intdays_mon[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};//用數(shù)組表示每個(gè)月的天數(shù); if(year%4==0&&year%100!=0||year%400==0) { days_mon[2]=29; } returndays_mon[month];}//顯示指定某一年的日歷的函數(shù)voidprintyear(){ intyear; inti; cout<<endl; cout<<"請(qǐng)輸入年份:"<<endl; cin>>year; for(i=1;i<13;i++) { printmonth(year,i); }}//顯示指定某年某一月的日歷的函數(shù)voidprintmonth(intyear,intmonth){ inti,d,days=1; char*dayss[]={"SUN","MON","TUE","WEN","THU","FRI","SAT"};//用數(shù)組元素代表星期幾; cout<<endl; for(i=0;i<month;i++) days+=monthdays(year,i);//計(jì)算總天數(shù) d=(year-1+(year-1)/4-(year-1)/100+(year-1)/400+days)%7;//用d=0.1.2…..6來(lái)表示星期一至日; cout<<year<<"年"<<month<<"月"<<endl;//輸出月歷部分; for(intj=0;j<7;j++) cout<<dayss[j]<<""; cout<<endl; for(i=0;i<d;i++) cout<<""; for(intk=1;k<=monthdays(year,month);k++) { if(k<10) cout<<k<<""; elsecout<<k<<""; if((k+d)%7==0) cout<<endl; } cout<<endl;}//顯示某一天是星期幾的函數(shù);voidfindday(){ char*dayss[]={"日","一","二","三","四","五","六"}; intyear,month,day,days,z=0; cout<<"請(qǐng)輸入年月日(如:201311)"<<endl; cin>>year>>month>>day;days=day; for(inti=0;i<month;i++) days+=monthdays(year,i); z=(year-1+(year-1)/4-(year-1)/100+(year-1)/400+days)%7; cout<<year<<"年"<<month<<"月"<<day<<"日"<<"是星期"<<dayss[z]<<endl;}測(cè)試結(jié)果如下圖:使用說(shuō)明書(shū)根據(jù)提示選擇所要查詢的內(nèi)容,進(jìn)入功能查詢界面,輸入所要查詢的內(nèi)容信息,查詢結(jié)果會(huì)自動(dòng)顯示,如查詢完畢,輸入0退出,如還需繼
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 臨時(shí)工招募:2024學(xué)校勤雜工勞動(dòng)協(xié)議
- 2025年數(shù)據(jù)中心場(chǎng)承包運(yùn)營(yíng)管理協(xié)議4篇
- 專項(xiàng)龍門(mén)吊租賃協(xié)議格式范本2024版B版
- 2025年度健身中心場(chǎng)地租賃及私人教練服務(wù)合同4篇
- 二零二四商鋪?zhàn)赓U合同(含租賃期間租賃物處置及變現(xiàn)條款)3篇
- 2025不銹鋼精密鑄造件加工與銷售合作協(xié)議2篇
- 2025年度文化衍生品研發(fā)、生產(chǎn)及銷售合作協(xié)議4篇
- 二零二五年度餐飲業(yè)人力資源外包合同6篇
- 2024藥店負(fù)責(zé)人任期藥店經(jīng)營(yíng)數(shù)據(jù)統(tǒng)計(jì)與分析聘用合同3篇
- 一次性付款房地產(chǎn)轉(zhuǎn)讓合同(2024年版)
- NGS二代測(cè)序培訓(xùn)
- 《材料合成與制備技術(shù)》課程教學(xué)大綱(材料化學(xué)專業(yè))
- 小紅書(shū)食用農(nóng)產(chǎn)品承諾書(shū)示例
- 釘釘OA辦公系統(tǒng)操作流程培訓(xùn)
- 新生兒科年度護(hù)理質(zhì)控總結(jié)
- GB/T 15934-2024電器附件電線組件和互連電線組件
- 《工貿(mào)企業(yè)有限空間作業(yè)安全規(guī)定》知識(shí)培訓(xùn)
- 高層次人才座談會(huì)發(fā)言稿
- 垃圾清運(yùn)公司管理制度(人員、車輛、質(zhì)量監(jiān)督、會(huì)計(jì)管理制度)
- 《建筑工程設(shè)計(jì)文件編制深度規(guī)定》(2022年版)
- 營(yíng)銷人員薪酬考核方案
評(píng)論
0/150
提交評(píng)論