2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩19頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  《C++語言程序設(shè)計(jì)》課程設(shè)計(jì)(論文)</p><p>  題目: 萬年歷 </p><p>  院(系): 軟 件 學(xué) 院 </p><p>  專業(yè)班級(jí): 軟件工程 </p><p>  課程設(shè)計(jì)(論文)任務(wù)及評(píng)語</p

2、><p>  院(系):軟件學(xué)院 教研室:軟件教研室</p><p><b>  目 錄</b></p><p>  第1章 課程設(shè)計(jì)目的與要求1</p><p><b>  1.1設(shè)計(jì)目的1</b></p><

3、;p><b>  1.2實(shí)驗(yàn)環(huán)境1</b></p><p><b>  1.3預(yù)備知識(shí)1</b></p><p><b>  1.4設(shè)計(jì)要求1</b></p><p>  第2章 課程設(shè)計(jì)內(nèi)容2</p><p>  2.1 課題描述2</p>&l

4、t;p>  2.2 系統(tǒng)設(shè)計(jì)2</p><p>  2.2.1功能分析2</p><p>  2.2.2面向?qū)ο笤O(shè)計(jì)2</p><p>  2.2.2類成員描述2</p><p><b>  2.3程序?qū)崿F(xiàn)2</b></p><p>  2.3.1源碼分析2</p>

5、<p>  2.3.2運(yùn)行結(jié)果2</p><p><b>  第3章 總結(jié)3</b></p><p><b>  參考文獻(xiàn)4</b></p><p>  第1章 課程設(shè)計(jì)目的與要求</p><p><b>  1.1設(shè)計(jì)目的</b></p>&l

6、t;p>  將理論教學(xué)中涉及到的知識(shí)點(diǎn)貫穿起來,對不同的數(shù)據(jù)類型、程序控制結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)作一比較和總結(jié),結(jié)合設(shè)計(jì)題目進(jìn)行綜合性應(yīng)用,對所學(xué)知識(shí)達(dá)到融會(huì)貫通的程度。</p><p>  通過課程設(shè)計(jì),學(xué)生在下述各方面的能力應(yīng)該得到鍛煉:</p><p> ?。?)進(jìn)一步鞏固、加深學(xué)生所學(xué)專業(yè)課程《C++語言教程》的基本理論知識(shí),理論聯(lián)系實(shí)際,進(jìn)一步培養(yǎng)學(xué)生綜合分析問題,解決問題的能力。

7、</p><p>  (2)全面考核學(xué)生所掌握的基本理論知識(shí)及其實(shí)際業(yè)務(wù)能力,從而達(dá)到提高學(xué)生素質(zhì)的最終目的。</p><p> ?。?)利用所學(xué)知識(shí),開發(fā)小型應(yīng)用系統(tǒng),掌握運(yùn)用C++語言編寫調(diào)試應(yīng)用系統(tǒng)程序,訓(xùn)練獨(dú)立開發(fā)應(yīng)用系統(tǒng),進(jìn)行數(shù)據(jù)處理的綜合能力。</p><p> ?。?)對于給定的設(shè)計(jì)題目,如何進(jìn)行分析,理清思路,并給出相應(yīng)的數(shù)學(xué)模型。</p>

8、;<p> ?。?)掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的方法。</p><p> ?。?)熟練掌握C++語言的基本語法,靈活運(yùn)用各種數(shù)據(jù)類型。</p><p>  (7)進(jìn)一步掌握在集成環(huán)境下如何調(diào)試程序和修改程序。</p><p><b>  1.2實(shí)驗(yàn)環(huán)境</b></p><p>  硬件要求能運(yùn)行Windows 操

9、作系統(tǒng)的微機(jī)系統(tǒng)。C++語言應(yīng)用程序開發(fā)軟件使用:VC++ 系統(tǒng),或其他C++語言應(yīng)用程序開發(fā)軟件。</p><p><b>  1.3預(yù)備知識(shí)</b></p><p>  熟悉C++語言程序設(shè)計(jì)的基本知識(shí)及VC++編輯器的使用方法。</p><p><b>  1.4設(shè)計(jì)要求</b></p><p&g

10、t;  1.仔細(xì)分析設(shè)計(jì)題目,畫出程序流程圖,編寫程序源代碼。</p><p>  2.積極上機(jī)調(diào)試源程序,增強(qiáng)編程技巧與調(diào)程能力。</p><p>  3.認(rèn)真書寫課程設(shè)計(jì)預(yù)習(xí)報(bào)告,課程設(shè)計(jì)說明書。</p><p>  4.遵守課程設(shè)計(jì)要求和機(jī)房管理制度,服從指導(dǎo)教師的安排,確保課程設(shè)計(jì)的順利完成課程設(shè)計(jì)內(nèi)容。</p><p>  第2章

11、課程設(shè)計(jì)內(nèi)容</p><p><b>  2.1 課題描述</b></p><p>  輸入任一年的年份后,</p><p><b>  如何打印該年的年歷</b></p><p><b>  2.2 系統(tǒng)設(shè)計(jì)</b></p><p><b>

12、;  輸入記錄 </b></p><p>  輸入源程序,并對各部分有一個(gè)詳細(xì)的解釋,說明各個(gè)部分的功能,</p><p>  將這個(gè)問題模塊化,分成幾個(gè)部分的輸入。</p><p><b>  程序中數(shù)據(jù)的設(shè)計(jì)</b></p><p>  大月小月的判斷,閏年非閏年的</p><p

13、>  判斷以及年歷的排列方式都得用數(shù)據(jù)的形式給表示出來,所以數(shù)據(jù)的的</p><p>  設(shè)計(jì)也是比較多的,具體如下: </p><p>  int i,c,day,year,k,a[50]; </p><p>  具體說明如下:i(此變量是用來排列年歷的),c(c是和year變量是一</p><p>  樣的,是從計(jì)算機(jī)中輸入

14、的),day(day變量是是相差的天數(shù)),k(k是</p><p><b>  用來輸出星期的)。</b></p><p><b>  程序的函數(shù)設(shè)計(jì) </b></p><p>  C++是函數(shù)驅(qū)動(dòng)的,所以很多的功能是需要用函數(shù)來完成的。本題我們共</p><p>  有6個(gè)函數(shù),其中有5個(gè)自

15、定義函數(shù)和一個(gè)主函數(shù)。分別是:void f1(int </p><p>  x) ,void f2(int x),void f3(int x) ,void f4(int x) ,void g(int </p><p>  y[],int z) 和main函數(shù)。各個(gè)函數(shù)的功能是: </p><p>  f1:判斷1號(hào)之前的天數(shù)并全部用空格填上。 <

16、;/p><p>  f2:用來判斷大小月的。 </p><p>  f3:用來判斷并輸出閏年的二月的。 </p><p>  f4:用來判斷并輸出非閏年二月的。 </p><p>  g:用來輸出日歷表的。 </p><p>  數(shù)據(jù)結(jié)構(gòu)說明 本系統(tǒng)數(shù)據(jù)結(jié)構(gòu)較簡單,只有一個(gè)結(jié)構(gòu)數(shù)組,預(yù)定50個(gè)元素。定義結(jié)構(gòu)<

17、;/p><p><b>  類型如下: </b></p><p>  for( i=0;i<50;i++) </p><p><b>  a[i]=33;</b></p><p><b>  2.2.1功能分析</b></p><p>  輸入任一

18、年的年份后,打印該年的年歷</p><p>  2.2.2面向?qū)ο笤O(shè)計(jì)</p><p>  2.2.2類成員描述</p><p>  各功能模塊(函數(shù))的算法處理</p><p>  1、大月和小月的定義 </p><p>  void f1(int x) //大月 </p&

19、gt;<p><b>  { </b></p><p>  for( i=0;i<50;i++) </p><p>  a[i]=33; </p><p>  for(i=k-1;i>=0;i--) </p><p>  a[i]='\000'; //1號(hào)前均為

20、空格 </p><p>  for(i=k;i<31+k;i++) </p><p>  a[i]=a[i-1]+1; </p><p><b>  } </b></p><p>  主要運(yùn)用了數(shù)組的循環(huán)語句進(jìn)行對大月的定義。 </p><p>  void f2(int x)

21、 //小月 </p><p><b>  { </b></p><p>  for( i=0;i<50;i++) </p><p>  a[i]=33; </p><p>  for(i=k-1;i>=0;i--) </p><p>  a[i]=&

22、#39;\000'; </p><p>  for(i=k;i<30+k;i++) </p><p>  a[i]=a[i-1]+1; </p><p><b>  } </b></p><p>  依然用數(shù)組的循環(huán)語句進(jìn)行對小月的定義。</p><p>  閏年與非閏年二月

23、的定義 </p><p>  void f3(int x) //閏年二月 打印一年日歷Void f</p><p>  Void q 主函數(shù) 大月 </p><p><b>  小月 閏年二月</b></p><p>  輸出日歷表一月的定義 閏二月的定義 </p>

24、<p><b>  非閏二月的定</b></p><p><b>  三月</b></p><p>  四月 五月 六月 七月 </p><p><b>  八月 </b></p><p><b>  九月 </b></p>

25、<p><b>  十月 十一月 </b></p><p>  十二月 非閏年二月</p><p><b> ?。硔 </b></p><p>  for( i=0;i<50;i++) </p><p>  a[i]=33; </p><p> 

26、 for(i=k-1;i>=0;i--) </p><p>  a[i]='\000'; </p><p>  for(i=k;i<29+k;i++) </p><p>  a[i]=a[i-1]+1; </p><p><b>  } </b></p><p&g

27、t;  void f4(int x) //非閏年二月 </p><p><b>  { </b></p><p>  for( i=0;i<50;i++) </p><p>  a[i]=33; </p><p>  for(i=k-1;i>=0;i--) <

28、;/p><p>  a[i]='\000'; </p><p>  for(i=k;i<28+k;i++) </p><p>  a[i]=a[i-1]+1; </p><p><b>  } </b></p><p>  用兩個(gè)函數(shù)定義了在閏年與非閏年時(shí),二月的不同定

29、義。這主要運(yùn)用到變量的不同</p><p>  定義。從而分辨出它們的不同,使可打印出任一年的日歷。 </p><p>  3、日歷表的輸出 </p><p>  int s,count=0; </p><p>  cout<<"請輸入年份:"; </p><p>  cin&

30、gt;>year; </p><p>  cout<<endl; </p><p><b>  c=year; </b></p><p>  for(s=1;s<=year;s++) </p><p>  if(((s-1)%4==0&&(s-1)%100!=0)||(s-

31、1)%400==0) </p><p>  count++; </p><p>  day=365*c+count; //相差天數(shù) </p><p>  cout<<"*********************"<<year<<"年日歷******

32、***************"; </p><p>  cout<<endl<<endl<<endl<<endl; </p><p>  在此運(yùn)用了C++中函數(shù)的運(yùn)算,計(jì)算出該年的每月每日的不同。還有一年的輸入和輸</p><p>  出。在C++語言中,函數(shù)的運(yùn)算又分為很多種,此次用的是 <

33、/p><p>  在輸出時(shí),閏年與非閏年二月的輸出法的定義 </p><p>  if((year%4==0&&year%100!=0)||year%400==0) //閏年二月 </p><p><b>  { </b></p><p> ?。?k=((day+31)%7+6)%7+1;

34、</p><p>  cout<<"二月"<<endl<<endl; </p><p><b>  f3(k); </b></p><p>  g(a,50); </p><p>  day=day+31+29; </p><p>

35、<b>  } </b></p><p>  else //非閏年二月 </p><p><b>  { </b></p><p>  k=((day+31)%7+6)%7+1; </p><p>  cout<<

36、"二月"<<endl<<endl; </p><p><b>  f4(k); </b></p><p>  g(a,50); </p><p>  day=day+31+28; </p><p><b>  } </b></p>

37、<p>  此處主要運(yùn)用了if語句來對閏年與非閏年的二月的不同定義的輸出。if語句一種</p><p><b>  2.3程序?qū)崿F(xiàn)</b></p><p><b>  2.3.1源碼分析</b></p><p>  #include<iostream> </p><p>  #

38、include<cmath> </p><p>  using namespace std; </p><p>  int i,c,day,year,k,a[50]; </p><p>  void f1(int x) //大月 </p><p><b>  { </b><

39、/p><p>  for( i=0;i<50;i++) </p><p><b>  a[i]=33; </b></p><p>  for(i=k-1;i>=0;i--) </p><p>  a[i]='\000'; //1號(hào)前均為空格 </p><p>  

40、for(i=k;i<31+k;i++) </p><p>  a[i]=a[i-1]+1; </p><p><b>  } </b></p><p>  void f2(int x) //小月 </p><p><b>  { </b></p>&

41、lt;p>  for( i=0;i<50;i++) </p><p><b>  a[i]=33; </b></p><p>  for(i=k-1;i>=0;i--) </p><p>  a[i]='\000'; </p><p>  for(i=k;i<30+k;i++) &

42、lt;/p><p>  a[i]=a[i-1]+1; </p><p><b>  } </b></p><p>  void f3(int x) //閏年二月 </p><p><b>  { </b></p><p>  for( i=0;i&l

43、t;50;i++) </p><p><b>  a[i]=33; </b></p><p>  for(i=k-1;i>=0;i--) </p><p>  a[i]='\000'; </p><p>  for(i=k;i<29+k;i++) </p><p>  

44、a[i]=a[i-1]+1; </p><p><b>  } </b></p><p>  void f4(int x) //非閏年二月 </p><p><b>  { </b></p><p>  for( i=0;i<50;i++) </p&g

45、t;<p><b>  a[i]=33; </b></p><p>  for(i=k-1;i>=0;i--) </p><p>  a[i]='\000'; </p><p>  for(i=k;i<28+k;i++) </p><p>  a[i]=a[i-1]+1; &l

46、t;/p><p><b>  } </b></p><p>  void g(int y[],int z) // 輸出日歷表 </p><p><b>  { </b></p><p>  cout<<"日"<<'\t&

47、#39;<<"一"<<'\t'<<"二"<<'\t'<<"三"<<'\t'<<"四"<<'\t'<<"五"<<'\t'<<&qu

48、ot;六"<<endl; </p><p>  for(i=0;i<50;i++) </p><p><b>  { </b></p><p>  if(a[i]==0) </p><p>  cout<<(char)a[i]<<'\t'; </p

49、><p>  if(a[i]!=0&&a[i]!=33) </p><p>  cout<<a[i]<<'\t'; </p><p><b>  else ; </b></p><p>  if(i%7==0) </p><p>  cout&l

50、t;<endl; </p><p><b>  } </b></p><p>  cout<<endl<<endl<<endl; </p><p><b>  } </b></p><p>  int main() </p><p>

51、<b>  { </b></p><p>  int s,count=0; </p><p>  cout<<"請輸入年份:"; </p><p>  cin>>year; </p><p>  cout<<endl; </p><p>&

52、lt;b>  c=year; </b></p><p>  for(s=1;s<=year;s++) </p><p>  if(((s-1)%4==0&&(s-1)%100!=0)||(s-1)%400==0) </p><p><b>  count++; </b></p><p&

53、gt;  day=365*c+count; //相差天數(shù) </p><p>  cout<<"*********************"<<year<<"年日歷*********************"; </p><p>  cout<<endl&l

54、t;<endl<<endl<<endl; </p><p>  k=(day%7+6)%7+1; </p><p>  cout<<"一月"<<endl<<endl; </p><p><b>  f1(k); </b></p><p>

55、;<b>  g(a,50); </b></p><p>  if((year%4==0&&year%100!=0)||year%400==0) //閏年二月 </p><p><b>  { </b></p><p>  k=((day+31)%7+6)%7+1; </p><

56、p>  cout<<"二月"<<endl<<endl; </p><p><b>  f3(k); </b></p><p><b>  g(a,50); </b></p><p>  day=day+31+29; </p><p>&

57、lt;b>  } </b></p><p>  else //非閏年二月 </p><p><b>  { </b></p><p>  k=((day+31)%7+6)%7+1; </p><p>  cout<<"

58、;二月"<<endl<<endl; </p><p><b>  f4(k); </b></p><p><b>  g(a,50); </b></p><p>  day=day+31+28; </p><p><b>  } </b><

59、;/p><p>  k=(day%7+6)%7+1; </p><p>  cout<<"三月"<<endl<<endl; </p><p><b>  f1(k); </b></p><p><b>  g(a,50); </b></p&g

60、t;<p>  k=((day+31)%7+6)%7+1; </p><p>  cout<<"四月"<<endl<<endl; </p><p><b>  f2(k); </b></p><p><b>  g(a,50); </b></p&g

61、t;<p>  k=((day+31+30)%7+6)%7+1; </p><p>  cout<<"五月"<<endl<<endl; </p><p><b>  f1(k); </b></p><p><b>  g(a,50); </b></

62、p><p>  k=((day+31+30+31)%7+6)%7+1; </p><p>  cout<<"六月"<<endl<<endl; </p><p><b>  f2(k); </b></p><p>  g(a,50); </p><p

63、>  k=((day+31+30+31+30)%7+6)%7+1; </p><p>  cout<<"七月"<<endl<<endl; </p><p><b>  f1(k); </b></p><p><b>  g(a,50); </b></p&g

64、t;<p>  k=((day+31+30+31+30+31)%7+6)%7+1; </p><p>  cout<<"八月"<<endl<<endl; </p><p><b>  f1(k); </b></p><p><b>  g(a,50); </b

65、></p><p>  k=((day+31+30+31+30+31+31)%7+6)%7+1; </p><p>  cout<<"九月"<<endl<<endl; </p><p><b>  f2(k); </b></p><p><b>  

66、g(a,50); </b></p><p>  k=((day+31+30+31+30+31+31+30)%7+6)%7+1; </p><p>  cout<<"十月"<<endl<<endl; </p><p><b>  f1(k); </b></p>&

67、lt;p><b>  g(a,50); </b></p><p>  k=((day+31+30+31+30+31+31+30+31)%7+6)%7+1; </p><p>  cout<<"十一月"<<endl<<endl; </p><p><b>  f2(k); &

68、lt;/b></p><p><b>  g(a,50); </b></p><p>  k=((day+31+30+31+30+31+31+30+31+30)%7+6)%7+1; </p><p>  cout<<"十二月"<<endl<<endl; </p><

69、;p><b>  f1(k); </b></p><p><b>  g(a,50); </b></p><p>  return 0; </p><p><b>  }</b></p><p><b>  2.3.2運(yùn)行結(jié)果</b></p&

70、gt;<p><b>  第3章 總結(jié)</b></p><p>  通過實(shí)踐的學(xué)習(xí),我認(rèn)到學(xué)好計(jì)算機(jī)要重視實(shí)踐操作,不僅僅是學(xué)習(xí)C++,還是其它的語言,</p><p>  以及其它的計(jì)算機(jī)方面的知識(shí)都要重在實(shí)踐,所以后在學(xué)習(xí)過程中,我會(huì)更加注視實(shí)踐操作,使自己更好地學(xué)好計(jì)算機(jī)知識(shí)。</p><p><b>  參考文

71、獻(xiàn)</b></p><p>  1.譚浩強(qiáng) 著.《C++面向程序程序設(shè)計(jì)》.北京:清華大學(xué)出版社,2006.7 </p><p>  2.錢能 著.《C++程序設(shè)計(jì)教程(修訂版)——設(shè)計(jì)思想與實(shí)現(xiàn)》.北京:清華大學(xué)</p><p>  出版社,2009.7 </p><p>  3.周玉龍 劉璟 著.《高級(jí)語言C++程序

溫馨提示

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

評(píng)論

0/150

提交評(píng)論