In: Computer Science
hello! So I have this CIS assignment lab but when I try to make the code I don't really know where to start from. My professor is very hard and he likes to see the outcomes as they are shown in the problem. Please help me!
Write a program that can be used as a math helper for an
elementary student. The program should display two random integer
numbers that are to be added, such as:
247
+ 129
-------
The program should wait for the students to enter the answer. If
the answer is correct, a message of congratulations should be
printed. If the answer is incorrect, a message should be printed
showing the correct answer.
The program displays a menu allowing the user to select an
addition, subtraction, multiplication, or division problem. The
final selection on the menu should let the user quit the program.
After the user has finished the math problem, the program should
display the menu again. This process is repeated until the user
chooses to quit the program.
Input Validation: If the user select an item not on the menu,
display an error message and display the menu again.
Requirements:
Addition
Generate two random numbers in the range 0 - 9.
Subtraction
Generate two random numbers in the range 0 - 9.
num1 = rand() % 10;
num2 = rand() % 10;
Make sure num2 <= num1...
while (num2 > num1)
num2 = rand() % 10;
Multiplication
Generate two random numbers. The first in the range 0 - 10, the
second in the range 0 - 9.
Division
Generate a single digit divisor
num2 = rand() % 9;
Generate a num1 that is a multiple of num2 so the division has no
remainder. The num1 is never zero.
num1 = num2 * (rand() % 10 + 1);
All constant values must be declare as a constant variable. Use
the constant variable in the calculation.
Validating the selection (1 to 5). If the selection is not in the
range between 1 and 5, the program keeps asking the input until the
correct selection is entered.
Comments in your program to explain the code logic and
calculation.
Output sample:
Menu
1. Addition problem
2. Subtraction problem
3. Multiplication problem
4. Division problem
5. Quit this program
Enter your choice (1-5): 1
1
+ 2
---
4
Sorry, the correct answer is 3.
Menu
1. Addition problem
2. Subtraction problem
3. Multiplication problem
4. Division problem
5. Quit this program
Enter your choice (1-5): 7
The valid choices are 1, 2, 3, 4, and 5. Please choose: 2
8
+ 6
---
2
Congratulations! That's right.
Menu
1. Addition problem
2. Subtraction problem
3. Multiplication problem
4. Division problem
5. Quit this program
Enter your choice (1-5): 3
9
* 4
---
36
Congratulations! That's right.
Menu
1. Addition problem
2. Subtraction problem
3. Multiplication problem
4. Division problem
5. Quit this program
Enter your choice (1-5): 4
8 / 2 = 4
Congratulations! That's right.
Menu
1. Addition problem
2. Subtraction problem
3. Multiplication problem
4. Division problem
5. Quit this program
Enter your choice (1-5): 4
6 / 2 = 3
Congratulations! That's right.
Menu
1. Addition problem
2. Subtraction problem
3. Multiplication problem
4. Division problem
5. Quit this program
Enter your choice (1-5): 5
"Thank you for using math helper!"
To solve this problem I'm using Python Language ---
ALGORITHM ---
At the very beginning we need to declare two variables which is ranged between 0 to 9 , the only ten digits.
Let the numbers are num1 and num2.Then we have to make four functions for each specific works (Add,Sub,Mul,Div).We just add the two integers formed randomly like as ; num1+num2.
The sub is same as the add just we just need to add some conditions like if the first digit is smaller than the second one then we get a negative sign . So to avoid this sign we just need one condition the second number have to be smaller than the first one like as ; num2<=num1.
The mul is nothing just we have to multiply the both numbers and get the result.
The div is quite amazing.Here we need to see upon the divisor because if the divisor is one digit then we have to give a condition that is; num2 = rand() % 9 and generate a num1 that is a multiple of num2 so the division has no remainder. The num1 is never zero.num1 = num2 * (rand() % 10 + 1);All constant values must be declare as a constant variable. Use the constant variable in the calculation.
CODE ---
[ In the programme I use the first and the second number as a & b in place of num1 and num2 ]
import random as r
while(1):
print('\n')
print("Menu\n")
print("1. Addition Problem")
print("2. Subtraction Problem")
print("3. Multiplication Problem")
print("4. Division Problem")
print("5. Quit This Problem")
print("\n Enter Your Choice (1-5)::",end='')
n=0
while(n not in [1,2,3,4,5]):
n=int(input())
if(n not in [1,2,3,4,5]):
print("\nThe
valid choices are 1, 2, 3, 4 and 5. Please Choose: ",end='')
print('\n')
if(n==1):
a=r.randint(1,9)
b=r.randint(1,9)
c=a+b
print('\t',a)
print(' ','+',b)
print(' ----')
d=int(input(' '))
if(d==c):
print("\n
Congratulations! That's Right.")
else:
print("\nSorry,
The Correct Answer is",c)
elif(n==2):
a=r.randint(1,9)
b=r.randint(1,9)
while(a<b):
a=r.randint(1,9)
b=r.randint(1,9)
c=a-b
print('\t',a)
print(' ','-',b)
print(' ----')
d=int(input(' '))
if(d==c):
print("\n
Congratulations! That's Right.")
else:
print("\n Sorry,
The Correct Answer is",c)
elif(n==3):
a=r.randint(1,9)
b=r.randint(1,9)
c=a*b
print(a,"*",b,'=',end='')
d=int(input(' '))
if(d==c):
print("\n
Congratulations! That's Right.")
else:
print("\n Sorry,
The Correct Answer is",c)
elif(n==4):
b=r.randint(1,9)
c=r.randint(1,9)
a=b*c
print(a,"/",b,'=',end='')
d=int(input(' '))
if(d==c):
print("\n
Congratulations! That's Right.")
else:
print("\nSorry,
The Correct Answer is",c)
elif(n==5):
exit()
[If My code will help you then give my effort a thumbs up ]