數(shù)制轉(zhuǎn)換 C 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)

上傳人:仙*** 文檔編號(hào):30331310 上傳時(shí)間:2021-10-10 格式:DOC 頁(yè)數(shù):19 大小:248.63KB
收藏 版權(quán)申訴 舉報(bào) 下載
數(shù)制轉(zhuǎn)換 C 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)_第1頁(yè)
第1頁(yè) / 共19頁(yè)
數(shù)制轉(zhuǎn)換 C 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)_第2頁(yè)
第2頁(yè) / 共19頁(yè)
數(shù)制轉(zhuǎn)換 C 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)_第3頁(yè)
第3頁(yè) / 共19頁(yè)

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《數(shù)制轉(zhuǎn)換 C 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《數(shù)制轉(zhuǎn)換 C 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)(19頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、福建農(nóng)林大學(xué)計(jì)算機(jī)與信息學(xué)院計(jì)算機(jī)類(lèi)課程設(shè)計(jì)報(bào)告課程名稱(chēng):數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)課程設(shè)計(jì)題目:數(shù)制轉(zhuǎn)換問(wèn)題姓 名:XIA系:計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān) 業(yè):計(jì)算機(jī)科學(xué)與技術(shù)年 級(jí):2011級(jí)學(xué) 號(hào):3116013131指導(dǎo)教師:劉必雄職 稱(chēng):講師2011年 12月 24日福建農(nóng)林大學(xué)計(jì)算機(jī)與信息學(xué)院計(jì)算機(jī)類(lèi)課程設(shè)計(jì)結(jié)果評(píng)定評(píng)語(yǔ):評(píng)分項(xiàng)目分值得分綜合運(yùn)用知識(shí)能力和實(shí)踐動(dòng)手能力強(qiáng),設(shè)計(jì)方案合理,計(jì)算、分析正確,設(shè)計(jì)成果質(zhì)量高;40設(shè)計(jì)態(tài)度認(rèn)真,獨(dú)立工作能力強(qiáng),有獨(dú)到見(jiàn)解,水平較高,并具有良好的團(tuán)隊(duì)協(xié)作精神;40設(shè)計(jì)報(bào)告條理清晰、論述充分、文字通順、圖表規(guī)范課程設(shè)計(jì)報(bào)告符合規(guī)范要求。20成績(jī):指導(dǎo)教師簽字:任務(wù)下

2、達(dá)日期:評(píng)定日期:- 16 -目 錄1.設(shè)計(jì)目的- 1 -2.設(shè)計(jì)要求- 1 -3.設(shè)計(jì)方案- 1 -4.設(shè)計(jì)內(nèi)容- 1 -4.1需求分析- 1 -4.1.1輸入的形式和輸入值的范圍- 1 -4.1.2輸出的形式- 1 -4.1.3程序所能達(dá)到的功能- 1 -4.1.4測(cè)試數(shù)據(jù):- 2 -4.2概要設(shè)計(jì)- 3 -4.2.1抽象數(shù)據(jù)類(lèi)型的定義- 3 -4.2.2主控程序的流程- 3 -4.2.3各程序模塊之間的層次關(guān)系- 3 -4.3詳細(xì)設(shè)計(jì)- 4 -4.3.1流程圖- 4 -4.3.2偽代碼- 5 -4.4調(diào)試分析- 7 -4.5測(cè)試結(jié)果- 9 -4.5.1鍵盤(pán)輸入輸出結(jié)果- 9 - 整數(shù)轉(zhuǎn)換

3、測(cè)試- 9 - 小數(shù)轉(zhuǎn)換測(cè)試- 9 - 輸入出錯(cuò)測(cè)試- 10 -4.5.2文本輸入輸出結(jié)果- 11 -5.總結(jié)- 14 -參考文獻(xiàn)- 14 -數(shù)制轉(zhuǎn)換問(wèn)題1. 設(shè)計(jì)目的實(shí)現(xiàn)二、八、十和十六進(jìn)制不同數(shù)制數(shù)據(jù)之間的相互轉(zhuǎn)換。2. 設(shè)計(jì)要求 輸入一種數(shù)的數(shù)據(jù)及數(shù)制,輸出這個(gè)數(shù)的其他三種數(shù)制的表示。 輸入的數(shù)包括整數(shù)和小數(shù)。 基于vc+6.0平臺(tái),用C語(yǔ)言實(shí)現(xiàn)程序設(shè)計(jì)。3. 設(shè)計(jì)方案用順序棧實(shí)現(xiàn)數(shù)據(jù)的存入和讀取4. 設(shè)計(jì)內(nèi)容4.1 需求分析1) 輸入的形式和輸入值的范圍 先輸入未轉(zhuǎn)換前數(shù)的進(jìn)制:取值范圍只能是2、8、10、16,輸入其他數(shù)據(jù)則提示出錯(cuò)重輸。 再輸入該進(jìn)制的數(shù):取值范圍可以是原進(jìn)制的整數(shù)

4、或小數(shù),根據(jù)提供的原數(shù)據(jù)的數(shù)制,通過(guò)ASCII碼判斷每次輸入的各個(gè)字符是否正確,如:2進(jìn)制只能輸入1,0和小數(shù)點(diǎn);8進(jìn)制只能輸入0到7的數(shù)和小數(shù)點(diǎn);10進(jìn)制只能輸入0到9的數(shù)和小數(shù)點(diǎn);16進(jìn)制只能輸入輸入0到9的數(shù),A到F的字母和小數(shù)點(diǎn);輸入其他字符則提示出錯(cuò)重輸。2) 輸出的形式 分三行分別輸出該數(shù)其他進(jìn)制的表示。3) 程序所能達(dá)到的功能 通過(guò)鍵盤(pán)輸入、文本讀取數(shù)據(jù),檢測(cè)輸入的數(shù)與原進(jìn)制是否有誤; 將輸入的數(shù)(可以是整數(shù)或小數(shù)),轉(zhuǎn)換成除本身的進(jìn)制數(shù)外其他3種進(jìn)制的數(shù)并輸出; 可以在數(shù)據(jù)轉(zhuǎn)換后,選擇是否退出或繼續(xù)輸入數(shù)據(jù)進(jìn)行轉(zhuǎn)換。4) 測(cè)試數(shù)據(jù):正確的輸入及其輸出,示例整數(shù):正確的輸入及其輸

5、出,示例小數(shù):含錯(cuò)誤的輸入及其輸出:4.2 概要設(shè)計(jì)1) 抽象數(shù)據(jù)類(lèi)型的定義typedef structint *b,*top; int size;Stack;Stack S;/定義棧int InitS(Stack &S) /構(gòu)造空棧int ClearS(Stack &S) /釋放棧Sint IsEmpty(Stack S) /判斷棧是否為空,若空返回1,否則返回0int Push(Stack &S , int e) /插入元素e為新的棧頂元素int Pop(Stack &S, int &e) /刪除S的棧頂元素,用e返回其值char c1000;/c存入未轉(zhuǎn)換的數(shù)int e,m,n,r,i,

6、j; /定義全局變量/e為棧頂元素臨時(shí)變量,m為要轉(zhuǎn)的進(jìn)制數(shù), n為轉(zhuǎn)換前數(shù)的個(gè)數(shù)/r是十進(jìn)制轉(zhuǎn)M進(jìn)制的余數(shù),i為自增變量,j存小數(shù)點(diǎn)后有幾位小數(shù)用 float x,y,z;/定義全局變量/x為要轉(zhuǎn)換的十進(jìn)制,y是轉(zhuǎn)后的10進(jìn)制數(shù),z是十進(jìn)制的小數(shù)部分2) 主控程序的流程 首先接收未轉(zhuǎn)換前數(shù)的進(jìn)制m及數(shù)據(jù),判斷是否非法做出提示; 用c數(shù)組接收數(shù)據(jù),有小數(shù)得記下小數(shù)位數(shù)j。當(dāng)接收的數(shù)據(jù)為十進(jìn)制則用float(atof(c)轉(zhuǎn)成小數(shù)給全局變量x;若接收的數(shù)據(jù)為其他進(jìn)制數(shù)則逐個(gè)讀取Push(S,ci)入棧。 根據(jù)全局變量m判斷要調(diào)用的函數(shù):DtoM(float a,int b) 十進(jìn)制轉(zhuǎn)換成其他進(jìn)制

7、的函數(shù),MtoD()其他進(jìn)制轉(zhuǎn)換為十進(jìn)制的函數(shù)。 在DtoM(float,int)函數(shù)中,接收形參為要轉(zhuǎn)換的十進(jìn)制數(shù)和要轉(zhuǎn)成的數(shù)制。先判斷數(shù)據(jù)是否有小數(shù),有小數(shù)則先轉(zhuǎn)換小數(shù)部分的存入zz。輸出時(shí)先輸出轉(zhuǎn)換的整數(shù)部分,有小數(shù)再讀取zz逐個(gè)輸出小數(shù)部分。 在MtoD()函數(shù)中,由j判斷數(shù)據(jù)是否有小數(shù),若有小數(shù)先轉(zhuǎn)換小數(shù)部分。輸出時(shí)將轉(zhuǎn)后的小數(shù)部分(若有)累加上整數(shù)部分輸出。 轉(zhuǎn)換完成后,清除棧,由用戶選擇是否繼續(xù)輸入數(shù)據(jù)轉(zhuǎn)換或退出。3) 各程序模塊之間的層次關(guān)系void DtoM(float a,int b) /十進(jìn)制轉(zhuǎn)換成其他進(jìn)制的函數(shù)void MtoD()/其他進(jìn)制轉(zhuǎn)換為十進(jìn)制的函數(shù)void

8、main()/根據(jù)輸入數(shù)據(jù)調(diào)用MtoD()和DtoM()函數(shù)對(duì)數(shù)據(jù)轉(zhuǎn)換注:其他非十進(jìn)制的數(shù)轉(zhuǎn)換時(shí),都先調(diào)用MtoD()轉(zhuǎn)成十進(jìn)制,得到float類(lèi)型數(shù)存入全局變量y,再調(diào)用DtoM(y,m)轉(zhuǎn)成需要的進(jìn)制。4.3 詳細(xì)設(shè)計(jì) 流程圖:m=16m=8m=10m=2NYYYNN開(kāi)始m-未轉(zhuǎn)換前數(shù)的進(jìn)制合法c-要轉(zhuǎn)換的數(shù)合法switch(m)x=float(atof(c)DtoM(x,2)DtoM(x,8)DtoM(x,16)MtoD()DtoM(y,8)DtoM(y,16)繼續(xù)退出MtoD()DtoM(y,2)DtoM(y,16)MtoD()DtoM(y,2)DtoM(y,8) 偽代碼:/十進(jìn)制轉(zhuǎn)換

9、成其他進(jìn)制的函數(shù)DtoM()/void DtoM(float a,int b) z=a-(int)a;/取小數(shù)部分int zz20;/存轉(zhuǎn)后的小數(shù)部分i=0;if(z)/有小數(shù)while(z)zzi=int(z*b);i+;z=z*b-int(z*b);n=i;while(int)a)r=(int)a%b;if(r9)r=r+55;Push(S,r); /壓入棧a=a/b; /轉(zhuǎn)換成b進(jìn)制printf(t該數(shù)進(jìn)制的結(jié)果是:,b);while(!IsEmpty(S)Pop(S,e); /彈出棧if(e=65)printf(%c,e);elseprintf(%d,e);if(i)/有小數(shù)print

10、f(.);/小數(shù)點(diǎn)for(i=0;i=65)e=e-55;/轉(zhuǎn)字母else e=e-48;/轉(zhuǎn)數(shù)字y+=1/(float)pow(m,j)*e;/1除(e乘(m的j次方))j-;Pop(S,e);/小數(shù)點(diǎn)拋出while(!IsEmpty(S)Pop(S,e);if(e=65)e=e-55;/轉(zhuǎn)字母else e=e-48;/轉(zhuǎn)數(shù)字y+=(int)pow(m,i)*e;/e乘(m的i次方)i+;printf(t該數(shù)進(jìn)制的結(jié)果是:);if(int)y=y) printf(%.0f n,y); elseprintf(%f n,y);/有小數(shù)return;/-主函數(shù)main()-/void main()

11、freopen(DS1.in, r, stdin);freopen(DS1.out, w, stdout);/界面功能說(shuō)明printf(n);printf(n);printf(t=數(shù)制轉(zhuǎn)換器= n); printf(n);printf( -實(shí)現(xiàn) 2 8 10 16 進(jìn)制數(shù)據(jù)之間的轉(zhuǎn)換-n);printf(t| 先輸入未轉(zhuǎn)換前數(shù)的數(shù)制類(lèi)型 |n);printf(t| 再輸入未轉(zhuǎn)換的數(shù) |n);printf(t| |n);printf(t| 程序?qū)⑤敵鲈摂?shù)的其他進(jìn)制形式 |n);printf(t| |n);printf( -=);printf(=-n);printf(n);printf(n);Fi

12、rst:int f=1;/判斷標(biāo)識(shí)InitS(S); /構(gòu)造一個(gè)空棧printf(t請(qǐng)輸入未轉(zhuǎn)換前數(shù)的進(jìn)制:);while(f)if(scanf(%d,&m)=EOF|m!=2&m!=8&m!=10&m!=16)printf(t輸入有誤,請(qǐng)重新輸入:);elsef=0;printf(t請(qǐng)輸入該數(shù):);Second:scanf(%s,c);n=strlen(c);f=0; /判斷標(biāo)識(shí)for(i=0;i49|ci55|ci57|ci70|(ci57&ci65)|ci46|ci=47)f=1;break;default:break;/有錯(cuò)f=1;if(f)/檢查輸入格式是否有誤printf(t輸入有

13、誤,請(qǐng)重新輸入:);goto Second; if(m!=10)/其他進(jìn)制轉(zhuǎn)換成十進(jìn)制j=0;for(i=0;in;i+)Push(S,ci);if(ci=.) j=n-1-i;/存小數(shù)位數(shù)else/十進(jìn)制轉(zhuǎn)換成其他進(jìn)制x=float(atof(c);/字符串轉(zhuǎn)小數(shù)printf(n);switch(m)/數(shù)制相互轉(zhuǎn)換case 10: DtoM(x,2);DtoM(x,8);DtoM(x,16);break;case 2: MtoD();DtoM(y,8);DtoM(y,16);break;case 8: MtoD();DtoM(y,2);DtoM(y,16);break;case 16: Mt

14、oD();DtoM(y,2);DtoM(y,8);break;default:break;ClearS(S);/釋放棧Sprintf(n);printf( -=);printf(=-n);printf(t是否繼續(xù)? 繼續(xù)【1】or 退出【0】:);scanf(%d,&f);if(f)printf(n);goto First;4.4 調(diào)試分析n 難點(diǎn):檢查輸入格式是否有誤n 解決:通過(guò)ASCII碼判斷每次輸入的各個(gè)字符是否正確,如:2進(jìn)制只能輸入1,0和小數(shù)點(diǎn);8進(jìn)制只能輸入0到7的數(shù)和小數(shù)點(diǎn);10進(jìn)制只能輸入0到9的數(shù)和小數(shù)點(diǎn);16進(jìn)制只能輸入0到9的數(shù),A到F的字母和小數(shù)點(diǎn);用f判斷標(biāo)識(shí),輸

15、入其他字符則將f=1提示出錯(cuò)重輸。 n 代碼示例:main()f=0;for(i=0;i49|ci55|ci57|ci70|(ci57&ci65)|ci46|ci=47) f=1;break;default:break; /有錯(cuò)f=1;n 難點(diǎn):取未轉(zhuǎn)換十進(jìn)制的小數(shù)部分,并輸出轉(zhuǎn)換后的相應(yīng)的進(jìn)制格式n 解決:使用強(qiáng)制轉(zhuǎn)換,轉(zhuǎn)義符號(hào) %X、%.0fn 代碼示例:void DtoM(float a,int b) /十進(jìn)制轉(zhuǎn)換成其他進(jìn)制的函數(shù)z=a-(int)a;/ 用強(qiáng)制轉(zhuǎn)換取小數(shù)部分int zz10;/存轉(zhuǎn)后的小數(shù)部分i=0;if(i)/有小數(shù)printf(.);/小數(shù)點(diǎn)for(i=0;in;i

16、+)printf(%X,zzi); /用%X逐個(gè)輸出即為輸出相應(yīng)進(jìn)制轉(zhuǎn)換后的數(shù)void MtoD()/其他進(jìn)制轉(zhuǎn)換為十進(jìn)制的函數(shù) printf(t該數(shù)進(jìn)制的結(jié)果是:);if(int)y=y)printf(%.0f n,y);/小數(shù)部分沒(méi)有有效數(shù)字,用%.0f去除小數(shù)點(diǎn)后的0elseprintf(%f n,y);/有小數(shù)return;n 難點(diǎn):求輸入數(shù)據(jù)小數(shù)點(diǎn)后有幾位n 解決:用scanf(%s,c)將輸入數(shù)存入數(shù)組中,用n=strlen(c)得到長(zhǎng)度,用j存小數(shù)位數(shù):for(i=0;in;i+)if(ci=.) j=n-1-i;4.5 測(cè)試結(jié)果l 鍵盤(pán)輸入輸出結(jié)果: 整數(shù)轉(zhuǎn)換測(cè)試 小數(shù)轉(zhuǎn)換測(cè)試

17、 輸入出錯(cuò)測(cè)試l 文本輸入輸出結(jié)果: /DS1.in 整數(shù)轉(zhuǎn)換測(cè)試DS1.inDS1.out2110118765110111164A30=數(shù)制轉(zhuǎn)換器= -實(shí)現(xiàn) 2 8 10 16 進(jìn)制數(shù)據(jù)之間的轉(zhuǎn)換-| | 先輸入未轉(zhuǎn)換前數(shù)的數(shù)制類(lèi)型 | 再輸入未轉(zhuǎn)換的數(shù) | | 程序?qū)⑤敵鲈摂?shù)的其他進(jìn)制形式 | | -=-請(qǐng)輸入未轉(zhuǎn)換前數(shù)的進(jìn)制:請(qǐng)輸入該數(shù):該數(shù)進(jìn)制的結(jié)果是:13 該數(shù)進(jìn)制的結(jié)果是:15該數(shù)進(jìn)制的結(jié)果是:D -=-是否繼續(xù)? 繼續(xù)【1】or 退出【0】:請(qǐng)輸入未轉(zhuǎn)換前數(shù)的進(jìn)制:請(qǐng)輸入該數(shù):該數(shù)進(jìn)制的結(jié)果是:501 該數(shù)進(jìn)制的結(jié)果是:111110101該數(shù)進(jìn)制的結(jié)果是:1F5 -=-是否繼續(xù)?

18、 繼續(xù)【1】or 退出【0】:請(qǐng)輸入未轉(zhuǎn)換前數(shù)的進(jìn)制:請(qǐng)輸入該數(shù):該數(shù)進(jìn)制的結(jié)果是:1011該數(shù)進(jìn)制的結(jié)果是:13該數(shù)進(jìn)制的結(jié)果是:B -=-是否繼續(xù)? 繼續(xù)【1】or 退出【0】:請(qǐng)輸入未轉(zhuǎn)換前數(shù)的進(jìn)制:請(qǐng)輸入該數(shù):該數(shù)進(jìn)制的結(jié)果是:1187 該數(shù)進(jìn)制的結(jié)果是:10010100011該數(shù)進(jìn)制的結(jié)果是:2243 -=-是否繼續(xù)? 繼續(xù)【1】or 退出【0】: /DS2.in 小數(shù)轉(zhuǎn)換測(cè)試DS2.inDS2.out21101.101118765.211011.1251164A3.20=數(shù)制轉(zhuǎn)換器= -實(shí)現(xiàn) 2 8 10 16 進(jìn)制數(shù)據(jù)之間的轉(zhuǎn)換-| | 先輸入未轉(zhuǎn)換前數(shù)的數(shù)制類(lèi)型 | 再輸入未轉(zhuǎn)

19、換的數(shù) | | 程序?qū)⑤敵鲈摂?shù)的其他進(jìn)制形式 | | -=-請(qǐng)輸入未轉(zhuǎn)換前數(shù)的進(jìn)制:請(qǐng)輸入該數(shù):該數(shù)進(jìn)制的結(jié)果是:13.687500 該數(shù)進(jìn)制的結(jié)果是:15.54該數(shù)進(jìn)制的結(jié)果是:D.B -=-是否繼續(xù)? 繼續(xù)【1】or 退出【0】:請(qǐng)輸入未轉(zhuǎn)換前數(shù)的進(jìn)制:請(qǐng)輸入該數(shù):該數(shù)進(jìn)制的結(jié)果是:501.250000 該數(shù)進(jìn)制的結(jié)果是:111110101.01該數(shù)進(jìn)制的結(jié)果是:1F5.4 -=-是否繼續(xù)? 繼續(xù)【1】or 退出【0】:請(qǐng)輸入未轉(zhuǎn)換前數(shù)的進(jìn)制:請(qǐng)輸入該數(shù):該數(shù)進(jìn)制的結(jié)果是:1011.001該數(shù)進(jìn)制的結(jié)果是:13.1該數(shù)進(jìn)制的結(jié)果是:B.2 -=-是否繼續(xù)? 繼續(xù)【1】or 退出【0】:請(qǐng)輸

20、入未轉(zhuǎn)換前數(shù)的進(jìn)制:請(qǐng)輸入該數(shù):該數(shù)進(jìn)制的結(jié)果是:1187.125000 該數(shù)進(jìn)制的結(jié)果是:10010100011.001該數(shù)進(jìn)制的結(jié)果是:2243.1 -=-是否繼續(xù)? 繼續(xù)【1】or 退出【0】: /DS3.in 輸入出錯(cuò)測(cè)試DS3.inDS3.out92b1211018z.286711011.awd90.2511689GA6.50=數(shù)制轉(zhuǎn)換器= -實(shí)現(xiàn) 2 8 10 16 進(jìn)制數(shù)據(jù)之間的轉(zhuǎn)換-| | 先輸入未轉(zhuǎn)換前數(shù)的數(shù)制類(lèi)型 | 再輸入未轉(zhuǎn)換的數(shù) | | 程序?qū)⑤敵鲈摂?shù)的其他進(jìn)制形式 | | -=-請(qǐng)輸入未轉(zhuǎn)換前數(shù)的進(jìn)制:輸入有誤,請(qǐng)重新輸入:請(qǐng)輸入該數(shù):輸入有誤,請(qǐng)重新輸入:輸入有誤

21、,請(qǐng)重新輸入:該數(shù)進(jìn)制的結(jié)果是:6 該數(shù)進(jìn)制的結(jié)果是:6該數(shù)進(jìn)制的結(jié)果是:6 -=-是否繼續(xù)? 繼續(xù)【1】or 退出【0】:請(qǐng)輸入未轉(zhuǎn)換前數(shù)的進(jìn)制:請(qǐng)輸入該數(shù):輸入有誤,請(qǐng)重新輸入:輸入有誤,請(qǐng)重新輸入:該數(shù)進(jìn)制的結(jié)果是:55 該數(shù)進(jìn)制的結(jié)果是:110111該數(shù)進(jìn)制的結(jié)果是:37 -=-是否繼續(xù)? 繼續(xù)【1】or 退出【0】:請(qǐng)輸入未轉(zhuǎn)換前數(shù)的進(jìn)制:請(qǐng)輸入該數(shù):輸入有誤,請(qǐng)重新輸入:輸入有誤,請(qǐng)重新輸入:該數(shù)進(jìn)制的結(jié)果是:1011010.01該數(shù)進(jìn)制的結(jié)果是:132.2該數(shù)進(jìn)制的結(jié)果是:5A.4 -=-是否繼續(xù)? 繼續(xù)【1】or 退出【0】:請(qǐng)輸入未轉(zhuǎn)換前數(shù)的進(jìn)制:請(qǐng)輸入該數(shù):輸入有誤,請(qǐng)重新

22、輸入:該數(shù)進(jìn)制的結(jié)果是:166.312500 該數(shù)進(jìn)制的結(jié)果是:10100110.0101該數(shù)進(jìn)制的結(jié)果是:246.24 -=-是否繼續(xù)? 繼續(xù)【1】or 退出【0】:4.6 用戶使用說(shuō)明 第一次輸入:未轉(zhuǎn)換前數(shù)的進(jìn)制(只能輸入2或8或10或16,輸入其他數(shù)據(jù)則提示出錯(cuò)重輸) 第二次輸入:該進(jìn)制的數(shù)(取值范圍應(yīng)當(dāng)是原進(jìn)制的整數(shù)或小數(shù)。如:2進(jìn)制只能輸入1,0和小數(shù)點(diǎn);8進(jìn)制只能輸入0到7的數(shù)和小數(shù)點(diǎn);10進(jìn)制只能輸入0到9的數(shù)和小數(shù)點(diǎn);16進(jìn)制只能輸入0到9的數(shù),A到F的字母和小數(shù)點(diǎn);輸入其他字符則提示出錯(cuò)重輸。) 程序?qū)⒆詣?dòng)分三行分別輸出該數(shù)其他進(jìn)制的表示?!咀ⅰ?小數(shù)轉(zhuǎn)換的算法不是互逆的。

23、輸入非十進(jìn)制(2、8、16進(jìn)制)的小數(shù)可以成功轉(zhuǎn)成其他進(jìn)制的小數(shù);但不是任意的十進(jìn)制的小數(shù)能完全轉(zhuǎn)成非十進(jìn)制(2、8、16進(jìn)制)的小數(shù)。程序目前仍然有Bug,對(duì)輸入十進(jìn)制的小數(shù)的判斷還未完成。5. 總結(jié)通過(guò)本次課程設(shè)計(jì),我認(rèn)識(shí)到熟練掌握基礎(chǔ)算法的重要性,對(duì)棧的含義及其基本算法有了更好的理解和應(yīng)用。?!跋冗M(jìn)后出”的算法加上Push()和Pop() 方便了對(duì)要轉(zhuǎn)換的數(shù)進(jìn)行讀取,和對(duì)轉(zhuǎn)換后數(shù)倒置的輸出。在編寫(xiě)過(guò)程中常遇到的不少問(wèn)題,例如:變量類(lèi)型的轉(zhuǎn)換和ASCII碼轉(zhuǎn)義字符的應(yīng)用,變量的定義和范圍,算法循環(huán)語(yǔ)句的退出條件等,我通過(guò)不斷調(diào)試,翻閱課本和網(wǎng)上搜索材料得到了解決,也認(rèn)識(shí)到這些細(xì)節(jié)上的處理更當(dāng)注意。在調(diào)試時(shí),學(xué)會(huì)了在有問(wèn)題的地方注釋并能經(jīng)常使用printf()函數(shù)測(cè)試輸出結(jié)果。在測(cè)試時(shí),對(duì)測(cè)試數(shù)據(jù)的選取更當(dāng)考慮全面,能檢測(cè)錯(cuò)誤輸入并進(jìn)行提示。通過(guò)這次實(shí)驗(yàn),我學(xué)會(huì)運(yùn)用課本和老師平時(shí)講授知識(shí)進(jìn)行切身實(shí)踐,通過(guò)網(wǎng)絡(luò)搜索學(xué)到了新的庫(kù)函數(shù),提高了我實(shí)際編寫(xiě)程序的能力。參考文獻(xiàn)1 寧正元,王秀麗.算法與數(shù)據(jù)結(jié)構(gòu)M.北京:清華大學(xué)出版社,2006.01.2 寧正元,王秀麗,林大輝.算法與數(shù)據(jù)結(jié)構(gòu)習(xí)題精解和實(shí)驗(yàn)指導(dǎo)M.北京,2007.05.

展開(kāi)閱讀全文
溫馨提示:
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. 裝配圖網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!