The U.S. Postal Service printed a bar code on every envelope that represented a five- (or more) digit zip code using a format called POSTNET (this format was deprecated in favor of a new system, OneCode, in 2009). The bar code consists of long and short bars as shown:
For this
Therefore, the bar code would be represented in our program as
110100101000101011000010011 |
The first and last digits of the bar code are always 1. Removing these leaves 25 digits. If these 25 digits are split into groups of 5 digits each, we have
10100 10100 01010 11000 01001 |
Next, consider each group of 5 digits. There will always be exactly two 1s in each group of digits. Each digit stands for a number. From left to right, the digits encode the values 7, 4, 2, 1, and 0. Multiply the corresponding value with the digit and compute the sum to get the final encoded digit for the zip code. The table below shows the encoding for 10100.
Bar Code Digits | 1 | 0 | 1 | 0 | 0 |
Value | 7 | 4 | 2 | 1 | 0 |
Product of Digit 4 Value |
Zip Code Digit = 7 + 0 + 2 + 0 + 0 = 9 |
Repeat this for each group of 5 digits and concatenate to get the complete zip code. There is one special value. If the sum of a group of 5 digits is 11, then this represents the digit 0 (this is necessary because with two digits per group it is not possible to represent zero). The zip code for the sample bar code decodes to 99504. Although the POSTNET scheme may seem unnecessarily complex, its design allows machines to detect if errors have been made in scanning the zip code.
Write a zip code class that encodes and decodes 5-digit bar codes used by the U.S. Postal Service on envelopes. The class should have two constructors. The first constructor should input the zip code as an integer, and the second constructor should input the zip code as a bar code string consisting of 0s and 1s, as described above. Although you have two ways to input the zip code, internally, the class should store the zip code using only one format (you may choose to store it as a bar code string or as a zip code number). The class should also have at least two public member functions, one to return the zip code as an integer, and the other to return the zip code in bar code format as a string. All helper functions should be declared private. Embed your class definition in a suitable test program. Your program should print an error message if an invalid bar code is passed to the constructor.
Want to see the full answer?
Check out a sample textbook solutionChapter 10 Solutions
Problem Solving with C++ (10th Edition)
Additional Engineering Textbook Solutions
Starting Out with Java: From Control Structures through Data Structures (4th Edition) (What's New in Computer Science)
C How to Program (8th Edition)
Computer Systems: A Programmer's Perspective (3rd Edition)
Absolute Java (6th Edition)
Web Development and Design Foundations with HTML5 (8th Edition)
Computer Science: An Overview (12th Edition)
- In python language, including print(song)arrow_forwardIn C Programming Language Palindrome: “A palindrome is a word, phrase, number, or other sequence of characters which reads the same backward or forward, such as ‘madam’ or ‘kayak’” (excerpt from Wikipedia).Write a program that reads 8 words from Palindrome.txt and checks whether the word you read is a palindrome (please read its description above) or not. Print the index numbers of all the palindrome words in your array. You are required to read words character by character into a character array.• Write readFile function, which gets a file pointer and a two-dim array, to read each word(bunch of characters) line by line and store them into a two-dim character array.• Write findSize function takes a one-dim array and returns its actual size.• Write isPalindrome function takes a one-dim character array to check whether the content is a polindrome or not. If the word (character squence) is a palindrome, then it returns 1. Otherwise, it returns 0.arrow_forwardMany documents use a specific format for a person's name. Using string objects, not vectors nor C-strings, write a program whose input is: firstName middleName lastName and whose output is: lastName, firstInitial.middlelnitial. Ex: If the input is: Pat Silly Doe the output is: Doe, P.S. If the input has the form: firstName lastName the output is: lastName, firstInitial. Ex: If the input is: Julia Clark the output is: clark, J. 448070.3207206.qx3zqy7 LAB ACTIVITY 9.11.1: LAB: Chapman Name format 1 #include 2 #include 3 using namespace std; 4 int main() { 5 /* Type your code here. */ 6 7 return 0; 01 main.cpp 0/10 Load default template...arrow_forward
- Create an application that generates a histogram so you can examine the frequency distribution of a collection of values visually. A random number of integers between 1 and 100 inclusive should be entered into the programme. After that, it should generate a chart like the one below, showing how many input values went between 1 and 10, 11 to 20, and so on.For each number entered, print one asterisk. 1 - 10 | ***** 11 - 20 | ** 21 - 30 | ******************* 31 - 40 | 41 - 50 | *** 51 - 60 | ******** 61 - 70 | ** 71 - 80 | ***** 81 - 90 | ******* 91 – 100 | ********arrow_forwardThe Fibonacci series is a series that begins with 0 and 1 and has the property that each succeeding term is the sum of the two preceding terms. For example, the third Fibonacci number is 1 which is sum of 0 and 1. The next is 2, which is a sum of 1 + 1. Write a program that displays the first ten numbers in a Fibonacci series.arrow_forwardThe Research team led by Bernadette Wolowitz at Cal-tech University has discovered a new Amoeba that grows in the order of a Fibonacci series every month. They are exhibiting this amoeba in a national. conference. They want to know the size of the amoeba at a particular time instant. If a particular month's index is given, write a program to display the amoeba's size. For Example, the size of the amoeba on month 1, 2, 3, 4, 5, 6,... will be 0, 1, 1, 2, 3, 5, 8.... respectively.arrow_forward
- Java with out string formarrow_forwardWrite a program that asks the user to enter an account number as a string. The account number consists of 8 characters and is divided as follows: The first 2 characters are digits and represent the branch (00 for Beirut, 01 for Saida, 02 for Tripoli). • The remaining 6 characters represent the customer's account number A valid account number consists of exactly 8 characters. If the account is valid, the program prints the details (branch and account number). If the account is not valid, the program displays a message to the user. Sample Run 1: Enter a string: 100201 Not valid //It is not valid because the string is not composed of 8 characters Sample Run 2: Enter a string: AB100201 Not valid //It is not valid because the branch is wrong Sample Run 3: Enter a string: 00100201 Branch: Beirut Customer number: 100201 Sample Run 4: Enter a string: 0210AB01 Branch: Tripoli Customer number: 10AB01arrow_forwardUsing Tkinter Library in Python: A particular talent competition has five judges, each of whom awards a score between 0 and 10 to each performer. Fractional scores, such as 8.3, are allowed. A performer’s final score is determined by dropping the highest and lowest score received, then averaging the three remaining scores. Write a program that uses this method to calculate a contestant’s score. The scores are entered in 5 entry boxes, your program will display a contestant’s score using a variable label on the window of your program (not a message box). Your program would show an error message (using a message box) if any score entered by the user is negative or greater than 10.arrow_forward
- In python programming A palindromic prime is a prime number and also palindromic. For example, 131 is a prime and also a palindromic prime. Write a function that displays n palindromic prime numbers, display 10 numbers per line. displayPalindromicPrime(n), where n – is the number of palindromic prime numbers to display Prompt the user to enter how many numbers to display. These are 20 palindromic prime numbers: 2 3 5 7 11 101 131 151 181 191 313 353 373 383 727 757 787 797 919 929arrow_forwardDNA sequences are strings made of combinations of four letters: A, C, G, and T. A substring refers to a string that is a continuous segment of a larger string; in the context of DNA, this would be a fragment of our DNA sequence. Write a program that asks the user for two input strings: a complete DNA sequence a DNA fragment whose occurrence is to be found in our complete DNA sequence. The program must display the number of matches as the output. Make sure to validate that your sequence is a DNA sequence -- i.e., that it contains no letters aside from A, C, G, and T.arrow_forwardWrite a program that reads a sentence and store it in an array of characters. The program also reads a word and store in it a string variable. The program then conceals the word in the sentence with the character @'. Sample input / output: Enter a sentence: The town in which we live is a green town and big Enter a word: town Result: The @aa@ in which we live is a green @@@@ _and bigarrow_forward
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education