0% found this document useful (0 votes)
91 views3 pages

CSCI 2240 Program #1: Math Quiz

This document provides instructions for a C program assignment to generate and score a math quiz. The program must randomly generate addition, subtraction, multiplication, and division problems based on user-specified number of questions and difficulty level, which determines the range of numbers. It must prompt the user for answers, confirm if they are right or wrong, and select a random response. It then reports the user's final score. The program must include functions to generate questions, get answers, and give feedback responses. Sample runs of the program are provided.

Uploaded by

mueed6074
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
91 views3 pages

CSCI 2240 Program #1: Math Quiz

This document provides instructions for a C program assignment to generate and score a math quiz. The program must randomly generate addition, subtraction, multiplication, and division problems based on user-specified number of questions and difficulty level, which determines the range of numbers. It must prompt the user for answers, confirm if they are right or wrong, and select a random response. It then reports the user's final score. The program must include functions to generate questions, get answers, and give feedback responses. Sample runs of the program are provided.

Uploaded by

mueed6074
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 3

CSCI 2240

Program #1
Math Quiz
Concepts Covered
Basic C structure
Input/Output
Control Structures
o Decision
o Repetition
User defined functions
rand()

Your task is to write a C program that randomly generates, conducts, and scores a simple
arithmetic quiz based on certain user parameters. The arithmetic quiz will ask questions
dealing with simple addition, subtraction, multiplication, and division. The user will be
asked to enter the number of questions for the quiz, between 1 and 20 (be sure to verify
and re-prompt if necessary) and a difficulty level between 1 and 4 (also verify).

The difficulty will determine the range of numbers that are randomly generated for the
questions:

Difficulty Range (all integers)


1 1 10
2 1 50
3 1 100
4 -100 100

So a quiz with a difficulty of three might have a problem like 75+4 but would not have
a problem such as -75+4, since negative numbers are only included at difficulty level
four.

Once these parameters are set, the quiz will begin, providing the user with simple
arithmetic statements, where the operations (+, -, *, /) and operands are randomly
generated using rand(). In the case of division, do not allow the second operand to be
zero. Make sure the quiz is different every time!

For each question the user is prompted to enter their answer and will be told if they are
correct or incorrect. There must be three correct and incorrect responses, and the one used
will be randomly selected. If you take a look at the example below, you will see that
Nice!, Good job! and Youre right! are the three randomly selected responses for
correct answers, and there are three more for incorrect answers. If the user answered
incorrectly, the program also prints the correct answer.
After all the questions are given and answered, the score is provided by stating the
number of questions correct / number of questions asked.

For the most part how you write the program solution is up to you; however it must
include at least these functions (feel free to add more):

genQuestion() Used to randomly generate and output a random question based upon a
difficulty which is passed as a parameter. Returns the answer of the question.

answerQuestion() Prompts user for an answer, checks if it is correct based on the


correct answer, which is passed to the function as a parameter. Returns an indicator of
whether or not the answer was correct.

response() Outputs a response to the users answer based upon a passed parameter
which indicates whether the answer was correct or incorrect. The function randomly
selects one of the three responses, either from the correct responses or the incorrect
responses.

Example Runs:
Run 1: Run 2:
How many questions for this test (1 - 20)? 5 How many questions for this test (1 - 20)? 25
Select difficulty (1 - 4): 2 How many questions for this test (1 - 20)? 4
Question 1: 23 / 29 = Select difficulty (1 - 4): -6
Enter Answer: 0 Select difficulty (1 - 4): 1
Nice! Question 1: 2 - 7 =
Question 2: 47 * 8 = Enter Answer: -5
Enter Answer: 376 Nice!
Good Job! Question 2: 4 + 4 =
Question 3: 50 - 5 = Enter Answer: 9
Enter Answer: 42 Sorry!
Sorry! The correct answer was 8
The correct answer was 45 Question 3: 10 / 9 =
Question 4: 7 + 24 = Enter Answer: 1
Enter Answer: 31 You're right!
Good Job! Question 4: 7 / 1 =
Question 5: 32 / 43 = Enter Answer: 7
Enter Answer: 0 Good Job!
Nice! Your score was 3/4
Your score was 4/5

Note: After the programs are collected, any compiled program (executable) in that directory
is deleted and the program is recompiled for testing. Specifically, make sure you compile the
program with the same options that are used for grading:

gcc -Wall ansi pedantic quiz.c

or whatever the file name is. If the compiler generates any errors or warnings you will be
penalized.

You might also like