Lab 1

Due Sept 10, 11:59pm


  1. Starting with this lab, you must follow the guidelines on Program Style described in section 2.5 of the textbook. In particular, follow the style given in Display 2.16 (page 95) of the textbook. You will lose points if you don't. You must follow these guidelines in all future labs (including Lab1).
  2. For Project 7, all decimal point numbers must be printed with 2 digits after the decimal point. (e.g. 2.50 instead of 2.5). See pages 55-57 of the textbook for this.

Part I (20 pts)

Do Programming Project 7 (harder version) at the end of Chapter 2 (page 106)

Part II (20 pts)

Write a C++ program which takes a 4-digit number (integer) as input from the user and prints the number in reverse order. For example, if the number entered is 5678 then the output should be 8765. The program should repeat this until the user decides to quit.

You need to pay attention to the following:

  1. Provide appropriate comments in your code
  2. Use meaningful identifiers
  3. Don't take the input as a sequence of characters. Take it as a single integer. Also, construct the output as a single integer, as opposed to printing it digit by digit.
  4. Your program should give a warning message if the number (value) is not a 4-digit number. For example, 0345 is not considered to be a 4-digit number.
  5. Your program should not be case-sensitive for the user choice i.e. both Q and q are should be acceptable quit.
  6. You may assume that when asked to enter a 4-digit number, the user enters a positive integer (as opposed to other kind of data, such as a character)
  7. When the last digit (units) of the input is 0, the reverse is not a 4-digit number. So it is Ok to report the reverse as a 3-digit number in that case.
Here is a typical dialogue for this program:
Enter a 4-digit number
This is not a 4-digit number: Enter a 4-digit number 
The reverse number is 4321 
Enter Q to quit, enter any letter to continue  C 
Enter a 4-digit number 
The reverse number is 1009 
Enter Q to quit, enter any letter to continue 
Thanks for using this program, bye !...

Important hint

  • The integer % operator gives the remainder of a division of two values. For example: x = 11 % 3; results in x = 2;
  • When integers are divided, the result of the / operator is the algebraic quotient with any fractional part discarded. For example: x = 11 / 3; results in x = 3.
  • If the number entered is n, what does n %10 give you? How about n/10?
Edit | Attach | Watch | Print version | History: r5 < r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r2 - 2015-08-28 - JimSkon
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback