UNIVERSITY OF MACAU
FACULTY OF BUSINESS ADMINISTRATION
ISOM 3029 - Computer Programming Using C++
2023/2024 (Fall Semester)
Assignment 1
Due date: Nov. 20, 2023 (Session 002) & Nov. 21, 2023 (Session 001) in class
Instructions:
Read the Assignment Requirements posted in the UMMoodle before attempting to solve the
following problems with C++ programs.
Both the hardcopy and softcopy of your assignment should be submitted on time. All
programs (.cpp files) are to be compressed and uploaded to the UMMoodle under the
“Submit Assignment 1” button. The compressed file should be named with your student
number such as “ba12345_Ass1.zip”.
Question 1: Lottery Program (50%)
Write a C++ program that outputs a greeting message at the beginning, then generates 6 positive
random digits with different values ranging from 1 to 9 for a lottery game. The program prompts the
user to input 6 positive digits and then checks if there is an exact match of all the 6 numbers. It will
output different awards for different matches according to the following rules: Win $5000 for 6 correct
matches, $3000 for 5 correct matches, and $1000 for 4 correct matches. Your program should allow
the user to choose to continue or not and will output a message to end the program.
(Bonus part: Try to include some error-checking as shown below.)
Sample Input & Output:
================================
Welcome to the Lottery Program!
================================
Please enter 6 different positive digits: 1 6 2 4 7 3
The 6 drawn numbers are: 3 4 2 6 1 7
You have 6 correct matches! You win $5000!
Would you like to continue (Y for Yes, N for No)? Y
++++++++++++++++++++++++++++++++++++++++++++++++++++
Please enter 6 different positive digits: 5 1 2 7 4 3
The 6 drawn numbers are: 5 3 2 6 1 7
P.2
You have 5 correct matches! You win $3000!
Would you like to continue (Y for Yes, N for No)? Y
++++++++++++++++++++++++++++++++++++++++++++++++++++
Please enter 6 different positive digits: 1 9 2 8 7 3
The 6 drawn numbers are: 8 9 4 6 1 7
You have 4 correct matches! You win $1000!
Would you like to continue (Y for Yes, N for No)? Y
++++++++++++++++++++++++++++++++++++++++++++++++++++
Please enter 6 different positive digits: 1 6 8 9 5 3
The 6 drawn numbers are: 3 4 2 6 1 7
You have 3 correct matches! Sorry, no prize for you!
Would you like to continue (Y for Yes, N for No)? Y
++++++++++++++++++++++++++++++++++++++++++++++++++++
Please enter 6 different positive digits: 1 2 3 -5 6 9
Your input is invalid! Please try again!
Would you like to continue (Y for Yes, N for No)? N
++++++++++++++++++++++++++++++++++++++++++++++++++++
Please enter 6 different positive digits: 1 2 3 6 6 9
Your input is invalid! Please try again!
Would you like to continue (Y for Yes, N for No)? N
++++++++++++++++++++++++++++++++++++++++++++++++++++
Thank you very much!
Question 2: Sales System (50%)
A sportswear shop at a certain outlet launches promotional sales during the New Year. It advertises
that all sports-shoes are 10% off. If the customer buys 2 pairs (with each pair being above $200), an
additional 10% off will be applied. If the customer buys 3 pairs (with each pair being above $200),
an additional 15% off will be applied. If the customer buys 4 pairs or more (with each pair being
above $200), an additional 20% off will be applied. For sports-shoes below $200, only the original
advertised 10% off will be effective. For example, if the customer buys 2 pairs priced at $300 each,
the price after discount will be $300x2x0.9x0.9=$486 plus sales tax. If the customer buys 2 pairs
priced at $300 each and 1 pair priced at $100, the price after discount will be
$300x2x0.9x0.9+$100x0.9=$576 plus sales tax.
Write a C++ program that will print the total price that the customer should pay, by asking the salesgirl
to input the sales tax (e.g. input 5 for 5%), the number of purchased shoes, and the retail prices of the
P.3
purchased sports-shoes one by one. The program will help to calculate the total price after considering
the sales promotion as advertised and the sales tax. The total price will be rounded to the nearest dollar,
without charging any extra cents (e.g., if the calculated total price is $580.5, the total price being
charged will be $580.00 only). (Bonus part: Try to think of some error-checking for user inputs.)
Sample Input & Output:
===========================
Welcome to the Sales System
===========================
Please enter sales tax in % : 5
Number of purchased shoes : 2
Retail Price for shoes 1 : $300
Retail Price for shoes 2 : $300
-----------------------------------------
Less: Discount applied : $114.00
Total price before tax : $486.00
Total price after tax (5%) : $510.00
-----------------------------------------
Do you wish to continue? (Y/N) Y
===========================
Welcome to the Sales System
===========================
Please enter sales tax in % : 6
Number of purchased shoes : 3
Retail Price for shoes 1 : $299
Retail Price for shoes 2 : $100
Retail Price for shoes 3 : $800
-----------------------------------------
Less: Discount applied : $218.81
Total price before tax : $980.19
Total price after tax (6%) : $1039.00
-----------------------------------------
Do you wish to continue? (Y/N) Y
===========================
Welcome to the Sales System
===========================
Please enter sales tax in % : 5.5
Number of purchased shoes : 4
Retail Price for shoes 1 : $500
Retail Price for shoes 2 : $100
Retail Price for shoes 3 : $699
Retail Price for shoes 4 : $1200
-----------------------------------------
Less: Discount applied : $573.76
Total price before tax : $1925.24
Total price after tax (5.5%): $2031.00
-----------------------------------------
Do you wish to continue? (Y/N) N
Thank you very much!