这是一个非常简单的问题;第一次海报和很长一段时间的形象。用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