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

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  2013年C語(yǔ)言程序設(shè)計(jì)</p><p>  探究式自主課程設(shè)計(jì)報(bào)告</p><p>  系部:計(jì)算機(jī)工程學(xué)院</p><p>  專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)</p><p>  班級(jí):計(jì)算機(jī)科學(xué)與技術(shù)2班</p><p><b>  姓名: </b></p>&l

2、t;p><b>  學(xué)號(hào): </b></p><p>  課題名稱:多功能萬(wàn)年歷</p><p><b>  指導(dǎo)老師: </b></p><p><b>  計(jì)算機(jī)工程學(xué)院</b></p><p>  2013年6月10日</p><p><

3、;b>  前 言</b></p><p>  C語(yǔ)言是一種結(jié)構(gòu)化的程序設(shè)計(jì)語(yǔ)言。它功能豐富、表現(xiàn)能力強(qiáng)、使用靈活、應(yīng)用面廣、目標(biāo)程序效率高、可移植性好,既具有高級(jí)語(yǔ)言的特點(diǎn),又具有低級(jí)語(yǔ)言的功能,因此它成為當(dāng)今主流程序設(shè)計(jì)語(yǔ)言之一。</p><p>  C語(yǔ)言包含理論學(xué)習(xí)、編程方法和程序調(diào)試三個(gè)方面的內(nèi)容。由于它的語(yǔ)法現(xiàn)象比較復(fù)雜,數(shù)據(jù)類型轉(zhuǎn)換和表示靈活多變,因此,在學(xué)

4、習(xí)和掌握C語(yǔ)言時(shí),要把實(shí)踐分為三個(gè)層次和兩個(gè)方面。三個(gè)層次是:閱讀別人寫好的程序(或函數(shù)),理解程序所要完成的任務(wù)(也就是程序的功能),從中學(xué)習(xí)編程的方法個(gè)技巧;模仿編寫類似的程序;自己獨(dú)立設(shè)計(jì)和編寫程序完成指定的任務(wù)。兩個(gè)方面是:在條件有限的情況下,動(dòng)手在紙上嚴(yán)格按語(yǔ)法規(guī)則一絲不茍的寫程序;另一方面,在條件允許的情況下,應(yīng)該盡量上機(jī)練習(xí),調(diào)試自己所寫的程序。讓C語(yǔ)言具有更積極的意義。</p><p>  本課程

5、設(shè)計(jì)存在一些不足之處,竭誠(chéng)希望大家批評(píng)指正。</p><p><b>  目 錄</b></p><p>  ----------------------------------------------------------------------------------------------------------------------</p>

6、<p><b>  1、設(shè)計(jì)的目的</b></p><p><b>  2、課程題目</b></p><p><b>  3、程序的主要功能</b></p><p><b>  4、課程思考</b></p><p><b>  5、

7、系統(tǒng)總體框架圖</b></p><p><b>  6、課程分析</b></p><p><b>  7、源程序代碼</b></p><p><b>  8、運(yùn)行結(jié)果</b></p><p><b>  9、心得與體會(huì)</b></p>

8、;<p><b>  10、參考文獻(xiàn)</b></p><p><b>  一、設(shè)計(jì)的目的</b></p><p>  經(jīng)過(guò)一學(xué)期在任教授的指導(dǎo)下,讓我們初步的認(rèn)識(shí)了C語(yǔ)言的一些基礎(chǔ)知識(shí),為了鞏固和復(fù)習(xí)c語(yǔ)言的基礎(chǔ)知識(shí),進(jìn)一步加深對(duì)C語(yǔ)言編程的理解和掌握,利用所學(xué)的知識(shí),理論和實(shí)驗(yàn)結(jié)合,利用資源,采用模塊化的結(jié)構(gòu),使用模仿修改自主設(shè)計(jì)

9、相結(jié)合的方法,鍛煉我們綜合分析解決實(shí)際問(wèn)題的編程能力,培養(yǎng)我們?cè)陧?xiàng)目開(kāi)發(fā)中團(tuán)隊(duì)合作精神、創(chuàng)新意識(shí)及實(shí)戰(zhàn)能力,所以我決定利用所學(xué)的一些基礎(chǔ)知識(shí),做一個(gè)小程序,以提高自身的編程水平與上機(jī)調(diào)試技能。</p><p><b>  二、課程題目</b></p><p>  編寫程序,解決萬(wàn)年歷問(wèn)題。</p><p><b>  三、程序的主要功

10、能</b></p><p> ?。?)顯示當(dāng)前的日期與時(shí)間;</p><p>  (2)輸入一個(gè)年份,輸出全年的日歷;</p><p> ?。?)輸入年份、月份,輸出該月的日歷;</p><p> ?。?)輸入年、月、日,計(jì)算出這天是星期幾;</p><p> ?。?)計(jì)算你活了多少天(計(jì)算兩個(gè)日期相隔多少

11、天);</p><p> ?。?)輸入一個(gè)日期,輸出該日期對(duì)應(yīng)的星座;</p><p>  (7)輸入一個(gè)年份,輸出該年的生肖;</p><p><b>  四、課程思考</b></p><p>  由于這個(gè)程序相對(duì)來(lái)說(shuō)比較大,為了它能更好的實(shí)現(xiàn)各個(gè)部分的功能,我要把它來(lái)分為各個(gè)小的模塊來(lái)實(shí)現(xiàn):由于第一個(gè)功能是要讓人能一

12、眼就看見(jiàn),所以我就決定把它放在主菜單界面,讓人能一眼就看到當(dāng)前時(shí)間,也好進(jìn)行相應(yīng)的操作;第二個(gè)功能我決定用一個(gè)oneyear()的函數(shù)模塊來(lái)實(shí)現(xiàn);第三個(gè)功能用一個(gè)onemonth()的函數(shù)模塊來(lái)實(shí)現(xiàn);第四個(gè)功能用oneday()的函數(shù)模塊來(lái)實(shí)現(xiàn);第五個(gè)功能用xg()的函數(shù)模塊來(lái)實(shí)現(xiàn);第六個(gè)功能用一個(gè)xz()的函數(shù)模塊來(lái)實(shí)現(xiàn);第七個(gè)功能如果和第二個(gè)功能相結(jié)合就完美了,但是由于我軟件的窗口無(wú)法放大來(lái)顯示調(diào)試結(jié)果,為了避免出錯(cuò),我還是用sx(

13、)的函數(shù)模塊來(lái)實(shí)現(xiàn)(本程序中有幾個(gè)的程序模塊都是從本課程設(shè)計(jì)的參考文獻(xiàn)[2]中借鑒而來(lái))。</p><p><b>  五、系統(tǒng)總體框架圖</b></p><p><b>  六、要點(diǎn)分析</b></p><p>  這里將這個(gè)功能定義為一個(gè)功能模塊,在主程序中分別調(diào)用,實(shí)現(xiàn)不同的功能。</p><p&

14、gt;  在這個(gè)問(wèn)題中,最主要的是閏年和平年的判斷和如何確定每年的第一天是星期幾。</p><p>  某一年是閏年的條件為:該年份能被4整除但不能被100整除,或者能被400整除。根據(jù)這些條件,可以寫出判斷閏年的函數(shù)如下:</p><p>  int isleap(int a)</p><p>  { return(a%4==0&&a%100!=0

15、||a%400==0);}</p><p>  對(duì)于該函數(shù),給它一個(gè)年份,如果返回值是1則說(shuō)明是閏年,如果返回值是0則為非閏年。判斷是否為閏年主要是確定2月份的天數(shù),其他的月份天數(shù)是固定的。</p><p>  確定一年的第一天是星期幾的函數(shù)如下:</p><p>  int day(int year)</p><p>  {long a,b

16、;</p><p>  if(year<=2000)</p><p><b>  {</b></p><p>  a=2000-year;</p><p>  b=6-(a+a/4-a/100+a/400)%7;</p><p><b>  return b;</b>&

17、lt;/p><p><b>  }</b></p><p><b>  else</b></p><p>  {a=year-2000;</p><p>  b=(a+(a-1)/4-(a-1)/100+(a-1)/400)%7;</p><p><b>  retur

18、n b;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  在該函數(shù)中,對(duì)于年份首先判斷實(shí)在2000年之前還是在2000年之后,然后分別計(jì)算,最后返回該年份的第一天是星期幾,這里,返回值0—6分別對(duì)應(yīng)的是星期天到星期六。</p><p

19、>  知道了每個(gè)月的天數(shù)和該年的第一天是星期幾,利用累加就能算出每一天對(duì)應(yīng)星期幾,也就容易實(shí)現(xiàn)萬(wàn)年歷系統(tǒng)的功能。</p><p><b>  七、源程序代碼</b></p><p> ?。?)首先建立頭文件,如下所示:</p><p>  #include "stdio.h"</p><p> 

20、 #include "conio.h"</p><p>  #include<time.h></p><p>  #define D " sum mon tue wed thu fri sat"</p><p>  void baiyang();</p><p>  void jingni

21、u();</p><p>  void shuangzi();</p><p>  void juxie();</p><p>  void shizi();</p><p>  void chu();</p><p>  void tianp();</p><p>  void tianx()

22、;</p><p>  void sheshou();</p><p>  void mojie();</p><p>  void shuiping();</p><p>  void shuangyu();</p><p>  void print(int n)</p><p><b&

23、gt;  {int i;</b></p><p>  for(i=0;i<n;i++)</p><p>  printf(" ");</p><p><b>  }</b></p><p>  int day(int year)</p><p>  { lon

24、g a,b;</p><p>  if(year<=2000)</p><p><b>  {</b></p><p>  a=2000-year;</p><p>  b=6-(a+a/4-a/100+a/400)%7;</p><p><b>  return b;</b

25、></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  a=year-2000;</p><p>  b=(a+(a-1)/4-(a-1)/100+(a-

26、1)/400)%7;</p><p><b>  return b;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  int isleap(int a)</p><p><b>  {

27、</b></p><p>  return(a%4==0&&a%100!=0||a%400==0);</p><p><b>  }</b></p><p>  在頭文件中,包含了閏年的判斷,確定一年的第一天是星期幾,顯示n個(gè)空格等函數(shù),以及幾個(gè)宏定義和必須的頭文件stdio.h。</p><p&

28、gt; ?。?)顯示一年的日歷:</p><p>  void oneyear()</p><p>  {int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};</p><p>  int i,j,k,m,n,f1,f2,year,d;</p><p><b>  clrscr();&l

29、t;/b></p><p>  printf("qing shu ru nian fen:\n");</p><p>  scanf("%d",&year);</p><p>  printf("ni suo shu ru de nian fen shi:%d\n",year);</p&

30、gt;<p>  d=day(year);</p><p>  if(isleap(year))</p><p><b>  a[2]++;</b></p><p>  for(i=1;i<=12;i+=2)</p><p>  {m=n=f1=f2=0;</p><p>&l

31、t;b>  switch(i)</b></p><p><b>  {</b></p><p>  case 1:printf("january 1");break;</p><p>  case 3:printf("march 3");break;</p><p&g

32、t;  case 5:printf("may 5");break;</p><p>  case 7:printf("july 7");break;</p><p>  case 9:printf("septrmber 9");break;</p><p>  case 11:printf("no

33、vember 11");break;</p><p><b>  }</b></p><p>  print(21);</p><p>  switch(i+1)</p><p><b>  {</b></p><p>  case 2:printf("f

34、ebruary 2");break;</p><p>  case 4:printf("april 4");break;</p><p>  case 6:printf("june 6");break;</p><p>  case 8:printf("august 8");break;</

35、p><p>  case 10:printf("october 10");break;</p><p>  case 12:printf("december 12");break;</p><p><b>  }</b></p><p>  printf("\n")

36、;</p><p>  printf(D);</p><p>  printf(6);</p><p>  printf(D);</p><p>  printf("\n");</p><p>  for(j=0;j<6;j++)</p><p><b>  

37、{if(j==0)</b></p><p>  {print(d*4);</p><p>  for(k=0;k<7-d;k++)</p><p>  printf("%4d",++m);</p><p><b>  print(6);</b></p><p>

38、;  d=d+a[i]%7;</p><p><b>  d%=7;</b></p><p>  print(d*4);</p><p>  for(k=0;k<7-d;k++)</p><p>  printf("%4d",++n);</p><p>  printf(

39、"\n");</p><p><b>  }</b></p><p><b>  else</b></p><p>  { for(k=0;k<7;k++)</p><p><b>  {</b></p><p>  if(m&

40、lt;a[i])</p><p>  printf("%4d",++m);</p><p><b>  print(4);</b></p><p>  if(m==a[i])</p><p><b>  f1=1;</b></p><p><b>

41、;  }</b></p><p><b>  print(6);</b></p><p>  for(k=0;k<7;k++)</p><p><b>  {</b></p><p>  if(n<a[i+1])</p><p>  printf(&q

42、uot;%4d",++n);</p><p><b>  else</b></p><p><b>  print(4);</b></p><p>  if(n==a[i+1])</p><p><b>  f2=1;</b></p><p>

43、<b>  }</b></p><p>  printf("\n");</p><p>  if(f1&&f2)</p><p><b>  break;</b></p><p><b>  }</b></p><p>

44、;<b>  }</b></p><p>  d=d+a[i+1]%7;</p><p><b>  d%=7;</b></p><p>  printf(" ");</p><p>  for(k=0;k<27;k++)</p><p>  pri

45、ntf("=");</p><p><b>  print(7);</b></p><p>  for(k=0;k<27;k++)</p><p>  printf("=");</p><p>  printf("\n");</p><

46、p><b>  if(i==5)</b></p><p><b>  {</b></p><p><b>  getch();</b></p><p><b>  clrscr();</b></p><p><b>  }</b>

47、;</p><p><b>  }</b></p><p><b>  getch();</b></p><p><b>  }</b></p><p>  該函數(shù)將每年的日歷分為兩屏顯示,每屏顯示6個(gè)月,在這個(gè)函數(shù)中,變量m,n分別為同一行上兩個(gè)月的日期,利用累加實(shí)現(xiàn)。變量d

48、用來(lái)記錄每個(gè)月第一天是星期幾,通過(guò)它確定每個(gè)月顯示的位置。</p><p> ?。?)顯示每個(gè)月的日歷:</p><p>  void onemonth()</p><p>  { int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};</p><p>  int i,j,k,m,flag,yea

49、r,month,d;</p><p><b>  clrscr();</b></p><p>  printf("qing shu ru nian fen he yue fen\n");</p><p>  scanf("%d%d",&year,&month);</p>&l

50、t;p>  printf("\nthe calendar of %d\n",year);</p><p>  switch(month)</p><p>  {case 1:printf("january 1\n");break;</p><p>  case 2:printf("february 2\n&qu

51、ot;);break;</p><p>  case 3:printf("march 3\n");break;</p><p>  case 4:printf("april 4\n");break;</p><p>  case 5:printf("may 5\n");break;</p>&

52、lt;p>  case 6:printf("june 6\n");break;</p><p>  case 7:printf("july 7\n");break;</p><p>  case 8:printf("august 8\n");break;</p><p>  case 9:printf

53、("septrmber 9\n");break;</p><p>  case 10:printf("october 10\n");break;</p><p>  case 11:printf("november 11\n");break;</p><p>  case 12:printf("d

54、ecember 12\n");break;</p><p><b>  }</b></p><p>  printf(D);</p><p>  printf("\n\n");</p><p>  d=day(year);</p><p>  if(isleap(ye

55、ar))</p><p><b>  a[2]++;</b></p><p>  for(i=1;i<month;i++)</p><p><b>  {</b></p><p>  d+=a[i]%7;</p><p><b>  d%=7;</b&g

56、t;</p><p><b>  }</b></p><p><b>  m=flag=0;</b></p><p>  for(i=0;i<6;i++)</p><p><b>  {</b></p><p><b>  if(i==0

57、)</b></p><p><b>  {</b></p><p>  print(4*d);</p><p>  for(j=0;j<7-d;j++)</p><p>  printf("%4d",++m);</p><p>  printf("\

58、n");</p><p><b>  }</b></p><p><b>  else</b></p><p>  {for(j=0;j<7;j++)</p><p>  if(m<a[month])</p><p>  printf("%4d

59、",++m);</p><p><b>  else</b></p><p><b>  flag=1;</b></p><p>  printf("\n");</p><p><b>  if(flag)</b></p><p

60、><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  printf(" ");</p><p>  for(k=0;k<27;k++)</p><

61、;p>  printf("=");</p><p>  printf("\n");</p><p><b>  getch();</b></p><p><b>  }</b></p><p>  (4)輸入年月日,計(jì)算出這天是星期幾:</p>

62、;<p>  void oneday()</p><p>  { int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};</p><p>  int i,year,month,dday,d;</p><p><b>  clrscr();</b></p><p&g

63、t;  printf("qing shu ru nian yue ri\n");</p><p>  scanf("%d%d%d",&year,&month,&dday);</p><p>  printf("ni shu ru de nian yue ri shi %d. %d. %d. ",year

64、,month,dday);</p><p>  d=day(year);</p><p>  if(isleap(year))</p><p><b>  a[2]++;</b></p><p>  for(i=1;i<month;i++)</p><p><b>  {</

65、b></p><p>  d+=a[i]%7;</p><p><b>  d%=7;</b></p><p><b>  }</b></p><p>  d+=(dday-1)%7;</p><p><b>  d%=7;</b></p&g

66、t;<p><b>  switch(d)</b></p><p>  { case 0:printf("sunday.\n");break;</p><p>  case 1:printf("monday.\n");break;</p><p>  case 2:printf("

67、tuesday.\n");break;</p><p>  case 3:printf("wednesday.\n");break;</p><p>  case 4:printf("thursday.\n");break;</p><p>  case 5:printf("friday.\n")

68、;break;</p><p>  case 6:printf("saturday.\n");break;</p><p><b>  }</b></p><p><b>  getch();</b></p><p><b>  }</b></p>

69、;<p>  該函數(shù)中首先要確定該年的第一天的星期數(shù),而后對(duì)應(yīng)月份第一天的星期數(shù),再計(jì)算出該天的星期數(shù),最后輸出結(jié)果。</p><p>  (5)輸入兩個(gè)年月日,計(jì)算后一個(gè)日期與前一個(gè)日期相隔多少天:</p><p><b>  void xg()</b></p><p>  {int year,month,day,n;</

70、p><p>  int sum=0,sum1=0,sum2=0,l=0,i,j,k,y,y1,m1,d1,</p><p>  a[12]={31,28,31,30,31,30,31,31,30,31,30,31};</p><p>  int b[12]={31,29,31,30,31,30,31,31,30,31,30,31};</p><p&g

71、t;<b>  clrscr();</b></p><p>  printf("please inpuut year,month,day\n");</p><p>  scanf("%d%d%d",&year,&month,&day);</p><p>  scanf("

72、%d%d%d",&y1,&m1,&d1);</p><p>  if(year<=y1)</p><p><b>  {</b></p><p>  for(y=year;y<y1;y++)</p><p>  { if(isleap(y))</p><p

73、><b>  l+=366;</b></p><p><b>  else</b></p><p><b>  l+=365;}</b></p><p>  if(isleap(year))</p><p>  for(i=1;i<month-1;i++)</

74、p><p>  sum1+=b[i];</p><p><b>  else</b></p><p>  for(i=0;i<month-1;i++)</p><p>  sum1+=a[i];</p><p>  sum1=sum1+day-1; </p><p>  

75、/* 注:sum1=sum1+day-1;由于計(jì)算機(jī)是從0開(kāi)始計(jì)算,所以天數(shù)要減1才能實(shí)現(xiàn)功能,后同*/</p><p>  if(isleap(y1))</p><p>  for(i=1;i<m1-1;i++)</p><p>  sum2+=b[i];</p><p><b>  else</b></p

76、><p>  for(i=0;i<m1-1;i++)</p><p>  sum2+=a[i];</p><p>  sum2=sum2+l+d1-1;</p><p>  sum=sum2-sum1;</p><p>  printf("%dnian %dyue %dri yu %dnian %dyue

77、%dri \nxiang ge %d tian ",year,month,day,y1,m1,d1,sum);</p><p><b>  }</b></p><p><b>  else</b></p><p>  printf("shu ru cuo wu");</p>&l

78、t;p><b>  getch();</b></p><p><b>  }</b></p><p>  該函數(shù)中先計(jì)算前一個(gè)日期的那一天到那一年的第一天有多少天(sum1),在計(jì)算后一個(gè)日期的那一天到那一年的有多少天,再加上相隔年數(shù)的天數(shù)(當(dāng)然還要考慮閏年和平年)的總和(sum2)減去前面的天數(shù),就能得到他們相隔的天數(shù)(sum),輸出最后

79、的結(jié)果。</p><p>  (6)輸入一個(gè)日期,輸出當(dāng)日的星座:</p><p><b>  void xz()</b></p><p><b>  { </b></p><p>  int month,day;</p><p><b>  clrscr();&

80、lt;/b></p><p>  printf("please input month and day:\n");</p><p>  scanf("%d%d",&month,&day);</p><p>  switch(month)</p><p><b>  {&l

81、t;/b></p><p>  case 1:if(day<=19) mojie();else shuiping();break;</p><p>  case 2:if(day<=18) shuiping();else shuangyu();break;</p><p>  case 3:if(day<=20) shuangyu();el

82、se baiyang();break;</p><p>  case 4:if(day<=19) baiyang();else jingniu();break;</p><p>  case 5:if(day<=20) jingniu();else shuangzi();break;</p><p>  case 6:if(day<=21)shua

83、ngzi();else juxie();break;</p><p>  case 7:if(day<=23)juxie();else shizi();break;</p><p>  case 8:if(day<=22) shizi();else chu();break;</p><p>  case 9:if(day<=22)chu();els

84、e tianp();break;</p><p>  case 10:if(day<=23)tianp();else tianx();break;</p><p>  case 11:if(day<=22) tianx();else sheshou();break;</p><p>  case 12:if(day<=21)sheshou();el

85、se mojie();break;</p><p>  default:printf("input error!\n");break;</p><p><b>  }</b></p><p><b>  getch();</b></p><p><b>  }</

86、b></p><p>  void baiyang()</p><p><b>  {</b></p><p>  printf("The star you look for is: 白羊座Aries \n\n\n");</p><p><b>  }</b></p

87、><p>  void jingniu()</p><p><b>  {</b></p><p>  printf("The star you look for is :金牛座Taurus \n\n\n");</p><p><b>  }</b></p><

88、p>  void shuangzi()</p><p><b>  {</b></p><p>  printf("The star you look for is :雙子座 Gemini \n\n\n");</p><p><b>  }</b></p><p>  vo

89、id juxie()</p><p><b>  {</b></p><p>  printf("The star you look for is :巨蟹座 Cancer \n\n\n");</p><p><b>  }</b></p><p>  void shizi()&l

90、t;/p><p><b>  {</b></p><p>  printf("The star you look for is :獅子座 Leo \n\n\n");</p><p><b>  }</b></p><p>  void chu()</p><p&g

91、t;<b>  {</b></p><p>  printf("The star you look for is :處女座 Virgo \n\n\n");</p><p><b>  }</b></p><p>  void tianp()</p><p><b>  

92、{</b></p><p>  printf("The star you look for is :天秤座 Libra \n\n\n");</p><p><b>  }</b></p><p>  void tianx()</p><p><b>  {</b>&l

93、t;/p><p>  printf("The star you look for is :天蝎座 Scorpio \n\n\n");</p><p><b>  }</b></p><p>  void sheshou()</p><p><b>  {</b></p>

94、<p>  printf("The star you look for is :射手座 Sagittarius \n\n\n");</p><p><b>  }</b></p><p>  void mojie()</p><p><b>  {</b></p><p&

95、gt;  printf("The star you look for is: 摩羯座 Capricornus \n\n\n");</p><p><b>  }</b></p><p>  void shuiping()</p><p><b>  {</b></p><p> 

96、 printf("The star you look for is:水瓶座 Aquarius \n\n\n");</p><p><b>  }</b></p><p>  void shuangyu()</p><p><b>  {</b></p><p>  printf(

97、"The star you look for is:雙魚座 Pisces \n\n\n");</p><p><b>  }</b></p><p>  該函數(shù)是先將你輸入的月份通過(guò)if語(yǔ)句進(jìn)行逐一的判斷,判斷它屬于哪個(gè)星座,然后調(diào)用它屬于的哪個(gè)函數(shù),再輸出那個(gè)日期所對(duì)應(yīng)的星座。</p><p> ?。?)輸入一個(gè)年份,輸出

98、該年的生肖:</p><p><b>  void sx()</b></p><p>  {char*p[12]={"long","she","ma","yang","hou",</p><p>  "ji","go

99、u","zhu","shu","niu","hu","tu"};</p><p>  int year,middle;</p><p><b>  clrscr();</b></p><p>  printf("please

100、input a year:\n");</p><p>  scanf("%d",&year);</p><p>  if(year>=2000)</p><p>  printf("jin nian shi %s nian\n",p[(year-2000)%12]);</p><p&

101、gt;<b>  else </b></p><p>  printf("jin nian shi %s nian\n",p[12-(2000-year)%12]);</p><p><b>  getch();</b></p><p><b>  }</b></p>

102、<p>  該函數(shù)中首先給定一個(gè)年份(2000年)的生肖為龍年,然后通過(guò)這個(gè)年份之后的年數(shù)和之前的年數(shù),通過(guò)計(jì)算找到相應(yīng)數(shù)組中對(duì)應(yīng)元素為該輸入年數(shù)的生肖。</p><p> ?。?)主程序(由于當(dāng)前時(shí)間要顯示在主菜單界面,為了避免清屏無(wú)法顯示,就把它的模塊實(shí)現(xiàn)在注模塊中):</p><p>  void main()</p><p><b> 

103、 {</b></p><p>  int choice,flag;</p><p>  struct tm *tmpointer;</p><p>  time_t secs;</p><p>  time(&secs);</p><p>  tmpointer=localtime(&sec

104、s);</p><p>  printf("\nxian zai shi:%d-%d-%d %d:%d:%d\n\n",tmpointer->tm_mon+1,tmpointer-></p><p>  tm_mday,tmpointer->tm_year+1900,tmpointer->tm_hour,tmpointer-></p&

105、gt;<p>  tm_min,tmpointer->tm_sec);</p><p>  /*輸出當(dāng)前的日期和時(shí)間*/</p><p><b>  while(1)</b></p><p><b>  { flag=0;</b></p><p>  printf("p

106、lease select the function(0--6):\n");</p><p>  printf("*1Display the calender of one year. *\n");</p><p>  printf("*2Display the calender of onr month.*\n");</p>

107、<p>  printf("*3Display the weekday of one day.*\n");</p><p>  printf("*4xiang ge tian shu.*\n");</p><p>  printf("*5cha xun ni de xing zuo.*\n");</p>&

108、lt;p>  printf("*6mou yi nian de sheng xiao.*\n");</p><p>  printf("*0.exit*\n");</p><p>  printf("************************\n");</p><p>  scanf("

109、;%d",&choice);</p><p>  switch(choice)</p><p>  { case 0:clrscr();</p><p>  printf("thank you for use this software.\n");</p><p>  printf("welco

110、me to use it again\n");</p><p>  flag=1;break;</p><p>  case 1:oneyear();break;</p><p>  case 2:onemonth();break;</p><p>  case 3:oneday();break;</p><p&

111、gt;  case 4:xg();break;</p><p>  case 5:xz();break;</p><p>  case 6:sx();break;</p><p>  default:printf("you choice wrong,please input again.\n");</p><p><

112、b>  getch();</b></p><p><b>  }</b></p><p><b>  if(flag)</b></p><p><b>  break;</b></p><p><b>  }</b></p>

113、<p><b>  }</b></p><p>  該函數(shù)先引用頭文件,再獲取系統(tǒng)的當(dāng)前的時(shí)間和日期,然后將他們打印出來(lái),再執(zhí)行下面的函數(shù)調(diào)用,輸入不同的數(shù)字,實(shí)現(xiàn)不同的數(shù)字功能,菜單循環(huán)顯示,用戶可以一直使用,知道選擇功能鍵“0”,退出程序[2]。</p><p><b>  八、運(yùn)行結(jié)果</b></p><p&

114、gt;<b>  運(yùn)行后的主界面:</b></p><p>  我們可以看到當(dāng)前時(shí)間是2013年6月21日,14:0:30</p><p>  再根據(jù)提示輸入相應(yīng)的數(shù)字(0--6);</p><p><b>  (1)輸入1:</b></p><p>  在主界面輸入1后就到下一界面,再輸入年號(hào),則

115、輸出該年的日歷</p><p><b>  注:</b></p><p>  由于界面原因,無(wú)法全面觀看整年的日歷</p><p><b> ?。?)輸入2</b></p><p>  在主界面輸入2后就到下一界面,再輸入年份和月份,如:輸入2013 6 則輸出:</p><p&

116、gt;<b>  (3)輸入3</b></p><p>  在主界面輸入3后就到下一界面,再輸入年份和月份和日期,如:2013 6 12</p><p><b>  則輸出:</b></p><p><b>  (4)輸入4</b></p><p>  在主界面輸入4后就到下一

117、界面,再輸入你要計(jì)算的兩個(gè)日期,如我是1994 7 12出生的,今天是2013 6 13則輸出:</p><p>  (根據(jù)計(jì)算我才知道我到今天一共活了6911天)</p><p><b> ?。?)輸入5</b></p><p>  在主界面輸入5后就到下一界面,再輸入日期,如輸入7月12日:</p><p><

118、b>  則輸出巨蟹座</b></p><p><b> ?。?)輸入6</b></p><p>  在主界面輸入6后就到下一界面,再輸入年份,如今年是2013年是蛇年則輸出:</p><p> ?。?)輸入0程序結(jié)束;</p><p><b>  九、心得與體會(huì)</b></p

119、><p> ?。?)通過(guò)本次對(duì)C語(yǔ)言的學(xué)習(xí)深入學(xué)習(xí),讓我對(duì)c語(yǔ)言有了更多的了解并掌握了更多的知識(shí),成功的運(yùn)用各類函數(shù)、循環(huán)變量、結(jié)構(gòu)化的程序設(shè)計(jì),以及結(jié)構(gòu)體、指針的使用。</p><p> ?。?)但是在學(xué)習(xí)中發(fā)現(xiàn),編程確實(shí)不是很好做的,并非你想要就能完成的,他需要的是認(rèn)真、仔細(xì)的對(duì)待每一個(gè)程序塊,特別是對(duì)指針的使用時(shí)更加困難,那些指針指來(lái)指去,一不小心就會(huì)看錯(cuò),那樣一整個(gè)程序都編譯不出來(lái)。&

120、lt;/p><p> ?。?)由于學(xué)生的我知識(shí)程度大一而已,沒(méi)能夠更完美的把程序做出來(lái),而且程序中有許多不足之處不能夠正確的改正,但總體上還是可以運(yùn)行的,希望看到的人能夠批評(píng)指正。</p><p><b>  十、參考文獻(xiàn)</b></p><p>  [1] 明日科技編著,《C語(yǔ)言程序開(kāi)發(fā)范例寶典》,人民郵電大學(xué)出版社</p><

溫馨提示

  • 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論