/* * @topic T00250 string input and validation * @brief <br />using hexadecimal and decimal output format<br /><br /> */ /* This is our first prototype for homework Assignment that deals with binary to hex conversion. The program below can input and validate user input. The work is done in separate functions. The main() function makes calls to delegate tasks to other functions. The program also shows how you can display numbers in hexadecimal or decimal format. */ #include <string> #include <iostream> // function to validate user input bool validate_user_input( std::string str ) { // make sure that str is made of only '0' and '1' characters int idx = 0; int size = str.length(); for ( ; idx < size; ++idx ) { // for every character in the string char ch = str[ idx ]; // get character if ( ch == '0' ) { // if zero, continue; // go on } else if ( ch == '1' ) { // if one, continue; // go on } else { // if anything else, return false; // validation fails } }//for // no characters other than zero or one were found, return true; // validation succeeds } // function to display prompt and get user input std::string get_user_input( std::string prompt ) { std::cout << prompt; // display prompt std::string str; // create string std::cin >> str; // get user input return str; // return user input } // program begins here: int main() { std::string str_bin_num; // Until the user enters a binary number correctly, // keep asking for input: for(;;) { // forever -- endless loop // get user input: str_bin_num = get_user_input( "Enter a bin #>" ); // validate user input: if ( validate_user_input( str_bin_num ) ) { // everything is okay, break; // exit the loop } else { std::cout << "bad input! please retry\n"; } }//for std::cout << "You typed: " << str_bin_num << '\n'; // The rest of this demo shows how to int value = 0x5A7BF; // specify hex number in your program std::cout << std::hex << value << '\n'; // display the hex number std::cout << std::dec << value << '\n'; // display the decimal number return 0; }