Anne
Dawson: CSCI101A_HW1_SP04.htm
Last
updated: Saturday 17th January 2004, 11:08 PT, AHD
This
document is subject to change without notice.
Please
report any errors or omissions in this document to
adawson@coquitlamcollege.com
For due
date, see course schedule.
Special
instructions: Each student must
complete this homework.
CSCI101A
Homework 1
-------------------
Specification:
-------------
Write a
program (HW1.cpp) that will help an elementary school student learn multiplication.
Your program will generate two random numbers
in the range 1 to 9. It should then display
a question such as:
How much
is 6 times 7?
The student
then types the answer. Your program checks
the student's answer. If it is correct, the text "Very good!" is
displayed followed by the next multiplication question. If the answer is wrong,
display the text "Incorrect answer. The correct answer is X." where X
is the correct answer, before moving on to the next question. The program
displays ten questions, and then displays the resulting score out of ten as a
percentage. If the percentage is 70% or
more, display the text "Well done! Keep up the good work!" otherwise
the text "Please see your instructor for extra help" should be
displayed.
Your main
program should call the functions getNumber and doTheMath. The headers of these
functions are as follows:
int
getNumber( void )
bool
doTheMath( int num1, int num2)
getNumber
returns a random integer number in the range 1 to 9. You should study the
program:
http://www.coquitlamcollege.com/adawson/random.cpp
for an example of random number generation in C++.
doTheMath
receives two random numbers, displays the multiplication question using these
two numbers, and returns a Boolean value; doTheMath returns the value true if
the student correctly answers the question, otherwise it returns the Boolean value
false.
The
main function calls the getNumber and doTheMath functions, and calculates and displays
the result.
Marking
Scheme :
--------------
The
following marking scheme applies:
Course
Code: CSCI101A
Semester: SP04
Assignment
Code: HW1
Instructor
Name: Dr Anne Dawson
Student
Name:
Student
Number:
DESIGN
1. The program has appropriate modularity
i.e. functions are used where it makes
sense to use them. /10
2. Appropriate data types are used. /10
3. Appropriate control structures are used
(i.e. loops and decisions). /10
4. The User Interface (output to the screen) is
clear and tidy. /10
MAINTAINABILITY
5. The program is commented appropriately -
including
date, filename and pre- and post-condition
comments. /10
6. The program has meaningful identifiers. /10
7. The program is indented (spaced out)
correctly, to
aid the understanding of the code. /10
8. The code is easy to follow. /10
CORRECTNESS:
9. The program compiles with 0 errors and 0
warnings. /10
10.
Appropriate test data and results are shown in
the comments at the top of the code.
An appropriate number and variety of test
data
sets is supplied. /10
% Complete:
Total: /100
Date: