Re: [問題] 二進位轉十進位 加入一個判斷式
※ 引述《sheepisonly (Sedra smith)》之銘言:
: 使用c++設計一個二進位轉成十進位的程式如下:
:
: 但是若輸入"非"二進位的數字
: Ex:2001
: 會得到結果為17
: 若是要再其中加入一個判斷式
: 使得輸入"非"二進位的數字時 會進到else裡面
: 要怎麼設計這個程式呢
cout << "請輸入二進位數字:";
string bin_n;
cin >> bin_n;
//這段在檢查鍵盤輸入的鍵是不是全部都是 '0' 或 '1'
for(int i = 0; i < bin_n.length(); i++){
if(bin_n[i] == '0' || bin_n[i] == '1') continue;
cout << "error" << endl;
return;
}
//這邊是實作在做轉換
int dec_n = 0;
for(int i = 0; i < bin_n.length(); i++){
dec_n = dec_n * 2 + (bin_n[i] - '0');
}
cout << "轉成十進位為:" << dec_n << endl;
試試吧,告訴我們能不能跑。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.225.161.147
推
06/13 02:25, , 1F
06/13 02:25, 1F
→
06/13 02:26, , 2F
06/13 02:26, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):