Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include <cstddef>
- using namespace std;
- int zipcode;
- string total = "";
- int checkdigit;
- int makeCheckDigit(zipcode)
- {
- int zipcode;
- int digit1;
- int digit2;
- int digit3;
- int digit4;
- int digit5;
- digit1 = zipcode % 10000;
- digit2 = zipcode % 1000;
- digit3 = zipcode % 100;
- digit4 = zipcode % 10;
- digit5 = zipcode % 1;
- checkdigit = 10 - ((digit1 + digit2 + digit3 + digit4 + digit5) % 10);
- cout << checkdigit << endl;
- return checkdigit;
- }
- string convertDigit(int value)
- {
- int zipcode;
- std::string temp;
- int i;
- const string HALFBAR = ":";
- const string FULLBAR = "|";
- const string ONEBAR = "00011";
- const string TWOBAR = "00101";
- const string THREEBAR = "00110";
- const string FOURBAR = "01001";
- const string FIVEBAR = "01010";
- const string SIXBAR = "01100";
- const string SEVENBAR = "10001";
- const string EIGHTBAR = "10010";
- const string NINEBAR = "10100";
- const string ZEROBAR = "11000";
- const int NUMBER_OF_DIGITS_IN_A_ZIP_CODE = 5;
- const string ZERO_DIGIT = "0";
- const string ONE_DIGIT = "1";
- if (value == 0) temp = ZEROBAR;
- if (value == 1) temp = ONEBAR;
- if (value == 2) temp = TWOBAR;
- if (value == 3) temp = THREEBAR;
- if (value == 4) temp = FOURBAR;
- if (value == 5) temp = FIVEBAR;
- if (value == 6) temp = SIXBAR;
- if (value == 7) temp = SEVENBAR;
- if (value == 8) temp = EIGHTBAR;
- if (value == 9) temp = NINEBAR;
- i = NUMBER_OF_DIGITS_IN_A_ZIP_CODE;
- string letter;
- for (i = 0; i < 5; i++)
- {
- letter = temp.at(i);
- if (letter == "0")
- {
- letter = HALFBAR;
- total = total + letter;
- }
- else if (letter == "1")
- {
- letter = FULLBAR;
- total = total + letter;
- }
- }
- return total;
- }
- string barcode(zipcode)
- {
- string line = "";
- string checkdigitline;
- string wholeline;
- int digit1;
- int digit2;
- int digit3;
- int digit4;
- int digit5;
- digit1 = zipcode % 10000;
- digit2 = zipcode % 1000;
- digit3 = zipcode % 100;
- digit4 = zipcode % 10;
- digit5 = zipcode % 1;
- int a = 1;
- int i;
- int digit;
- for (i = 1; i < 6; i++)
- {
- digit = zipcode % a;
- line = line + convertDigit(digit);
- a = a * 10;
- }
- line = convertDigit(digit);
- checkdigitline = convertDigit(makeCheckDigit(zipcode));
- wholeline = "|" + line + checkdigitline + "|";
- cout << wholeline;
- return wholeline;
- }
- int main()
- {
- string bar;
- cout << "Enter the zipcode" << endl;
- cin >> zipcode;
- if (zipcode < 0)
- {
- cout << "Please enter a nonzero five digit number." << endl;
- cin >> zipcode;
- }
- bar = barcode(zipcode);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement