Advertisement
Guest User

Untitled

a guest
May 22nd, 2015
211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.10 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <sstream>
  4. using namespace std;
  5. int main()
  6. {
  7. string hexadecimal;
  8. //convert hexadecimal to string characters
  9. int len, counter =0, variable=0, valid;
  10. char h;
  11.  
  12. cout<<"This program converts hexadecimal numbers to decimal numbers."<<endl
  13. <<"Enter a hexadecimal number: ";
  14.  
  15. cin>>hexadecimal;
  16.  
  17. len = hexadecimal.length(); //find length of function
  18. for ( counter = 0; counter < len; counter++)
  19. {h =hexadecimal.at(counter); //retrieve individual character
  20.  
  21. if (h>='0' && h<='9')
  22. {valid = h - '0';}
  23.  
  24. else if (h>= 'A' && h<= 'F')
  25. {
  26. switch (h)
  27. {
  28. case('A'): valid = 10;
  29. break;
  30. case('B'): valid = 11;
  31. break;
  32. case('C'): valid = 12;
  33. break;
  34. case('D'): valid = 13;
  35. break;
  36. case('E'): valid = 14;
  37. break;
  38. case('F'): valid = 15;
  39. break;
  40. }
  41. } //convert letters to numbers
  42.  
  43. else if (h>= 'a' && h<= 'f')
  44. {
  45. switch (h)
  46. {
  47. case('a'): valid = 10;
  48. break;
  49. case('b'): valid = 11;
  50. break;
  51. case('c'): valid = 12;
  52. break;
  53. case('d'): valid = 13;
  54. break;
  55. case('e'): valid = 14;
  56. break;
  57. case('f'): valid = 15;
  58. break;
  59. }
  60. } //convert letters to numbers
  61. else if (h = 'X')
  62. {cout<<"Goodbye";
  63. return 0;}
  64. else
  65. {cout<<"Invalid hexadecimal number";
  66. return 0;
  67. } //test character to be within range
  68.  
  69. variable = variable * 16 + valid;
  70. }
  71. cout <<"The decimal number for "<<hexadecimal<<" is "<<variable;
  72. return 0;
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement