進製轉換器

2022-07-19 13:24:15 字數 2219 閱讀 1662

int tennum(char a,int b)//將輸入的數字轉換為10進製數

else if (a[i] >= 'a' && a[i] <= 'f')

sum = sum * b + num;

} return sum;

}

功能為將輸入的數字通過字串來儲存,利用字串的形式將不同的進製數轉換為10進製數,並以整型將10進製數返回。

void numchange(int m, int b)//將10進製數轉化為任意進製數

int number;

for (int i = count; i >= 1; i--)

else

m = m % (int)pow(b, i - 1);

}}

功能為將10進製數轉換為任意進製數。這個函式的思路是來自輸出整數各位的數字,整數是十進位制的,我改進了**就可以實現轉換成任意進製數。有用到資料型別的強制轉換。

int judge2810(char a, int b)//用來判斷2,8,10進製數是否正確

else

} return flag;

}int judge16(char a) //用來判斷16進製制數是否正確

} return 1;

}

這兩個函式都是用來判斷所輸入的進製數是否符合相應的進製。由於16進製制會更難寫,所以沒把兩個函式合併在一起。

#include #include#includeint main()

else

} else if (b == 8)

else

} else if (b == 10)

else

} else if (b == 16)

else

} }

return 0;

}

利用字串處理輸入的進製數,根據使用者所選進製來判斷是否有錯,如果沒錯就輸出另外三種進製數。輸錯就重新返回介面。

}這個函式利用了遞迴來將二進位制數轉換為十進位制數,而且這個思路也很不錯。

int sum = 0;

int product = 1;

do while (number);

這個部分在整個**重複了很多次,其實可以把它寫成乙個函式。她的轉換思路是我沒有想到的,看到這個**,就覺得還可以這樣做。

她的**讓我收穫最大的是可以利用%o,%x將十進位制數轉換為八進位制數和十六進製制數。雖然知道這個知識點,但是我卻沒有用過。我還去寫10進製轉換為八進位制數和十六進製制數的函式。學會了怎麼正確使用函式,如何利用變數型別轉換解決問題。

對字串的使用更加熟練。

面對bug,如何通過測試和改進**,來實現功能的優化。每個函式是擁有自己獨特的功能,能提高整體**的可讀性,變得簡潔。當有相似功能的函式,可以合併成乙個函式,使得函式功能更強大。函式的實參和形參,函式的呼叫,遞迴,巢狀等。

進製轉換器

專案分析 1.列印主選單。輸出主選單選項 小寫轉化為大寫 輸入的驗證 2.大小寫的轉化。輸入需要轉化的數 必須要小於基數 需驗證為字串型 引數 基數 返回值 乙個通過驗證過的數 3.進製的轉化 轉化的方式分兩種 一種是十進位制轉化為其他進製。另一種是其他進製轉化為十進位制 public classc...

進製轉換器

include include include define max 10 define add 10 typedef int elemtype typedef struct sqstacksqstack 初始化 intinsistack sqstack s s.top s.base s.maxsi...

進製轉換器

一 執行截圖 二轉其他進製 八轉其他進製 十轉其他進製 十六轉其他進製 二 函式功能介紹 1.char to num 將字元轉換成數字 int char to num char ch 2.num to char 將數字轉換成字元 char num to char int num 3.source t...