Code:
#include <stdio.h>
#include <stdlib.h>
int a;
int b;
int choice;
#define SIZE 10
//FUNCTION PROTOTYPE
void generateQuestions_multiplication(int a[], int b[], int c[]);
void generateQuestions_division(int a[], int b[], int d[]);
void multiplication(int a[], int b[], int c[]);
int printResult_multiplication(int a[], int b[], int ca[],int ua[]);
void division(int a[], int b[], int d[]);
int printResult_division(int a[], int b[], int ca[],int ua[]);
//PROGRAM BODY
int main(void)
{
printf("This program tests you with ten questions.\n 1) Multiplication\n 2) Division\n 3) Exit\n Please make a selection (1-3)\n");
scanf("%d", &choice);
if(choice==1)
{
int i;
int ans;
int x[SIZE];
int y[SIZE];
int answer[SIZE];
int useranswer[SIZE];
int score=0;
srand(time(NULL));
generateQuestions_multiplication(x, y, answer);
multiplication(x, y, useranswer);
score= printResult_multiplication(x, y, answer,useranswer);
if (score > 7)
{
printf("Congratulations! You scored %d/%d\n",score,SIZE);
}
else if (score <= 7)
{
printf("Please ask your teacher for help! You scored %d/%d\n",score,SIZE);
}
}
else
if (choice==2)
{
int i;
int ans;
int x[SIZE];
int y[SIZE];
int answer[SIZE];
int useranswer[SIZE];
int score=0;
srand(time(NULL));
generateQuestions_(x, y, answer);
division(x, y, useranswer);
score= printResult_division(x, y, answer,useranswer);
if (score > 7)
{
printf("Congratulations! You scored %d/%d\n",score,SIZE);
}
else if (score <= 7)
{
printf("Please ask your teacher for help! You scored %d/%d\n",score,SIZE);
}
}
return 0;
}
//FUNCTION DEFINED
//GENERATE QUESTION FUNCTION
void generateQuestions_multiplication(int a[], int b[], int c[])
{
int i;
for(i=0; i<SIZE; i++)
{
a[i]=rand()%11;
b[i]=rand()%11;
c[i]=a[i]*b[i];
}
}
void generateQuestions_division(int a[], int b[], int d[])
{
int i;
for(i=0; i<SIZE; i++)
{
a[i]=rand()%11;
b[i]=rand()%11;
d[i]=a[i]%b[i];
}
}
//MULTIPLICATION FUNCTION
void multiplication(int a[], int b[], int c[])
{
int i;
int ans;
printf("Please give the answers to the following additions:.\n");
for(i=0; i<SIZE; i++)
{
printf("%d x %d = ",a[i],b[i]);
scanf("%d",&ans);
c[i]=ans;
}
}
//DIVISION FUNCTION
void division(int a[], int b[], int d[])
{
int i;
int ans;
printf("Please give the answers to the following additions:.\n");
for(i=0; i<SIZE; i++)
{
printf("%d / %d = ",a[i],b[i]);
scanf("%d",&ans);
d[i]=ans;
}
}
//PRINT DIVISION SUMMARY FUNCTION
int printResult_division(int a[], int b[], int ca[],int ua[])
{
int i;
int score=0;
for(i=0; i<SIZE; i++)
{
printf(" %d / %d = %d -", a[i],b[i],ua[i]);
if(ua[i]==ca[i])
{
score=score+1;
printf("Correct answer\n");
}
else
{
printf(" Incorrect answer - the answer is %d \n",ca[i]);
}
}
return score;
}
//PRINT MULTIPLICATION FUNCTION
int printResult_multiplication(int a[], int b[], int ca[],int ua[])
{
int i;
int score=0;
for(i=0; i<SIZE; i++)
{
printf(" %d * %d = %d -", a[i],b[i],ua[i]);
if(ua[i]==ca[i])
{
score=score+1;
printf("Correct answer\n");
}
else
{
printf(" Incorrect answer - the answer is %d \n",ca[i]);
}
}
return score;
}