Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Program Requirements ( Implement these requirements in main . c file ) In the following information, numbered points describe a core requirement of the program,

Program Requirements (Implement these requirements in main.c file)
In the following information, numbered points describe a core requirement of the program, and bullet
points (in italics) are additional details, notes and hints regarding the requirement. Ask your tutor if
you do not understand the requirements or would like further information.
1. Print a welcome message, and then prompt the user to select a difficulty by entering 1,2 or 3.
2. Use a loop to re-prompt the user until a valid response (1,2 or 3) is entered. Once a difficulty has
been selected, print a message confirming the selected difficulty and set variables as follows:
If Easy(1) was chosen... lives =3, max_num =10 and questions =5
If Medium(2) was chosen... lives =2, max_num =30 and questions =10
If Hard(3) was chosen... lives =1, max_num =60 and questions =15
lives represents how many incorrect answers are permitted, max_num represents the largest
number used when generating a question, and questions represents the number of questions.
3. Set a score variable to 0, and then enter a loop that repeats questions times.
score will be used to keep track of how many questions the user has answered correctly.
The body of this loop must...
3.1. Print which question the user is up to out of the total number of questions, as well as
how many lives that have remaining, e.g.Question 1 of 5. You have 2 lives remaining.
Print 1 life remaining rather than 1 lives remaining if lives is 1.
3.2. If the current question is not the final question of the test, use the ask_question
function (detailed below) to generate and administer a question involving numbers between
1 and max_num.
If the current question is the final question of the test, print Challenge question! and use
the ask_question function (user defined) to generate and administer a question
involving numbers between max_num and max_num multiplied by 2.
e.g. The challenge question on Easy difficulty would use numbers between 10 and 20.
3.3. If the ask_question function returns a value of True, add one to the score variable.
Otherwise, subtract 1 from the lives variable. If the lives variable is now 0, print Out
of lives, game over! and immediately end the test (proceeding to Requirement 4).
4. Print a test complete message, followed by a message that displays the users score out of
questions, and what percentage that represents, e.g.You scored 3/5(60%).
Round the percentage value to the nearest whole number.
5. Print the users grade, based upon their percentage. The grades are High Distinction (100-80%),
Distinction (79-70%), Credit (69-60%), Pass (59-50%) and Fail (49-0%).
Semester 1,2024 CSP2151 Assignment 2 Page 5
The ask_question Function
There are two points in Requirement 3.2 where the program must generate and administer a question.
This is a self-contained task consisting of a number of steps, with the only difference being the
minimum and maximum numbers to use. As such, it is ideal to create a function for this task.
You must create a function named ask_question that receives two parameters:
minimum, an integer representing the smallest number to use in the question
maximum, an integer representing the largest number to use in the question
The function should generate two random integers between minimum and maximum, and then
randomly select a mathematical operator of either '+' or '-' for easy and medium difficulties, and
'+','-',x(multiplication) or /(division) for hard difficulty. It should use these
values to display a question, e.g.What is 4+5?, and prompt the user for their answer.
If the user answers correctly, the function should print Correct! and return the Boolean value of
True. Otherwise, the function should print Incorrect! and the correct answer, and return False.
The code that you design and write to implement this function is up to you, but you may find it useful
to use the following C function:
The rand() function, to generate random numbers within a range
The definition of the function should be at the start of the program, and it should be called where
needed in the program. Revise Module 4 and 10 if you are uncertain about defining and using
functions, and be sure to implement it so that it receives and returns values exactly as described
above.
Ensure that the function does exactly what is specified above and nothing more it is important to
adhere to the stated specifications of a function, and deviating from them will impact your marks.
Create additional functions (2 max) in your program to achieve a modular solution.
Semester 1,2024 CSP2151 Assignment 2 Page 6
Additional Features (Implement these additional features on top of basic
program requirements in a separate main_additions.c file)
Below are some additional features that you need make to the program to further test and
demonstrate your prog

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Oracle Databases On The Web Learn To Create Web Pages That Interface With Database Engines

Authors: Robert Papaj, Donald Burleson

11th Edition

1576100995, 978-1576100998

More Books

Students also viewed these Databases questions