c++ - for is not working properly or something wrong with switch?
- %Artur <eternal.beast googlemail.com> Dec 01 2008
- Artur <eternal.beast googlemail.com> Dec 01 2008
/*This prog supposed to convert from binary number system to decimal but
something is not
working properly please help*/
#include <iostream>
using namespace std;
int main()
{
int a[8],sum=0;
cout << endl;
cout << "Input Binary number(with spaces between digits): ";
for(int i=0;i<=7;i++)
{
cin >> a[i];
if((a[i]!=1)&&(a[i]!=0))//Strange indeed!!! I tried || but my message
showed up.
{
cout << "You entered wrong digit!!!" << endl;
i--;
}
}
for(int i=7;i>-0;i++) // I also tried for(int i=7;i>=0;i--) but get same
results
{ // results of 000000001 is 128 and of 10000000 is 1?!
if(a[i])
{
switch(i) // ofcourse I can just change cases but it is not the way
"for" must work...
{
case 0:
sum+=1;
break;
case 1:
sum += 2;
break;
case 2:
sum += 4;
break;
case 3:
sum += 8;
break;
case 4:
sum += 16;
break;
case 5:
sum += 32;
break;
case 6:
sum += 64;
break;
case 7:
sum += 128;
break;
default: cout << "This shall not happen!" << endl;
}
}
}
cout << sum;
}
Dec 01 2008
/*This prog supposed to convert from binary number system to decimal but
something
is not
working properly please help*/
#include <iostream>
using namespace std;
int main()
{
int a[8],sum=0;
cout << endl;
cout << "Input Binary number(with spaces between digits): ";
for(int i=0;i<=7;i++)
{
cin >> a[i];
if((a[i]!=1)&&(a[i]!=0))//Strange indeed!!! I tried || but my message
showed up.
{
cout << "You entered wrong digit!!!" << endl;
i--;
}
}
for(int i=0;i<8;i++) // I also tried for(int i=7;i>=0;i--) but get same
results
{ // results of 000000001 is 128 and of 10000000 is 1?!
if(a[i])
{
switch(i) // ofcourse I can just change cases but it is not the way
"for"
must work...
{
case 0:
sum+=128;
break;
case 1:
sum += 64;
break;
case 2:
sum += 32;
break;
case 3:
sum += 16;
break;
case 4:
sum += 8;
break;
case 5:
sum += 4;
break;
case 6:
sum += 2;
break;
case 7:
sum += 1;
break;
default: cout << "This shall not happen!" << endl;
}
}
}
cout << sum;
}
Dec 01 2008








Artur <eternal.beast googlemail.com>