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

下載本文檔

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

文檔簡介

1、<p><b>  綜合性程序設(shè)計報告</b></p><p>  設(shè)計題目:____萬年歷_____</p><p>  指導(dǎo)教師: ____ _______</p><p>  班 級: __________</p><p>  學(xué) 號: ______</p><p>

2、  設(shè) 計 者: __________</p><p>  成 績: _______________</p><p>  設(shè)計時間: 2012年 5 月 1 日</p><p><b>  一、設(shè)計說明簡介:</b></p><p>  用于利用計算機實現(xiàn)萬年歷功能,包括日期對星期的轉(zhuǎn)換,根據(jù)指定日期對N天后是什

3、么日期的計算。和顯示當(dāng)前日期,紀(jì)念日提醒等功能。總體結(jié)構(gòu)采取模塊化方式進(jìn)行程序設(shè)計,要求程序的功能設(shè)計,數(shù)據(jù)結(jié)構(gòu)設(shè)計及整體結(jié)構(gòu)設(shè)計合理。</p><p>  系統(tǒng)以菜單界面方式工作,運行界面友好。</p><p>  主要功能:?        日期推算?     &

4、#160;  日期顯示?        紀(jì)念日提醒</p><p>  二、對變量、結(jié)構(gòu)體及函數(shù)的說明:</p><p><b>  1、對變量的說明:</b></p><p>  choose(m) 選擇菜單</p><p&g

5、t;  month() 月份</p><p>  day() 日</p><p>  year() 年</p><p>  leap() 閏年</p><p>  firstday() 每個月開始的第一天</p><p>  time()

6、 當(dāng)前時間</p><p>  2、對結(jié)構(gòu)體的說明:</p><p>  date {int month;</p><p>  int day; 定義一個結(jié)構(gòu)體,專門用來記錄紀(jì)念日日期</p><p>  int year;} ;</p><p><b>  

7、3、對函數(shù)的說明:</b></p><p>  jinianritixing() 定義jinianritixing()函數(shù)用來進(jìn)行紀(jì)念日提醒</p><p>  shuchuxianshi()定義shuchuxinshi ()函數(shù)用來顯示輸入的紀(jì)念日的內(nèi)容</p><p>  4、算法設(shè)計的說明:</p><p>  利用tim

8、e.h里的函數(shù)調(diào)用系統(tǒng)函數(shù)。</p><p>  使用switch來進(jìn)行菜單的選擇</p><p>  具體功能通過函數(shù)寫好,在主函數(shù)中調(diào)用即可</p><p>  三、樹形結(jié)構(gòu)模塊圖:</p><p>  四、程序的使用說明:</p><p><b>  系統(tǒng)功能說明:</b></p>

9、;<p>  這是系統(tǒng)主界面,展現(xiàn)在我們眼前的有四個選擇。下面我來詳細(xì)介紹系統(tǒng)的使用和功能。</p><p>  1、功能1:進(jìn)入日期推算功能,系統(tǒng)會讓你輸入想要查詢?nèi)掌诘脑路莺湍攴荩?lt;/p><p>  依次輸入月份和年份,界面顯示如下:</p><p>  根據(jù)顯示出來的月歷,就可以查詢具體日期對應(yīng)的星期了。</p><p>

10、;  功能一使用完畢后,系統(tǒng)將自動回到主界面:</p><p>  2、功能2:選項2進(jìn)入顯示當(dāng)前時間功能。系統(tǒng)會自動輸出現(xiàn)在的時間:</p><p>  功能二顯示完畢后,系統(tǒng)自動回到主界面。</p><p>  3、功能3:進(jìn)入紀(jì)念日的輸入功能。系統(tǒng)會讓你輸入紀(jì)念的內(nèi)容和時間:</p><p>  信息輸入完畢。系統(tǒng)自動回到主界面。<

11、;/p><p>  4、功能四:紀(jì)念日查詢功能。系統(tǒng)會自動輸出紀(jì)念日的內(nèi)容。</p><p><b>  五、程序內(nèi)容:</b></p><p>  #include <stdio.h></p><p>  #include <time.h> </p><p>  int ch

12、oose(m) //選擇菜單</p><p><b>  {</b></p><p><b>  int i;</b></p><p>  printf("\t\t\t\t萬年歷\n");</p><p>  for(i=0;i<80;i++) printf(&quo

13、t;*");</p><p>  printf("\t\t1日期推算\t\t\t\n\t\t2顯示當(dāng)前時間\t\t\t\n\t\t3輸入紀(jì)念日內(nèi)容\n\t\t4紀(jì)念日內(nèi)容顯示\n");</p><p>  for(i=0;i<80;i++) printf("*");</p><p>  printf("

14、;歡迎進(jìn)入萬年歷系統(tǒng),請選擇您所要的操作(選擇(0)退出):\n");</p><p>  scanf("%d",&m);</p><p>  return (m);</p><p><b>  }</b></p><p>  struct date {int month;</

15、p><p>  int day; //定義一個結(jié)構(gòu)體,專門用來記錄紀(jì)念日日期</p><p>  int year;} me;</p><p>  char string[20]; //聲明全局適用的字符串?dāng)?shù)組用來存放要紀(jì)念的事件,大小不超過十個字節(jié)</p><p>  int jinianritixin

16、g()</p><p><b>  { </b></p><p><b>  int i;</b></p><p>  for(i=0;i<30;i++) printf("-");</p><p>  printf("\n\n\t\t請輸入紀(jì)念日的內(nèi)容!\n&qu

17、ot;); //定義jinianritixing()函數(shù)用來進(jìn)行紀(jì)念日提醒</p><p>  scanf("%s",string);</p><p>  printf("\n\n\t\t請輸入紀(jì)念日的時間,年****、月**、日**!\n");</p><p>  scanf("%d%d%d",&

18、amp;me.year,&me.month,&me.day);</p><p><b>  }</b></p><p>  int shuchuxianshi()</p><p>  { int i; //定義shuchuxinshi()函數(shù)用來顯示輸入的紀(jì)念日的內(nèi)容</p&

19、gt;<p>  for(i=0;i<30;i++) printf("-");</p><p>  printf("\n\n\t\t你的紀(jì)念日的內(nèi)容為:\n");</p><p>  printf("\t%s\n",string);</p><p>  printf("%d%d

20、%d",me.year,me.month,me.day);</p><p>  for(i=0;i<30;i++) printf("-");</p><p><b>  }</b></p><p>  int leap (int year) </p><p>  {if(year%4=

21、=0&&year%100!=0||year%400==0) //判斷是否是閏年 </p><p>  return 1; </p><p>  else return 0; } </p><p>  int days_month (int month,int year) //判斷大月和小月</p><p>  { if(mon

22、th==1||month==3||month==5||month==7||month==8||month==10||month==12) //找出大月 </p><p>  return 31; </p><p>  if(month==4||month==6||month==9||month==11) //找出小月 </p><p>  return 30; &l

23、t;/p><p>  if(month==2&&leap(year)==1) </p><p>  return 29; //判斷二月是29天還是29天 </p><p>  else return 28; } </p><p>  int firstday(int month,int year) </p><

24、p><b>  {int w; </b></p><p>  w=(1+2*month+3*(month+1)/5+year+year/4+year/400-year/100)%7+1; //判斷每個月開始的第一天是星期幾 </p><p>  return w; } </p><p><b>  main()</b>

25、;</p><p>  { int i,j=1,k=1,a,b,month,year;</p><p><b>  int m;</b></p><p>  printf("\t\t\t\t萬年歷系統(tǒng)\n\t\t\t\n\t-------東北大學(xué)秦皇島分校計算機與通信工程學(xué)院羅丹(4101630)\n"); </p&g

26、t;<p><b>  while(1)</b></p><p><b>  {</b></p><p>  m=choose(m);</p><p>  switch(m) // 利用switch來選取主菜單</p><p><b>  { </b>

27、</p><p><b>  case 1:</b></p><p>  printf("\n 請輸入月**和年****:\n");</p><p>  scanf("%d%d",&month,&year);</p><p>  //leap(year);</

28、p><p>  b=days_month(month,year);</p><p>  a=firstday (month,year); </p><p>  printf(" Sun Mon Tue Wed Thu Fri Sat \n"); //輸出對應(yīng)當(dāng)月的日歷</p><p>  if(a==7) {for(i=1;

29、i<=b;i++) </p><p>  { printf("%4d",i); </p><p>  if(i%7==0) {printf("\n"); } </p><p><b>  } </b></p><p><b>  } </b></

30、p><p><b>  if(a!=7)</b></p><p>  {while (j<=4*a) </p><p>  {printf(" "); j++; } </p><p>  for(i=1;i<=b;i++) </p><p>  {printf(&quo

31、t;%4d",i); </p><p>  if(i==7*k-a) </p><p>  {printf("\n"); k++; } } }</p><p><b>  break;</b></p><p>  case 3:jinianritixing(); //調(diào)用函數(shù)</p&g

32、t;<p><b>  break;</b></p><p>  case 2:{time_t lt; </p><p>  lt = time(NULL); </p><p>  printf("現(xiàn)在的時間是:%s\n", ctime(& lt)); //完成顯示當(dāng)前日期功能</p>

33、<p><b>  }</b></p><p><b>  break;</b></p><p>  case 4: shuchuxianshi(); //調(diào)用函數(shù)</p><p><b>  break;</b></p><p>  default:return

34、 0;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  六、設(shè)計體會:</b></p><p>  在C語言結(jié)課的這次綜合性設(shè)計實驗

35、中,我拿到的題目是設(shè)計一個編程題萬年歷,閱讀系列要求,感覺肯定要用文件操作的一些知識來做這個系統(tǒng),所以自己先在網(wǎng)上補習(xí)增加了一些文件操作的應(yīng)用知識,其中包括一些常用函數(shù)的用法和文件操作的應(yīng)用程序。然后就是將近一天的系統(tǒng)基本框架的構(gòu)建,寫在一張紙上,為寫代碼做好基本的鋪墊。</p><p>  在系統(tǒng)代碼的構(gòu)建中,自己遇到了很多的問題,但在網(wǎng)上看一些提問,也都被解決了,自己也收獲了很多東西。例如文件操作中feof(

36、)函數(shù)標(biāo)志文件結(jié)束返回1值并不是在文件讀到末尾處就返回的,而是還要再往后讀一個字節(jié),這個就像’\0’那樣,程序默認(rèn)添加的;還有在.txt文本文件中,一般通過窗口輸入一個數(shù)字,它所占的空間為1個字節(jié),是一個char型數(shù)值(這個可困擾了我好半天才知道的),并不是一個int型;還有那些關(guān)于文件操作的打開方式(a+,r,w+等等)、文件操作函數(shù)(fread、fwrite、fprint、fscanf、fputc、fgets等等)在應(yīng)用中的從生疏到

37、熟練的變化。自己在面對這些問題的時候開始確實有很多的難點,自己只有硬著頭皮在網(wǎng)上看一些人們的問題,但每解決一個問題,自己對這些代碼的看法也就有了新的認(rèn)識,尤其是在調(diào)程序的時候,發(fā)現(xiàn)程序中的錯誤地方的速度也越來越快,這對我來說真的是一個最大最大的收獲。</p><p>  總的來說,在這次課程設(shè)計的完成過程中,自己對總認(rèn)為C語言中很生疏的文件操作那塊知識做了很好的學(xué)習(xí)與實踐操作,現(xiàn)在基本上算是熟練掌握了,嘿嘿,真是

溫馨提示

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

評論

0/150

提交評論