Re: [問題] 二進位轉十進位 加入一個判斷式

看板C_and_CPP作者 (反及閘萬用閘)時間14年前 (2010/06/13 02:06), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串3/3 (看更多)
※ 引述《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
文章代碼(AID): #1C4yof7Y (C_and_CPP)
文章代碼(AID): #1C4yof7Y (C_and_CPP)