課程設(shè)計----年歷處理程序的設(shè)計_第1頁
已閱讀1頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  信息學(xué)院課程設(shè)計</b></p><p>  題目: 年歷處理程序的設(shè)計 </p><p>  姓名: </p><p>  學(xué)號: </p><p>  班級:

2、 </p><p>  課程: C++程序設(shè)計 </p><p>  任課老師: </p><p><b>  2012年6月</b></p><p>  課程設(shè)計任務(wù)書及成績評定</p><p><b>  目錄</b></

3、p><p>  實驗名稱………………………………………………………………………………………… </p><p><b>  年歷處理程序的設(shè)計</b></p><p>  2.實驗?zāi)康募耙蟆?lt;/p><p>  描述課程設(shè)計的目的,約束條件,使目標達到一致。<

4、;/p><p>  3.實驗環(huán)境…………………………………………………………………………………………</p><p>  回顧并且復(fù)習(xí)課本內(nèi)容,想好需要的硬件設(shè)施與需要安裝的C++軟件。</p><p>  4.實驗設(shè)計方案……………………………………………………………………………………</p><p>  分析課程設(shè)計的實現(xiàn)方法,詳細介紹項目的

5、操作步驟。</p><p>  5.測試結(jié)果及結(jié)論………………………………………………………………………………</p><p>  課程設(shè)計的屏幕顯示,并加以簡單的文字描述,注意程序運行要用到的各種算法等知識。</p><p>  小結(jié)………………………………………………………………………………………………</p><p>  主要說明程序設(shè)

6、計的特點,進行了哪些知識方面的拓展,在哪些方面得到了幫助,以及實現(xiàn)編程過程中得到的感悟。</p><p><b>  一:實驗名稱:</b></p><p><b>  年歷處理程序的設(shè)計</b></p><p>  二:實驗?zāi)康募耙螅?lt;/p><p><b>  1、實驗?zāi)康模?lt;

7、/b></p><p>  進一步鞏固和加深對“C++程序設(shè)計”課程基本知識的理解和掌握,了解C++語言在項目開發(fā)中的應(yīng)用。</p><p>  學(xué)習(xí)程序設(shè)計開發(fā)的一般方法,了解和掌握項目開發(fā)過程及方式,培養(yǎng)正確的設(shè)計思想和分析問題、解決問題的能力,特別是項目設(shè)計能力。</p><p><b>  2、要求:</b></p>

8、<p>  輸入一個年份,輸出該年的日歷;輸入年月,輸出該月的日歷;輸入年月日,輸出今天是本年度的第幾天。</p><p><b>  三:實驗環(huán)境:</b></p><p>  實驗前,先復(fù)習(xí)和回顧課本,在電腦上安裝Visual C++等集成軟件。</p><p><b>  四:實驗設(shè)計方案:</b><

9、;/p><p><b>  1.主菜單:</b></p><p>  程序是通過類的成員函數(shù)void operate( );來實現(xiàn)對主菜單的輸入與輸出的處理。</p><p><b>  2.數(shù)據(jù)功能:</b></p><p>  程序是由類的成員函數(shù)void print Year( );實現(xiàn)各年的輸出

10、;由void print Month( );來實現(xiàn)各月的輸出;由void print Day( );實現(xiàn)各天的輸出。</p><p><b>  源程序:</b></p><p>  #include<iostream></p><p>  #include<iomanip></p><p>  

11、#include<string></p><p>  #include<cmath></p><p>  using namespace std;</p><p>  void set_year( );</p><p>  void set_month( );</p><p>  void se

12、t_day();</p><p>  int firstday(int y);//第一天是周幾</p><p>  void coutmonth(int m);//輸出月</p><p>  int monthfirstday(int year);//月的第一天是星期幾</p><p>  int daysofmonth(int m);//顯

13、示月日歷</p><p>  int mouthday();//計算是第多少天</p><p>  int year,month,day,weekday;</p><p><b>  //輸出月的標題</b></p><p>  void monthhead(int m)</p><p><

14、b>  {</b></p><p>  cout<<"\n";</p><p>  cout<<m<<"月 日 一 二 三 四 五 六"<<"\n";</p><p><b>  }</b>&l

15、t;/p><p><b>  //輸出標題</b></p><p>  void couthead(int m)</p><p><b>  {</b></p><p><b>  int i;</b></p><p>  cout<<"

16、;\n";</p><p>  cout<<m<<"月 日 一 二 三 四 五 六"<<"\n";</p><p>  cout<<" ";</p><p>  for(i=0;i<weekday;i++)</

17、p><p>  cout<<" ";</p><p><b>  }</b></p><p><b>  //第一天是星期幾</b></p><p>  int firstday(int year)</p><p><b>  {

18、</b></p><p><b>  double s;</b></p><p>  s=floor(year-1+(year-1)/4.0-(year-1)/100.0+(year-1)/400.0+1);</p><p>  return (int)s%7;</p><p><b>  }<

19、;/b></p><p>  //月的第一天是星期幾</p><p>  int monthfirstday(int year)</p><p><b>  {</b></p><p><b>  int x,t;</b></p><p>  x=firstday(ye

20、ar);</p><p>  if(year%4==0&&year%100!=0||year%400==0) t=1;else t=0;</p><p>  switch(month)</p><p><b>  {</b></p><p><b>  case 1:</b><

21、/p><p><b>  break;</b></p><p><b>  case 2:</b></p><p>  x=(31+x)%7;</p><p><b>  break;</b></p><p><b>  case 3:</b

22、></p><p>  x=(59+t)%7;</p><p><b>  break;</b></p><p><b>  case 4:</b></p><p>  x=(90+t)%7;</p><p><b>  break;</b><

23、;/p><p><b>  case 5:</b></p><p>  x=(120+t)%7;</p><p><b>  break;</b></p><p><b>  case 6:</b></p><p>  x=(151+t)%7;</p&

24、gt;<p><b>  break;</b></p><p><b>  case 7:</b></p><p>  x=(181+t)%7;</p><p><b>  break;</b></p><p><b>  case 8:</b&g

25、t;</p><p>  x=(212+t)%7;</p><p><b>  break;</b></p><p><b>  case 9:</b></p><p>  x=(243+t)%7;</p><p><b>  break;</b><

26、;/p><p><b>  case 10:</b></p><p>  x=(273+t)%7;</p><p><b>  break;</b></p><p><b>  case 11:</b></p><p>  x=(304+t)%7;</

27、p><p><b>  break;</b></p><p><b>  case 12:</b></p><p>  x=(334+t)%7;</p><p><b>  break;</b></p><p><b>  }</b>&

28、lt;/p><p><b>  return x;</b></p><p><b>  }</b></p><p><b>  //輸出月</b></p><p>  void coutmonth(int m)</p><p><b>  {<

29、;/b></p><p>  int i,days;</p><p>  couthead(m);</p><p>  days=daysofmonth(m);</p><p>  for(i=1;i<=days;i++)</p><p><b>  {</b></p>

30、<p>  cout<<setw(5)<<i;</p><p>  weekday=(weekday+1)%7;</p><p>  if(weekday==0)</p><p>  cout<<"\n"<<" ";</p><p><

31、b>  }</b></p><p><b>  }</b></p><p><b>  //計算是第多少天</b></p><p>  int mouthday()</p><p><b>  {</b></p><p>  int k

32、=day,t,num;</p><p>  if(year%4==0&&year%100!=0||year%400==0) t=1;else t=0;</p><p>  switch(month)</p><p><b>  {</b></p><p><b>  case 1:</b&

33、gt;</p><p><b>  num=k;</b></p><p><b>  break;</b></p><p><b>  case 2:</b></p><p><b>  num=31+k;</b></p><p>

34、<b>  break;</b></p><p><b>  case 3:</b></p><p>  num=59+t+k;</p><p><b>  break;</b></p><p><b>  case 4:</b></p>&

35、lt;p>  num=90+t+k;</p><p><b>  break;</b></p><p><b>  case 5:</b></p><p>  num=120+t+k;</p><p><b>  break;</b></p><p&g

36、t;<b>  case 6:</b></p><p>  num=151+t+k;</p><p><b>  break;</b></p><p><b>  case 7:</b></p><p>  num=181+t+k;</p><p>&l

37、t;b>  break;</b></p><p><b>  case 8:</b></p><p>  num=212+t+k;</p><p><b>  break;</b></p><p><b>  case 9:</b></p>&l

38、t;p>  num=243+t+k;</p><p><b>  break;</b></p><p><b>  case 10:</b></p><p>  num=273+t+k;</p><p><b>  break;</b></p><p&

39、gt;<b>  case 11:</b></p><p>  num=304+t+k;</p><p><b>  break;</b></p><p><b>  case 12:</b></p><p>  num=334+t+k;</p><p>

40、;<b>  break;</b></p><p><b>  }</b></p><p>  cout<<endl;</p><p>  cout<<year<<"年"<<month<<"月"<<day<

41、<"日"<<"是一年中的第";</p><p>  cout<<num<<"天。\n"<<"\n 離本年結(jié)束還有"<<365+t-num<<"天。"<<endl;</p><p><b>  

42、return 0;</b></p><p><b>  }</b></p><p><b>  //輸入年</b></p><p>  void set_year( )</p><p><b>  {</b></p><p>  cout&l

43、t;<"\n請 輸 入 年 份 : ";</p><p>  cin>>year;</p><p><b>  }</b></p><p><b>  //輸入月</b></p><p>  void set_month()</p><p&g

44、t;<b>  {</b></p><p>  cout<<"\n請 輸 入 月 份 : ";</p><p>  cin>>month;</p><p><b>  }</b></p><p><b>  //輸入天</b><

45、/p><p>  void set_day()</p><p><b>  {</b></p><p>  cout<<"\n請 輸 入 日 : ";</p><p><b>  cin>>day;</b></p><p><b&

46、gt;  }</b></p><p><b>  //計算每月的天數(shù)</b></p><p>  int daysofmonth(int m)</p><p><b>  {</b></p><p>  switch (m)</p><p><b>  

47、{</b></p><p><b>  case 1:</b></p><p><b>  case 3:</b></p><p><b>  case 5:</b></p><p><b>  case 7:</b></p>&

48、lt;p><b>  case 8:</b></p><p><b>  case 10:</b></p><p>  case 12:return 31;</p><p><b>  case 4:</b></p><p><b>  case 6:</

49、b></p><p><b>  case 9:</b></p><p>  case 11:return 30;</p><p><b>  case 2:</b></p><p>  if(((year%4==0&&year%100!=0)||year%400==0))&l

50、t;/p><p>  return 29;</p><p><b>  else</b></p><p>  return 28;</p><p>  default:return 0;</p><p><b>  }</b></p><p><b&

51、gt;  }</b></p><p><b>  //首頁</b></p><p>  int inter_face()</p><p><b>  {</b></p><p>  cout<<"***********************************

52、********************************************"<<endl; </p><p>  cout<<"\t\t歡迎使用...日歷處理系統(tǒng)"<<endl<<endl;</p><p>  cout<<"\t\t 主菜單 "<&

53、lt;endl;</p><p>  cout<<"\t\t1 輸入年顯示年日歷"<<endl; </p><p>  cout<<"\t\t2 輸入年月顯示月日歷"<<endl; </p><p>  cout<<"\t\t3 顯示某一天是一年的第幾天

54、"<<endl; </p><p>  cout<<"\t\t4 退出系統(tǒng)"<<endl; </p><p>  cout<<"*******************************************************************************"&

55、lt;<endl; </p><p>  cout<<"\t輸入任務(wù)序號:"<<endl;</p><p>  int choose;</p><p>  cin>>choose;</p><p>  return choose;</p><p><b

56、>  }</b></p><p>  int exit_test()//退出</p><p><b>  {</b></p><p>  cout<<"\n\t歡 迎 使 用 !再 見!\n"<<endl;</p><p>  return 0;//退出 返回

57、一個0值</p><p><b>  }</b></p><p>  int main()//主函數(shù)</p><p><b>  {</b></p><p>  int choose;</p><p><b>  int m;</b></p>

58、<p>  while(m) //功能選擇</p><p><b>  {</b></p><p>  choose=inter_face();</p><p>  switch(choose)</p><p><b>  {</b>

59、;</p><p>  case 1:int i;</p><p>  set_year( );</p><p>  weekday=firstday(year);</p><p>  cout<<endl;</p><p>  cout<<" "<

60、<year<<"年"<<endl;</p><p>  for(i=1;i<=12;i++)</p><p><b>  {</b></p><p>  coutmonth(i);</p><p>  cout<<"\n";</

61、p><p><b>  }</b></p><p>  system("pause");</p><p><b>  break;</b></p><p>  case 2:set_year( );</p><p>  set_month( );</p&

62、gt;<p>  weekday=monthfirstday(year);</p><p>  cout<<endl;</p><p>  cout<<year<<"年"<<endl;</p><p>  for(i=1;i<=12;i++)</p><p&g

63、t;<b>  {</b></p><p>  if(i==month)</p><p><b>  {</b></p><p>  coutmonth(i);</p><p>  cout<<"\n";</p><p><b>  

64、}</b></p><p><b>  }</b></p><p>  system("pause");</p><p><b>  break;</b></p><p>  case 3:set_year( );</p><p>  set_

65、month( );</p><p>  set_day();</p><p>  mouthday();</p><p>  system("pause");</p><p><b>  break;</b></p><p>  case 4:m=exit_test();<

66、;/p><p><b>  break;</b></p><p>  default :cout<<"\n\t\t輸 入 有 誤?。?!"<<endl;</p><p>  cout<<"\n\t重 新 輸 入..."<<endl;</p><

67、p>  system("pause");</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  return 0;</b>&l

68、t;/p><p><b>  }</b></p><p>  五:運行結(jié)果及結(jié)論:</p><p><b>  數(shù)據(jù)處理測試:</b></p><p><b>  年的輸出:</b></p><p><b>  2:月的輸出:</b>&

69、lt;/p><p>  3:某一年是一年的第幾天的輸出:</p><p><b>  六、小結(jié):</b></p><p>  經(jīng)過一個學(xué)期對《C++程序設(shè)計》的學(xué)習(xí),不僅學(xué)習(xí)了理論知識,還了解了C++語言的程序設(shè)計思想,掌握一種編程工具和面向?qū)ο蟪绦蛟O(shè)計的基本思想和方法,培養(yǎng)了我們綜合利用某種語言進行程序設(shè)計的能力,培養(yǎng)了我們利用系統(tǒng)提供的功能進行

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論