這是一個非常簡單的問題;第一次海報和很長一段時間的形象。用int填充數組,如Char; C++,cin對象
這裏是我的二進制到十進制轉換器我寫道:
#include <iostream>
#include <cmath>
using namespace std;
const int MAX = 6;
int conv(int z[MAX], int l[6], int MAX);
int main()
{
int zelda[MAX];
const int d = 6;
int link[d];
cout << "Enter a binary number: \n";
int i = 0;
while (i < MAX && (cin >> zelda[i]).get()) //input loop
{
++i;
}
cout << conv(zelda, link, MAX);
cin.get();
return 0;
}
int conv(int zelda[MAX], int link[6], int MAX)
{
int sum = 0;
for (int t = 0; t < MAX; t++)
{
long int h, i;
for (int h = 5, i = 0; h >= 0; --h, ++i)
if (zelda[t] == 1)
link[h] = pow(2.0, i);
else
link[h] = 0;
sum += link[t];
}
return sum;
}
與輸入迴路的處理方式,我必須按一個數字的每個輸入後進入。我還沒有添加任何錯誤更正(也有一些變量是模糊的),但是想輸入一個二進制數,例如111111而不是1個輸入,1個輸入,1個輸入等來填充數組。我願意接受任何技術和其他建議。也許輸入它作爲一個字符串,並將其轉換爲一個int?
我會繼續研究。謝謝。
你的變量命名是最吸引人的。 –
您的整個輸入邏輯非常模糊。你爲什麼不簡單閱讀* one *字符串,預計只包含'1'和'0',並將其轉換? –
最佳變量命名法,EVAR :)(不得不發表評論:)) – ScarletAmaranth