Hello all,
I've got a question regarding a programming assignment that is due by midnight. The objective is to create a program that converts a binary number (up to 32 bits long) to decimal. The problems I have run up against thus far are:
1) Without the error checking for an entry being 1 or 0, I have a problem getting the original binary number to be displayed on the "____ in binary is ____ in decimal." line.
2) With error checking, it keeps automatically passing by the binary number entry line and saying that it is not a valid binary number.
Here is my current code:
Thanks for any help/advice given.Code:#include <iostream> #include <iomanip> using namespace std; int main() { char entry[32]; char decision, exit_option; int place = 0, digit, decimal = 0; int n = 0, power = 1; cout << "This program converts positive integer binary numbers" << " (up to 32 bits) into a decimal number.\n\n" << "Would you like to convert a binary number? (Y or y): "; cin >> decision; exit_option = 'Y'; while((exit_option == 'Y')||(exit_option == 'y')) { if((decision == 'Y')||(decision == 'y')) { cout << "\n\nPlease enter your binary number:\n\n"; cin >> entry[0]; while (entry[place] != '\n') { place ++; cin >> noskipws >> entry[place]; } if((entry[place] != 1)||(entry[place] != 0)) { cout << "\n\nThis is not a binary number. Try again? "; cin >> exit_option; } else { for(digit = place-1; digit >= 0; digit --) { decimal += (entry[digit] - '0')*power; power *= 2; } cout << entry[place] << "in binary is " << decimal << " in decimal.\n\n"; cout << "Continue? (Y or y): "; cin >> exit_option; } } else { cout << "Thanks anyway!"; exit_option = 'n'; } } cout << "\n\nThank you for using the Binary Number Convertor!\n\n"; return 0; }



LinkBack URL
About LinkBacks



