版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 課 程 設(shè) 計(jì)</p><p> 設(shè)計(jì)課程名稱: C語(yǔ)言課程設(shè)計(jì) </p><p> 題 目: 進(jìn)制轉(zhuǎn)換 </p><p> 學(xué) 生 姓 名:
2、 </p><p> 設(shè)計(jì)時(shí)間: 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功能結(jié)構(gòu)圖:6</p><p><b> 2.1結(jié)構(gòu)圖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調(diào)試運(yùn)行9</b></p&g
5、t;<p><b> 4.1主界面9</b></p><p> 4.2十進(jìn)制轉(zhuǎn)換為二進(jìn)制10</p><p> 4.3十進(jìn)制轉(zhuǎn)換為十六進(jìn)制10</p><p> 4.4二進(jìn)制轉(zhuǎn)換為十進(jìn)制10</p><p> 4.5十六進(jìn)制轉(zhuǎn)換為十進(jìn)制11</p><p&g
6、t;<b> 5系統(tǒng)說明12</b></p><p> 5.1十進(jìn)制轉(zhuǎn)換為二進(jìn)制使用說明12</p><p> 5.2十進(jìn)制轉(zhuǎn)換為十六進(jìn)制使用說明12</p><p> 5.3二進(jìn)制轉(zhuǎn)換為十進(jìn)制使用說明12</p><p> 5.4十六進(jìn)制轉(zhuǎn)換為十進(jìn)制使用說明12</p>&l
7、t;p> 6源程序代碼12</p><p><b> 7心得體會(huì)16</b></p><p><b> 8日志16</b></p><p><b> 9參考文獻(xiàn)17</b></p><p><b> 意義及功能</b><
8、;/p><p><b> 意義:</b></p><p> 加強(qiáng)學(xué)生對(duì)節(jié)省計(jì)算的時(shí)間,方便使用者快速、簡(jiǎn)潔得到答案。</p><p><b> 功能:</b></p><p> 1、能將十進(jìn)制轉(zhuǎn)換為二進(jìn)制</p><p> 2、能將十進(jìn)制轉(zhuǎn)換為十六進(jìn)制</p>
9、;<p> 3、能將二進(jìn)制轉(zhuǎn)換為十進(jìn)制</p><p> 4、能將十六進(jìn)制轉(zhuǎn)換為十進(jìn)制</p><p><b> 功能結(jié)構(gòu)圖:</b></p><p><b> 結(jié)構(gòu)圖</b></p><p><b> 流程圖</b></p><p&
10、gt;<b> 各功能介紹</b></p><p><b> 十變二功能</b></p><p> 主界面輸入1后回車,調(diào)用input()函數(shù),調(diào)用輸入函數(shù)#include "stdio.h",輸入十進(jìn)制數(shù),將十進(jìn)制數(shù)用短除法初以2,能整除返回0,若不能整除返回二,將結(jié)果保存到一個(gè)數(shù)組中,調(diào)用輸出函數(shù)#include &
11、quot;stdio.h"函數(shù)將數(shù)組元素逆序輸出,并運(yùn)算結(jié)果保存在“十變二”.out文件中,所得結(jié)果即為所轉(zhuǎn)換的二進(jìn)制數(shù)。</p><p><b> 十變十六功能</b></p><p> 主界面輸入2后回車,調(diào)用del()函數(shù),調(diào)用輸入函數(shù)#include "stdio.h",輸入十進(jìn)制數(shù),用短除法處以十六,如果所除得結(jié)果的數(shù)碼為0
12、-9,則保存在一個(gè)數(shù)組中,若數(shù)碼大于9則需要將它得ASCII碼加55變成相應(yīng)的字符數(shù)碼,將結(jié)果保存到數(shù)組中,調(diào)用輸出函數(shù)#include "stdio.h"最后將數(shù)組元素逆序輸出,運(yùn)算結(jié)果保存在“十變十六”.out文件中,所得結(jié)果即為所轉(zhuǎn)換的十六進(jìn)制數(shù)。 </p><p><b> 二變十功能</b></p><p> 主界面輸入3后回車,調(diào)用
13、arrge()函數(shù),調(diào)用輸入函數(shù)#include "stdio.h"輸入二進(jìn)制數(shù),調(diào)用字符串函數(shù)#include”string.h”,求得輸入二進(jìn)制的長(zhǎng)度,從最低位開始用每位的ASCII碼減去0的ASCII碼,求的每位數(shù)的大小,再用一個(gè)循環(huán)每位的大小最后將每位想家,所得之和即為所要十進(jìn)制數(shù),調(diào)用輸入函數(shù)#include "stdio.h",將結(jié)果輸出,并最后將運(yùn)算結(jié)果保存在“二變十”.out文件中
14、,所得結(jié)果即為所轉(zhuǎn)換的二進(jìn)制數(shù)。 </p><p><b> 十六變十功能</b></p><p> 主界面輸入4后回車,調(diào)用find()函數(shù),調(diào)用輸入函數(shù)#include "stdio.h"輸入十六進(jìn)制數(shù),調(diào)用#include”string.h”,求的所輸入十六進(jìn)制數(shù)的長(zhǎng)度,從第一位起判斷所輸入的十六進(jìn)制數(shù)碼是否屬于0-9,直接用該數(shù)的ASC
15、II碼與0的ASCII碼相減,得到該數(shù)的大小,若該數(shù)的數(shù)碼不屬于0-9,用該數(shù)碼減去a的ASCII碼在加10,s=t*16n-1就可以求每位數(shù)所代表的十進(jìn)制數(shù)的大小,最后將總數(shù)相加,調(diào)用輸入函數(shù)#include "stdio.h"輸十進(jìn)制數(shù),并將結(jié)果保存在“十六”.out磁盤中所得結(jié)果即為所轉(zhuǎn)換的十制數(shù)。</p><p><b> 退出功能</b></p>
16、<p> 主界面輸入5回車,退出程序。</p><p><b> 調(diào)試運(yùn)行</b></p><p><b> 主界面</b></p><p> 組建后運(yùn)行的主界面,該界面主要有五個(gè)功能,每個(gè)功能的實(shí)現(xiàn)必須從主界面進(jìn)入,功能實(shí)現(xiàn)之后按回車鍵返回主菜單。</p><p><b&
17、gt; 十進(jìn)制轉(zhuǎn)換為二進(jìn)制</b></p><p> 十進(jìn)制轉(zhuǎn)換為十六進(jìn)制</p><p><b> 二進(jìn)制轉(zhuǎn)換為十進(jìn)制</b></p><p> 十六進(jìn)制轉(zhuǎn)換為十進(jìn)制</p><p><b> 系統(tǒng)說明</b></p><p> 十進(jìn)制轉(zhuǎn)換為二進(jìn)制使
18、用說明</p><p> 主界面輸入1,進(jìn)入十變二程序界面,根據(jù)提示輸入一個(gè)十進(jìn)制數(shù),按回車即輸出所轉(zhuǎn)換的二進(jìn)制數(shù),按回車返回主菜單。</p><p> 十進(jìn)制轉(zhuǎn)換為十六進(jìn)制使用說明</p><p> 主界面輸入2,進(jìn)入十變十六程序界面,根據(jù)提示輸入一個(gè)十進(jìn)制數(shù),按回車即輸出所轉(zhuǎn)換的十六進(jìn)制數(shù),按回車返回主菜單。</p><p> 二
19、進(jìn)制轉(zhuǎn)換為十進(jìn)制使用說明</p><p> 主界面輸入3,進(jìn)入二變十程序界面,根據(jù)提示輸入一個(gè)二進(jìn)制數(shù),按回車即輸出所轉(zhuǎn)換的十進(jìn)制數(shù),按回車返回主菜單。</p><p> 十六進(jìn)制轉(zhuǎn)換為十進(jìn)制使用說明</p><p> 主界面輸入,進(jìn)入十六變十程序界面,根據(jù)提示輸入一個(gè)十六進(jìn)制數(shù),按回車即輸出所轉(zhuǎn)換的十進(jìn)制數(shù),按回車返回主菜單。</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、 //輸入輸出函數(shù)//</p><p> #include "stdlib.h" //動(dòng)態(tài)分配存儲(chǔ)空間函數(shù)//</p><p> #include "string.h"//數(shù)組與字符串轉(zhuǎn)換函數(shù)//</p><p> void input(); //十變二模塊//</p><p> v
22、oid del(); //十變十六模塊//</p><p> void arrange(); //二變十模塊//</p><p> void find(); //十六變十模塊//</p><p> void main() //主函數(shù)//</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("進(jìn)制轉(zhuǎn)換"); </p><p> for(i=0;i<36;i++)</p><p> printf("*");</p><p> printf("\n");</p
26、><p> printf(" 1:十進(jìn)制轉(zhuǎn)換為二進(jìn)制 \n");</p><p> printf(" 2:十進(jìn)制轉(zhuǎn)換為十六進(jìn)制 \n"); </p><p> printf("
27、 3:二進(jìn)制轉(zhuǎn)換為十進(jìn)制 \n");</p><p> printf(" 4:十六進(jìn)制轉(zhuǎn)換為十進(jìn)制 \n");</p><p> printf(" 5:退出
28、 \n");</p><p> printf(" 請(qǐng)選擇輸入項(xiàng)[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("請(qǐng)選擇您想轉(zhuǎn)換的類型:");</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) //選擇想要轉(zhuǎn)換的類型//</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("輸入十進(jìn)制數(shù):\n");</p><p> scanf("%d",&i);</p><p> printf("轉(zhuǎn)換為二進(jìn)制數(shù):\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; //對(duì)輸入的數(shù)取模//</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]); //結(jié)果逆序輸出//</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]); //將結(jié)果寫到磁盤文件中//</p><p><b> }</b></p><p> fclose(fp); //關(guān)
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]; //存放輸入的十六進(jìn)制數(shù)//</p><p> char a[16]; //保存所得結(jié)果//</p><p> fp=fopen("十變十六.out","w"); //已只寫的方式打開&qu
43、ot;十變十六.out"文件//</p><p> system("cls");</p><p> printf("輸入十進(jìn)制數(shù):\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("十六進(jìn)制數(shù)為:\n");</p><p> for(j=0;j<i;j++)</p><p><b> {</b></p><p> if(b[j
46、]>9) //判斷出得數(shù)的范圍//</p><p><b> {</b></p><p> b[j]=b[j]+55;a[j]=b[j]; //將結(jié)果ASCII換成字母//</p><p><b> }</b></p><p>
47、 else a[j]=b[j]+48; //將結(jié)果ASCII換成數(shù)字//</p><p><b> }</b></p><p> for(j=i-1;j>=0;j--) //結(jié)果逆序輸出//</p><p> printf("%c",a[j]);&
48、lt;/p><p> getchar();</p><p> for(j=i-1;j>=0;j--) //結(jié)果保存到磁盤文件中//</p><p><b> {</b></p><p> fprintf(fp,"%c",a[j]);}</p>
49、<p> fclose(fp); //關(guān)閉文件//</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("輸入二進(jìn)制數(shù):\n");</p><p><b> gets(s);</b></p><p> n=strlen(s); //計(jì)算輸入二進(jìn)制數(shù)的長(zhǎng)度//</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("十進(jìn)制數(shù)為:\n%d&quo
53、t;,sum);</p><p> fprintf(fp,"該二進(jìn)制轉(zhuǎn)換的十進(jìn)制為%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("輸入十六進(jìn)制數(shù):\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("十進(jìn)制數(shù)為:\n%d",sum);</p><p> fprintf(fp,"該十六進(jìn)制轉(zhuǎn)換的十進(jìn)制為%d",sum);</p><p> getchar();</p><p>
58、fclose(fp);</p><p><b> }</b></p><p><b> 心得體會(huì)</b></p><p> 這幾個(gè)禮拜的課程設(shè)計(jì)使我收獲很多,尤其是在解決一個(gè)問題方面,老師交給我們的不僅僅是只是,更是解決問題的能力,從問題的分析、尋找解題思路、查閱資料尋找解題方法到最后的解決問題,這些都是對(duì)我們能力的
59、鍛煉。我們?cè)谕瓿梢粋€(gè)程序的同時(shí)不僅需要扎實(shí)的C語(yǔ)言基礎(chǔ),還要有熟練的上機(jī)操作能力,從排版到制作流程圖,我們還要對(duì)word的基本操作有一定的了解,還有當(dāng)我遇到一些難題的時(shí)候一個(gè)人解決不了我們就需要學(xué)會(huì)合作,學(xué)會(huì)請(qǐng)教別人,單靠一個(gè)人的力量是很難完場(chǎng)一件事的,我們必須要有團(tuán)隊(duì)合作意識(shí)。不論題目有多難,只要我們努力去做了,而不是敷衍了事,我們就一定可以順利完成!</p><p><b> 日志</b&g
60、t;</p><p><b> 9.8</b></p><p> 剛剛拿到課程設(shè)計(jì)的題目,看了好久,發(fā)現(xiàn)跟書上的題目相差很遠(yuǎn),有些知識(shí)都是沒有教過的,毫無頭緒。</p><p><b> 9.9</b></p><p> 聽老師給我們講解了一個(gè)例子之后,對(duì)一個(gè)解題過程有了大致的了解</
61、p><p><b> 9.12</b></p><p> 查閱了很多資料后對(duì)這個(gè)程序有了一定的了解,基本確定了大致思路,具體算法設(shè)計(jì)還是不會(huì)做</p><p><b> 9.13</b></p><p> 根據(jù)我之前的思路,在查閱了一定的資料以及請(qǐng)教了許多同學(xué)之后我終于做好了第一個(gè)項(xiàng)目“十進(jìn)制轉(zhuǎn)
62、換成二進(jìn)制”,心情有點(diǎn)激動(dòng)</p><p><b> 9.14</b></p><p> 發(fā)現(xiàn)第一個(gè)功能其實(shí)跟第二個(gè)差不多,順藤摸瓜的把第二個(gè)“十進(jìn)制轉(zhuǎn)換為十六進(jìn)制”做出來了</p><p><b> 9.15</b></p><p> 繼續(xù)查找資料,努力思考剩下兩個(gè)程序</p>
63、<p><b> 9.18</b></p><p> 經(jīng)過幾天的努力摸索,整個(gè)程序基本被我摸索出來了,剩下的就是逐步完善整個(gè)程序了</p><p><b> 9.19</b></p><p> 晚自習(xí)老師給我們講解了一下課程設(shè)計(jì)的格式要求,看了一段關(guān)于文檔排版視頻之后,大致明白了課程設(shè)計(jì)報(bào)告怎么做&l
64、t;/p><p><b> 9.20</b></p><p> 做課程設(shè)計(jì)報(bào)告,把文檔排版號(hào),畫好流程圖</p><p><b> 9.21</b></p><p> 檢查和完善程序,準(zhǔn)備答辯</p><p><b> 參考文獻(xiàn)</b></p
65、><p> [1]H.M.Deitel P.J.Deitel.,C程序設(shè)計(jì)教程。北京: 機(jī)械工程出版社,2000.7</p><p> [2]譚浩強(qiáng).c程序設(shè)計(jì).第三版.北京:清華大學(xué)出版社,2005年</p><p> [3]蘇小紅.C語(yǔ)言程序設(shè)計(jì)教程。北京:電子工業(yè)出版社,2002年</p><p> [4] 向艷 , C
66、語(yǔ)言程序設(shè)計(jì) 清華大學(xué)出版社,2008.9</p><p> [5] 袁啟昌, C++語(yǔ)言程序設(shè)計(jì) 北京 機(jī)械工程出版社,200.7 </p><p> [6]譚浩強(qiáng).c程序設(shè)計(jì).第三版.北京:清華大學(xué)出版社,2005年</p><p> [7] Robert B. Murry, C++ Strategies and Tactics, Addison
67、-Wesley, 1993</p><p> [8]王松編著.VisualC++6.0程序設(shè)計(jì)與開發(fā)指南。北京:高等教與出版設(shè),1999</p><p> [9] 沈孟濤 計(jì)算機(jī)信息技術(shù)基礎(chǔ) 北京: 機(jī)械工程出版社,2000.7</p><p> [10] 白康生 vb程序設(shè)計(jì)學(xué)習(xí)和實(shí)驗(yàn)指導(dǎo) 北京: 機(jī)械工程出版社,2000.7</p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c語(yǔ)言課程設(shè)計(jì)--進(jìn)制轉(zhuǎn)換
- c語(yǔ)言進(jìn)制轉(zhuǎn)換課程設(shè)計(jì)
- c語(yǔ)言進(jìn)制轉(zhuǎn)換課程設(shè)計(jì) (2)
- 基于c語(yǔ)言進(jìn)制轉(zhuǎn)換課程設(shè)計(jì)
- C語(yǔ)言課程設(shè)計(jì)--進(jìn)制轉(zhuǎn)換.doc
- c語(yǔ)言課程設(shè)計(jì)課程設(shè)計(jì)-成績(jī)統(tǒng)計(jì)系統(tǒng)+進(jìn)制轉(zhuǎn)換系統(tǒng)
- c語(yǔ)言進(jìn)制轉(zhuǎn)換
- 課程設(shè)計(jì)--進(jìn)制轉(zhuǎn)換
- 課程設(shè)計(jì)--進(jìn)制轉(zhuǎn)換
- 課程設(shè)計(jì)--進(jìn)制轉(zhuǎn)換.doc
- c語(yǔ)言_各種進(jìn)制轉(zhuǎn)換
- 數(shù)制轉(zhuǎn)換課程設(shè)計(jì)--進(jìn)制轉(zhuǎn)換的實(shí)現(xiàn)
- c++課程設(shè)計(jì)報(bào)告--數(shù)的進(jìn)制轉(zhuǎn)換系統(tǒng)
- 【課程設(shè)計(jì)】c語(yǔ)言課程設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)----進(jìn)制轉(zhuǎn)換程序設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)--c語(yǔ)言投票程序
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--進(jìn)制轉(zhuǎn)換的實(shí)現(xiàn)
評(píng)論
0/150
提交評(píng)論