萌新求助一个四则运算练习程序
要求是:1.运行程序后,提示用户输入要做的练习题数量。
2.当用户输入练习题数量后,刚系统提示用户选是仅进行加、减、乘、除或随机进行加、减、乘、除等练习题目
3.当用户选择练习的题类型后,系统就随机生成1-99的练习题目,提示用户回答(输入)运算结果
4.用户每一个题允许有3次回答机会,当第一、二次回答错误,提示"tryagain!",当第三次都回答错误,则提示"you are wrong!"程序进行下- -题。
5.当所有题完成后,程序输出用户所用时间及答对题数,答错题数和成绩(以100制)。
代码如下,现在又要把上面5个功能加进去,就不会写了,求大神帮帮忙,或者告诉我怎么写也可以,谢谢
#include"stdio.h"
#include"time.h"
#include"stdlib.h"
void exam(int n);
void add(void);
void sub(void);
void mul(void);
void division(void);
int main()
{ int n;
while(1)
{ printf("********\n");
printf("*1-ADD *\n");
printf("*2-SUB *\n");
printf("*3-MUL *\n");
printf("*4-DIV *\n");
printf("*0-EXIT*\n");
printf("********\n");
printf("Please select 0-4:");
scanf("%d",&n);
if(n<0||n>5)printf("Invalid number!\n");
else if(n==0)break;
else exam(n);
}
}
void exam(int n) //根据n的值选择执行不同的函数
{ switch(n)
{ case 1:add();break;
case 2:sub();break;
case 3:mul();break;
case 4:division();
}
}
void add(void) //求两随机整数之和
{ int x,y,z,result;
srand(time(NULL)); //初始化系统随机数发生器
x=rand()%100; //产生0~99的随机整数
y=rand()%100;
z=x+y;
printf("%d+%d=",x,y);
scanf("%d",&result);
if(result==z)printf("OK\n");
else printf("Sorry\n%d+%d=%d\n",x,y,z);
}
void sub(void) //求两随机整数之差
{
int x,y,z,result;
srand(time(NULL));
x=rand()%100;
y=rand()%100;
z=x-y;
printf("%d-%d=",x,y);
scanf("%d",&result);
if(result==z)printf("OK\n");
else printf("Sorry\n%d-%d=%d\n",x,y,z);
}
void mul(void) //求两随机整数之乘积
{
int x,y,z,result;
srand(time(NULL));
x=rand()%100;
y=rand()%100;
z=x*y;
printf("%d*%d=",x,y);
scanf("%d",&result);
if(result==z)printf("OK\n");
else printf("Sorry\n%d*%d=%d\n",x,y,z);
}
void division(void) //求两随机整数之商
{
int x,y,z,result;
srand(time(NULL));
do //产生两随机整数使得x能被y整除
{ x=rand()%100;
y=rand()%100;
}while(x%y!=0||y==0);
z=x/y;
printf("%d/%d=",x,y);
scanf("%d",&result);
if(result==z)printf("OK\n");
else printf("Sorry\n%d/%d=%d\n",x,y,z);
}