Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2016
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.55 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <cstddef>
  4. using namespace std;
  5. int zipcode;
  6. string total = "";
  7. int checkdigit;
  8.  
  9. int makeCheckDigit(zipcode)
  10. {
  11. int zipcode;
  12. int digit1;
  13. int digit2;
  14. int digit3;
  15. int digit4;
  16. int digit5;
  17.  
  18. digit1 = zipcode % 10000;
  19. digit2 = zipcode % 1000;
  20. digit3 = zipcode % 100;
  21. digit4 = zipcode % 10;
  22. digit5 = zipcode % 1;
  23. checkdigit = 10 - ((digit1 + digit2 + digit3 + digit4 + digit5) % 10);
  24. cout << checkdigit << endl;
  25. return checkdigit;
  26. }
  27.  
  28. string convertDigit(int value)
  29. {
  30. int zipcode;
  31. std::string temp;
  32. int i;
  33. const string HALFBAR = ":";
  34. const string FULLBAR = "|";
  35. const string ONEBAR = "00011";
  36. const string TWOBAR = "00101";
  37. const string THREEBAR = "00110";
  38. const string FOURBAR = "01001";
  39. const string FIVEBAR = "01010";
  40. const string SIXBAR = "01100";
  41. const string SEVENBAR = "10001";
  42. const string EIGHTBAR = "10010";
  43. const string NINEBAR = "10100";
  44. const string ZEROBAR = "11000";
  45. const int NUMBER_OF_DIGITS_IN_A_ZIP_CODE = 5;
  46. const string ZERO_DIGIT = "0";
  47. const string ONE_DIGIT = "1";
  48.  
  49. if (value == 0) temp = ZEROBAR;
  50. if (value == 1) temp = ONEBAR;
  51. if (value == 2) temp = TWOBAR;
  52. if (value == 3) temp = THREEBAR;
  53. if (value == 4) temp = FOURBAR;
  54. if (value == 5) temp = FIVEBAR;
  55. if (value == 6) temp = SIXBAR;
  56. if (value == 7) temp = SEVENBAR;
  57. if (value == 8) temp = EIGHTBAR;
  58. if (value == 9) temp = NINEBAR;
  59.  
  60. i = NUMBER_OF_DIGITS_IN_A_ZIP_CODE;
  61. string letter;
  62.  
  63. for (i = 0; i < 5; i++)
  64. {
  65. letter = temp.at(i);
  66. if (letter == "0")
  67. {
  68. letter = HALFBAR;
  69. total = total + letter;
  70. }
  71. else if (letter == "1")
  72. {
  73. letter = FULLBAR;
  74. total = total + letter;
  75. }
  76. }
  77. return total;
  78. }
  79. string barcode(zipcode)
  80. {
  81. string line = "";
  82. string checkdigitline;
  83. string wholeline;
  84. int digit1;
  85. int digit2;
  86. int digit3;
  87. int digit4;
  88. int digit5;
  89.  
  90. digit1 = zipcode % 10000;
  91. digit2 = zipcode % 1000;
  92. digit3 = zipcode % 100;
  93. digit4 = zipcode % 10;
  94. digit5 = zipcode % 1;
  95. int a = 1;
  96. int i;
  97. int digit;
  98.  
  99. for (i = 1; i < 6; i++)
  100. {
  101. digit = zipcode % a;
  102. line = line + convertDigit(digit);
  103. a = a * 10;
  104. }
  105.  
  106. line = convertDigit(digit);
  107. checkdigitline = convertDigit(makeCheckDigit(zipcode));
  108. wholeline = "|" + line + checkdigitline + "|";
  109. cout << wholeline;
  110. return wholeline;
  111. }
  112. int main()
  113. {
  114. string bar;
  115. cout << "Enter the zipcode" << endl;
  116. cin >> zipcode;
  117. if (zipcode < 0)
  118. {
  119. cout << "Please enter a nonzero five digit number." << endl;
  120. cin >> zipcode;
  121. }
  122. bar = barcode(zipcode);
  123. return 0;
  124. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement