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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  課 程 設 計</p><p>  設計課程名稱: C語言課程設計 </p><p>  題 目: 進制轉換 </p><p>  學 生 姓 名:

2、 </p><p>  設計時間: 2011 年 9 月 8 日 2011 年 9 月 20 日</p><p><b>  1意義及功能5</b></p><p><b>  1.1意義:5</b></p><p><b

3、>  1.2功能:5</b></p><p>  2功能結構圖:6</p><p><b>  2.1結構圖6</b></p><p><b>  2.2流程圖7</b></p><p><b>  3各功能介紹8</b></p>

4、;<p>  3.1十變二功能8</p><p>  3.2十變十六功能8</p><p>  3.3二變十功能8</p><p>  3.4十六變十功能8</p><p>  3.5退出功能9</p><p><b>  4調試運行9</b></p&g

5、t;<p><b>  4.1主界面9</b></p><p>  4.2十進制轉換為二進制10</p><p>  4.3十進制轉換為十六進制10</p><p>  4.4二進制轉換為十進制10</p><p>  4.5十六進制轉換為十進制11</p><p&g

6、t;<b>  5系統說明12</b></p><p>  5.1十進制轉換為二進制使用說明12</p><p>  5.2十進制轉換為十六進制使用說明12</p><p>  5.3二進制轉換為十進制使用說明12</p><p>  5.4十六進制轉換為十進制使用說明12</p>&l

7、t;p>  6源程序代碼12</p><p><b>  7心得體會16</b></p><p><b>  8日志16</b></p><p><b>  9參考文獻17</b></p><p><b>  意義及功能</b><

8、;/p><p><b>  意義:</b></p><p>  加強學生對節省計算的時間,方便使用者快速、簡潔得到答案。</p><p><b>  功能:</b></p><p>  1、能將十進制轉換為二進制</p><p>  2、能將十進制轉換為十六進制</p>

9、;<p>  3、能將二進制轉換為十進制</p><p>  4、能將十六進制轉換為十進制</p><p><b>  功能結構圖:</b></p><p><b>  結構圖</b></p><p><b>  流程圖</b></p><p&

10、gt;<b>  各功能介紹</b></p><p><b>  十變二功能</b></p><p>  主界面輸入1后回車,調用input()函數,調用輸入函數#include "stdio.h",輸入十進制數,將十進制數用短除法初以2,能整除返回0,若不能整除返回二,將結果保存到一個數組中,調用輸出函數#include &

11、quot;stdio.h"函數將數組元素逆序輸出,并運算結果保存在“十變二”.out文件中,所得結果即為所轉換的二進制數。</p><p><b>  十變十六功能</b></p><p>  主界面輸入2后回車,調用del()函數,調用輸入函數#include "stdio.h",輸入十進制數,用短除法處以十六,如果所除得結果的數碼為0

12、-9,則保存在一個數組中,若數碼大于9則需要將它得ASCII碼加55變成相應的字符數碼,將結果保存到數組中,調用輸出函數#include "stdio.h"最后將數組元素逆序輸出,運算結果保存在“十變十六”.out文件中,所得結果即為所轉換的十六進制數。 </p><p><b>  二變十功能</b></p><p>  主界面輸入3后回車,調用

13、arrge()函數,調用輸入函數#include "stdio.h"輸入二進制數,調用字符串函數#include”string.h”,求得輸入二進制的長度,從最低位開始用每位的ASCII碼減去0的ASCII碼,求的每位數的大小,再用一個循環每位的大小最后將每位想家,所得之和即為所要十進制數,調用輸入函數#include "stdio.h",將結果輸出,并最后將運算結果保存在“二變十”.out文件中

14、,所得結果即為所轉換的二進制數。 </p><p><b>  十六變十功能</b></p><p>  主界面輸入4后回車,調用find()函數,調用輸入函數#include "stdio.h"輸入十六進制數,調用#include”string.h”,求的所輸入十六進制數的長度,從第一位起判斷所輸入的十六進制數碼是否屬于0-9,直接用該數的ASC

15、II碼與0的ASCII碼相減,得到該數的大小,若該數的數碼不屬于0-9,用該數碼減去a的ASCII碼在加10,s=t*16n-1就可以求每位數所代表的十進制數的大小,最后將總數相加,調用輸入函數#include "stdio.h"輸十進制數,并將結果保存在“十六”.out磁盤中所得結果即為所轉換的十制數。</p><p><b>  退出功能</b></p>

16、<p>  主界面輸入5回車,退出程序。</p><p><b>  調試運行</b></p><p><b>  主界面</b></p><p>  組建后運行的主界面,該界面主要有五個功能,每個功能的實現必須從主界面進入,功能實現之后按回車鍵返回主菜單。</p><p><b&

17、gt;  十進制轉換為二進制</b></p><p>  十進制轉換為十六進制</p><p><b>  二進制轉換為十進制</b></p><p>  十六進制轉換為十進制</p><p><b>  系統說明</b></p><p>  十進制轉換為二進制使

18、用說明</p><p>  主界面輸入1,進入十變二程序界面,根據提示輸入一個十進制數,按回車即輸出所轉換的二進制數,按回車返回主菜單。</p><p>  十進制轉換為十六進制使用說明</p><p>  主界面輸入2,進入十變十六程序界面,根據提示輸入一個十進制數,按回車即輸出所轉換的十六進制數,按回車返回主菜單。</p><p>  二

19、進制轉換為十進制使用說明</p><p>  主界面輸入3,進入二變十程序界面,根據提示輸入一個二進制數,按回車即輸出所轉換的十進制數,按回車返回主菜單。</p><p>  十六進制轉換為十進制使用說明</p><p>  主界面輸入,進入十六變十程序界面,根據提示輸入一個十六進制數,按回車即輸出所轉換的十進制數,按回車返回主菜單。</p><

20、p><b>  源程序代碼</b></p><p>  // 3.cpp : Defines the entry point for the console applicatio</p><p>  #include "stdafx.h" </p><p>  #include "stdio.h"

21、 //輸入輸出函數//</p><p>  #include "stdlib.h" //動態分配存儲空間函數//</p><p>  #include "string.h"//數組與字符串轉換函數//</p><p>  void input(); //十變二模塊//</p><p>  v

22、oid del(); //十變十六模塊//</p><p>  void arrange(); //二變十模塊//</p><p>  void find(); //十六變十模塊//</p><p>  void main() //主函數//</p><p><b>  {</b></p&g

23、t;<p><b>  char c;</b></p><p><b>  int i;</b></p><p><b>  do</b></p><p><b>  {</b></p><p>  system("cls"

24、;); //清屏//</p><p>  printf("\n"); //輸出主界面//</p><p>  printf("\n");</p><p>  for(i=0;i<36;i++)</p>&l

25、t;p>  printf("*");</p><p>  printf("進制轉換"); </p><p>  for(i=0;i<36;i++)</p><p>  printf("*");</p><p>  printf("\n");</p

26、><p>  printf(" 1:十進制轉換為二進制 \n");</p><p>  printf(" 2:十進制轉換為十六進制 \n"); </p><p>  printf("

27、 3:二進制轉換為十進制 \n");</p><p>  printf(" 4:十六進制轉換為十進制 \n");</p><p>  printf(" 5:退出

28、 \n");</p><p>  printf(" 請選擇輸入項[1\\2\\3\\4\\5] \n");</p><p>  printf("\n");</p><p><b>  do</b></p><p>

29、;<b>  {</b></p><p>  for(i=0;i<80;i++)</p><p>  printf("*");</p><p>  printf("請選擇您想轉換的類型:");</p><p>  c=getchar();</p><p&g

30、t;  }while(c!='1'&&c!='2'&&c!='3'&&c!='4'&&c!='5');</p><p>  getchar(); //吃掉上一部的回車鍵//</p><p

31、>  switch(c) //選擇想要轉換的類型//</p><p><b>  {</b></p><p>  case'1':input();break;</p><p>  case'2':del();break;</p>

32、<p>  case'3':find();break;</p><p>  case'4':arrange();break;</p><p>  case'5':exit(0);</p><p><b>  }</b></p><p>  printf(&quo

33、t;按回車鍵返回主菜單:\n");</p><p>  getchar();</p><p>  system("cls"); //清屏//</p><p>  }while(1);</p><p><b>  }</b></p&g

34、t;<p>  void input()</p><p><b>  {</b></p><p>  FILE*fp; //定義文件指針//</p><p>  int a=0,i,k,n;</p><p>  int b[32];

35、 </p><p>  fp=fopen("十變二.out","w"); //已只寫的方式打開"十變二.out"文件//</p><p>  system("cls"); //清屏//</p&

36、gt;<p>  printf("輸入十進制數:\n");</p><p>  scanf("%d",&i);</p><p>  printf("轉換為二進制數:\n");</p><p>  if(i==0) printf("0");</p>&l

37、t;p>  while(i>0)</p><p><b>  {</b></p><p>  k=i%2; //對輸入的數取模//</p><p><b>  b[a++]=k;</b></p><p><b>  i=i

38、/2;</b></p><p><b>  }</b></p><p><b>  n=a;</b></p><p>  while(a>0)</p><p><b>  {</b></p><p>  printf("%d&

39、quot;,b[--a]); //結果逆序輸出//</p><p><b>  }</b></p><p>  if(i<0)printf("error");</p><p>  getchar();</p><p>  while(n>0)</p>

40、<p><b>  {</b></p><p>  fprintf(fp,"%d",b[--n]); //將結果寫到磁盤文件中//</p><p><b>  }</b></p><p>  fclose(fp); //關

41、閉文件指針//</p><p><b>  }</b></p><p>  void del()</p><p><b>  {</b></p><p><b>  FILE*fp;</b></p><p>  int i=0,j,n;</p>

42、;<p>  int b[8]; //存放輸入的十六進制數//</p><p>  char a[16]; //保存所得結果//</p><p>  fp=fopen("十變十六.out","w"); //已只寫的方式打開&qu

43、ot;十變十六.out"文件//</p><p>  system("cls");</p><p>  printf("輸入十進制數:\n");</p><p>  scanf("%d",&n);</p><p><b>  while(n)</b&

44、gt;</p><p><b>  {</b></p><p>  b[i]=n%16; //取模//</p><p>  n/=16; //取整//</p><p><b>  i++;

45、</b></p><p><b>  }</b></p><p>  printf("十六進制數為:\n");</p><p>  for(j=0;j<i;j++)</p><p><b>  {</b></p><p>  if(b[j

46、]>9) //判斷出得數的范圍//</p><p><b>  {</b></p><p>  b[j]=b[j]+55;a[j]=b[j]; //將結果ASCII換成字母//</p><p><b>  }</b></p><p>

47、  else a[j]=b[j]+48; //將結果ASCII換成數字//</p><p><b>  }</b></p><p>  for(j=i-1;j>=0;j--) //結果逆序輸出//</p><p>  printf("%c",a[j]);&

48、lt;/p><p>  getchar();</p><p>  for(j=i-1;j>=0;j--) //結果保存到磁盤文件中//</p><p><b>  {</b></p><p>  fprintf(fp,"%c",a[j]);}</p>

49、<p>  fclose(fp); //關閉文件//</p><p><b>  }</b></p><p>  void find()</p><p><b>  {</b></p><p><b>  FILE*fp;<

50、;/b></p><p>  int i,t,n,sum=0;</p><p>  char s[50];</p><p>  fp=fopen("二變十.out","w"); //已只寫的方式打開"二變十.out"文件//</p><p>  system(&quo

51、t;cls");</p><p>  printf("輸入二進制數:\n");</p><p><b>  gets(s);</b></p><p>  n=strlen(s); //計算輸入二進制數的長度//</p><p>  for(i=0;i<

52、;n;i++)</p><p><b>  {</b></p><p>  t=s[i]-'0';</p><p>  sum=sum*2+t;</p><p><b>  }</b></p><p>  printf("十進制數為:\n%d&quo

53、t;,sum);</p><p>  fprintf(fp,"該二進制轉換的十進制為%d",sum);</p><p>  getchar();</p><p>  fclose(fp);</p><p><b>  }</b></p><p>  void arrange()

54、</p><p><b>  {</b></p><p><b>  FILE *fp;</b></p><p>  int i,t,n,sum=0;</p><p>  char s[50];</p><p>  fp=fopen("十六變十.out",

55、"w");</p><p>  system("cls");</p><p>  printf("輸入十六進制數:\n");</p><p>  scanf("%s",s);</p><p>  n=strlen(s);</p><p> 

56、 for(i=0;i<n;i++)</p><p><b>  {</b></p><p>  if(s[i]<='9') t=s[i]-'0';</p><p>  else t=s[i]-'a'+10;</p><p>  sum=sum*16+t;<

57、;/p><p><b>  }</b></p><p>  printf("十進制數為:\n%d",sum);</p><p>  fprintf(fp,"該十六進制轉換的十進制為%d",sum);</p><p>  getchar();</p><p>  

58、fclose(fp);</p><p><b>  }</b></p><p><b>  心得體會</b></p><p>  這幾個禮拜的課程設計使我收獲很多,尤其是在解決一個問題方面,老師交給我們的不僅僅是只是,更是解決問題的能力,從問題的分析、尋找解題思路、查閱資料尋找解題方法到最后的解決問題,這些都是對我們能力的

59、鍛煉。我們在完成一個程序的同時不僅需要扎實的C語言基礎,還要有熟練的上機操作能力,從排版到制作流程圖,我們還要對word的基本操作有一定的了解,還有當我遇到一些難題的時候一個人解決不了我們就需要學會合作,學會請教別人,單靠一個人的力量是很難完場一件事的,我們必須要有團隊合作意識。不論題目有多難,只要我們努力去做了,而不是敷衍了事,我們就一定可以順利完成!</p><p><b>  日志</b&g

60、t;</p><p><b>  9.8</b></p><p>  剛剛拿到課程設計的題目,看了好久,發現跟書上的題目相差很遠,有些知識都是沒有教過的,毫無頭緒。</p><p><b>  9.9</b></p><p>  聽老師給我們講解了一個例子之后,對一個解題過程有了大致的了解</

61、p><p><b>  9.12</b></p><p>  查閱了很多資料后對這個程序有了一定的了解,基本確定了大致思路,具體算法設計還是不會做</p><p><b>  9.13</b></p><p>  根據我之前的思路,在查閱了一定的資料以及請教了許多同學之后我終于做好了第一個項目“十進制轉

62、換成二進制”,心情有點激動</p><p><b>  9.14</b></p><p>  發現第一個功能其實跟第二個差不多,順藤摸瓜的把第二個“十進制轉換為十六進制”做出來了</p><p><b>  9.15</b></p><p>  繼續查找資料,努力思考剩下兩個程序</p>

63、<p><b>  9.18</b></p><p>  經過幾天的努力摸索,整個程序基本被我摸索出來了,剩下的就是逐步完善整個程序了</p><p><b>  9.19</b></p><p>  晚自習老師給我們講解了一下課程設計的格式要求,看了一段關于文檔排版視頻之后,大致明白了課程設計報告怎么做&l

64、t;/p><p><b>  9.20</b></p><p>  做課程設計報告,把文檔排版號,畫好流程圖</p><p><b>  9.21</b></p><p>  檢查和完善程序,準備答辯</p><p><b>  參考文獻</b></p

65、><p>  [1]H.M.Deitel P.J.Deitel.,C程序設計教程。北京: 機械工程出版社,2000.7</p><p>  [2]譚浩強.c程序設計.第三版.北京:清華大學出版社,2005年</p><p>  [3]蘇小紅.C語言程序設計教程。北京:電子工業出版社,2002年</p><p>  [4] 向艷 , C

66、語言程序設計 清華大學出版社,2008.9</p><p>  [5] 袁啟昌, C++語言程序設計 北京 機械工程出版社,200.7 </p><p>  [6]譚浩強.c程序設計.第三版.北京:清華大學出版社,2005年</p><p>  [7] Robert B. Murry, C++ Strategies and Tactics, Addison

67、-Wesley, 1993</p><p>  [8]王松編著.VisualC++6.0程序設計與開發指南。北京:高等教與出版設,1999</p><p>  [9] 沈孟濤 計算機信息技術基礎 北京: 機械工程出版社,2000.7</p><p>  [10] 白康生 vb程序設計學習和實驗指導 北京: 機械工程出版社,2000.7</p

溫馨提示

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

評論

0/150

提交評論