進制轉(zhuǎn)換C語言課程設計_第1頁
進制轉(zhuǎn)換C語言課程設計_第2頁
進制轉(zhuǎn)換C語言課程設計_第3頁
進制轉(zhuǎn)換C語言課程設計_第4頁
進制轉(zhuǎn)換C語言課程設計_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

word文檔可自由編輯word文檔可自由編輯word文檔可自由編輯序號:06學號:課程設計CHCHANGZHOUUNIVERSITY題目:進制轉(zhuǎn)換學生姓名:學院(系):懷德學院三系專業(yè)班級:指導教師:專業(yè)技術職務:講師設計時間:2011年9月8日2011年9月20日意義及功能意義:功能:功能結(jié)構圖:結(jié)構圖流程圖各功能介紹TOC\o"1-2"\h\z\u\h3.1十變二功能3.2十變十六功能3.3二變十功能3.4十六變十功能3.5退出功能4調(diào)試運行 \h5系統(tǒng)說明 11\h5.1十進制轉(zhuǎn)換為二進制使用說明 11\h5.2十進制轉(zhuǎn)換為十六進制使用說明 11\h5.3二進制轉(zhuǎn)換為十進制使用說明 11\h5.4十六進制轉(zhuǎn)換為十進制使用說明 11\h6源程序代碼 11主界面十進制轉(zhuǎn)換為二進制十進制轉(zhuǎn)換為十六進制二進制轉(zhuǎn)換為十進制十六進制轉(zhuǎn)換為十進制7心得體會8日志9參考文獻意義及功能意義:加強學生對節(jié)省計算的時間,方便使用者快速、簡潔得到答案。功能:能將十進制轉(zhuǎn)換為二進制能將十進制轉(zhuǎn)換為十六進制能將二進制轉(zhuǎn)換為十進制能將十六進制轉(zhuǎn)換為十進制功能結(jié)構圖:結(jié)構圖系系統(tǒng)功能十進制轉(zhuǎn)換為二進制十進制轉(zhuǎn)換為十六進制二進制轉(zhuǎn)換為十進制十六進制轉(zhuǎn)換為十進制

流程圖開始開始是否為1執(zhí)行十六進制轉(zhuǎn)換為十進制程序是否為2執(zhí)行十進制轉(zhuǎn)換為二進制程序是否為3是否為4執(zhí)行二進制轉(zhuǎn)換為十進制程序執(zhí)行十進制轉(zhuǎn)換為十六進制程序結(jié)束輸入一個數(shù)YYYYNNNN是否為5各功能介紹十變二功能主界面輸入1后回車,調(diào)用input()函數(shù),調(diào)用輸入函數(shù)#include"stdio.h",輸入十進制數(shù),將十進制數(shù)用短除法初以2,能整除返回0,若不能整除返回二,將結(jié)果保存到一個數(shù)組中,調(diào)用輸出函數(shù)#include"stdio.h"函數(shù)將數(shù)組元素逆序輸出,并運算結(jié)果保存在“十變二”.out文件中,所得結(jié)果即為所轉(zhuǎn)換的二進制數(shù)。3.2十變十六功能主界面輸入2后回車,調(diào)用del()函數(shù),調(diào)用輸入函數(shù)#include"stdio.h",輸入十進制數(shù),用短除法處以十六,如果所除得結(jié)果的數(shù)碼為0-9,則保存在一個數(shù)組中,若數(shù)碼大于9則需要將它得ASCII碼加55變成相應的字符數(shù)碼,將結(jié)果保存到數(shù)組中,調(diào)用輸出函數(shù)#include"stdio.h"最后將數(shù)組元素逆序輸出,運算結(jié)果保存在“十變十六”.out文件中,所得結(jié)果即為所轉(zhuǎn)換的十六進制數(shù)。3.3二變十功能主界面輸入3后回車,調(diào)用arrge()函數(shù),調(diào)用輸入函數(shù)#include"stdio.h"輸入二進制數(shù),調(diào)用字符串函數(shù)#include”string.h”,求得輸入二進制的長度,從最低位開始用每位的ASCII碼減去0的ASCII碼,求的每位數(shù)的大小,再用一個循環(huán)每位的大小最后將每位想家,所得之和即為所要十進制數(shù),調(diào)用輸入函數(shù)#include"stdio.h",將結(jié)果輸出,并最后將運算結(jié)果保存在“二變十”.out文件中,所得結(jié)果即為所轉(zhuǎn)換的二進制數(shù)。3.4十六變十功能主界面輸入4后回車,調(diào)用find()函數(shù),調(diào)用輸入函數(shù)#include"stdio.h"輸入十六進制數(shù),調(diào)用#include”string.h”,求的所輸入十六進制數(shù)的長度,從第一位起判斷所輸入的十六進制數(shù)碼是否屬于0-9,直接用該數(shù)的ASCII碼與0的ASCII碼相減,得到該數(shù)的大小,若該數(shù)的數(shù)碼不屬于0-9,用該數(shù)碼減去a的ASCII碼在加10,s=t*16n-1就可以求每位數(shù)所代表的十進制數(shù)的大小,最后將總數(shù)相加,調(diào)用輸入函數(shù)#include"stdio.h"輸十進制數(shù),并將結(jié)果保存在“十六”.out磁盤中所得結(jié)果即為所轉(zhuǎn)換的十制數(shù)。word文檔可自由編輯word文檔可自由編輯word文檔可自由編輯3.5退出功能主界面輸入5回車,退出程序。調(diào)試運行主界面組建后運行的主界面,該界面主要有五個功能,每個功能的實現(xiàn)必須從主界面進入,功能實現(xiàn)之后按回車鍵返回主菜單。十進制轉(zhuǎn)換為二進制十進制轉(zhuǎn)換為十六進制二進制轉(zhuǎn)換為十進制十六進制轉(zhuǎn)換為十進制word文檔可自由編輯word文檔可自由編輯word文檔可自由編輯系統(tǒng)說明十進制轉(zhuǎn)換為二進制使用說明主界面輸入1,進入十變二程序界面,根據(jù)提示輸入一個十進制數(shù),按回車即輸出所轉(zhuǎn)換的二進制數(shù),按回車返回主菜單。十進制轉(zhuǎn)換為十六進制使用說明主界面輸入2,進入十變十六程序界面,根據(jù)提示輸入一個十進制數(shù),按回車即輸出所轉(zhuǎn)換的十六進制數(shù),按回車返回主菜單。二進制轉(zhuǎn)換為十進制使用說明主界面輸入3,進入二變十程序界面,根據(jù)提示輸入一個二進制數(shù),按回車即輸出所轉(zhuǎn)換的十進制數(shù),按回車返回主菜單。十六進制轉(zhuǎn)換為十進制使用說明主界面輸入,進入十六變十程序界面,根據(jù)提示輸入一個十六進制數(shù),按回車即輸出所轉(zhuǎn)換的十進制數(shù),按回車返回主菜單。源程序代碼//3.cpp:Definestheentrypointfortheconsoleapplicatio#include"stdafx.h"#include"stdio.h"http://輸入輸出函數(shù)//#include"stdlib.h"http://動態(tài)分配存儲空間函數(shù)//#include"string.h"http://數(shù)組與字符串轉(zhuǎn)換函數(shù)//voidinput();//十變二模塊//voiddel();//十變十六模塊//voidarrange();//二變十模塊//voidfind();//十六變十模塊//voidmain()//主函數(shù)//{charc;inti;do{system("cls");//清屏//printf("\n");//輸出主界面//printf("\n");for(i=0;i<36;i++)printf("*");printf("進制轉(zhuǎn)換");for(i=0;i<36;i++)printf("*");printf("\n");printf("1:十進制轉(zhuǎn)換為二進制\n");printf("2:十進制轉(zhuǎn)換為十六進制\n");printf("3:二進制轉(zhuǎn)換為十進制\n");printf("4:十六進制轉(zhuǎn)換為十進制\n");printf("5:退出\n");printf("請選擇輸入項[1\\2\\3\\4\\5]\n");printf("\n");do{for(i=0;i<80;i++)printf("*");printf("請選擇您想轉(zhuǎn)換的類型:");c=getchar();}while(c!='1'&&c!='2'&&c!='3'&&c!='4'&&c!='5');getchar();//吃掉上一部的回車鍵//switch(c)//選擇想要轉(zhuǎn)換的類型//{case'1':input();break;case'2':del();break;case'3':find();break;case'4':arrange();break;case'5':exit(0);}printf("按回車鍵返回主菜單:\n");getchar();system("cls");//清屏//}while(1);}voidinput(){FILE*fp;//定義文件指針//inta=0,i,k,n;intb[32];fp=fopen("十變二.out","w");//已只寫的方式打開"十變二.out"文件//system("cls");//清屏//printf("輸入十進制數(shù):\n");scanf("%d",&i);printf("轉(zhuǎn)換為二進制數(shù):\n");if(i==0)printf("0");while(i>0){k=i%2;//對輸入的數(shù)取模//b[a++]=k;i=i/2;}n=a;while(a>0){printf("%d",b[--a]);//結(jié)果逆序輸出//}if(i<0)printf("error");getchar();while(n>0){fprintf(fp,"%d",b[--n]);//將結(jié)果寫到磁盤文件中//}fclose(fp);//關閉文件指針//}voiddel(){FILE*fp;inti=0,j,n;intb[8];//存放輸入的十六進制數(shù)//chara[16];//保存所得結(jié)果//fp=fopen("十變十六.out","w");//已只寫的方式打開"十變十六.out"文件//system("cls");printf("輸入十進制數(shù):\n");scanf("%d",&n);while(n){b[i]=n%16;//取模//n/=16;//取整//i++;}printf("十六進制數(shù)為:\n");for(j=0;j<i;j++){if(b[j]>9)//判斷出得數(shù)的范圍//{b[j]=b[j]+55;a[j]=b[j];//將結(jié)果ASCII換成字母//}elsea[j]=b[j]+48;//將結(jié)果ASCII換成數(shù)字//}for(j=i-1;j>=0;j--)//結(jié)果逆序輸出//printf("%c",a[j]);getchar();for(j=i-1;j>=0;j--)//結(jié)果保存到磁盤文件中//{fprintf(fp,"%c",a[j]);}fclose(fp);//關閉文件//}voidfind(){FILE*fp;inti,t,n,sum=0;chars[50];fp=fopen("二變十.out","w");//已只寫的方式打開"二變十.out"文件//system("cls");printf("輸入二進制數(shù):\n");gets(s);n=strlen(s);//計算輸入二進制數(shù)的長度//for(i=0;i<n;i++){t=s[i]-'0';sum=sum*2+t;}printf("十進制數(shù)為:\n%d",sum);fprintf(fp,"該二進制轉(zhuǎn)換的十進制為%d",sum);getchar();fclose(fp);}voidarrange(){FILE*fp;inti,t,n,sum=0;chars[50];fp=fopen("十六變十.out","w");system("cls");printf("輸入十六進制數(shù):\n");scanf("%s",s);n=strlen(s);for(i=0;i<n;i++){if(s[i]<='9')t=s[i]-'0';elset=s[i]-'a'+10;sum=sum*16+t;}printf("十進制數(shù)為:\n%d",sum);fprintf(fp,"該十六進制轉(zhuǎn)換的十進制為%d",sum);getchar();fclose(fp);}心得體會這幾個禮拜的課程設計使我收獲很多,尤其是在解決一個問題方面,老師交給我們的不僅僅是只是,更是解決問題的能力,從問題的分析、尋找解題思路、查閱資料尋找解題方法到最后的解決問題,這些都是對我們能力的鍛煉。我們在完成一個程序的同時不僅需要扎實的C語言基礎,還要有熟練的上機操作能力,從排版到制作流程圖,我們還要對word的基本操作有一定的了解,還有當我遇到一些難題的時候一個人解決不了我們就需要學會合作,學會請教別人,單靠一個人的力量是很難完場一件事的,我們必須要有團隊合作意識。不論題目有多難,只要我們努力去做了,而不是敷衍了事,我們就一定可以順利完成!日志9.8剛剛拿到課程設計的題目,看了好久,發(fā)現(xiàn)跟書上的題目相差很遠,有些知識都是沒有教過的,毫無頭緒。9.9聽老師給我們講解了一個例子之后,對一個解題過程有了大致的了解9.12查閱了很多資料后對這個程序有了一定的了解,基本確定了大致思路,具體算法設計還是不會做9.13根據(jù)我之前的思路,在查閱了一定的資料以及請教了許多同學之后我終于做好了第一個項目“十進制轉(zhuǎn)換成二進制”,心情有點激動9.14發(fā)現(xiàn)第一個功能其

溫馨提示

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

評論

0/150

提交評論