用c++编一个小学生100以内的加减乘除法运算,随机生成20个,减法不能出现负数,再批改

 我来答
qicaiwuya
2012-03-26 · TA获得超过4212个赞
知道小有建树答主
回答量:1462
采纳率:100%
帮助的人:1216万
展开全部
#include <iostream.h>
#include <cstdlib>
#include <ctime>

class calculate
{
int iA ;
int iB ;
char nOperator ;
public:
void Rand_A () ; // 随机产生第一个操作数
void Rand_B () ; // 随机产生第二个操作数
void Rand_Operator () ; //随机产生一个操作符
void print () ;//将产生的表达式输出到屏幕,等待答题
int calcu () ; //根据iA,iB和运算符计算出结果
} ;
void calculate :: Rand_A ()
{
srand (time (NULL) + 1) ;
iA = rand () % 100 ;
}

void calculate :: Rand_B ()
{
srand (time (NULL)) ;
iB = rand () % 100 ;
}

void calculate :: Rand_Operator ()
{
char op [] = {'+', '-', '*', '/'} ;
srand (time (NULL)) ;
nOperator = op [rand () % 4] ;
}
void calculate :: print ()
{
switch (nOperator)//对于'-'和'/'和'*'三个运算符有要求,如果不符合要求,需要重新产生随机数据,然后才打印出来
{
case '-' :
while (iA < iB )
{
//如果iA < iB则结果会是负数,不符合要求,重新产生表达式
Rand_A () ;
Rand_B () ;
}
break ;
case '/' :
while (iB == 0 || iA % iB != 0 )
{
//如果iB == 0 || iA % iB != 0,则除法表达式中的除数为0 或者 iA不能被iB整除,此时重新产生新随机数
Rand_A () ;
Rand_B () ;
}
case '*' :
while (iA * iB > 100)
{
//如果iA*iB的结果大于100,则重新产生随机数
iA -- ;
iB -- ;
}
break ;
}
cout << iA << nOperator << iB << "=?" << endl ;
}

int calculate :: calcu ()
{
int result = 0 ;

switch (nOperator)
{
case '+' :
result = iA + iB ;
break ;
case '-' :
result = iA - iB ;
break ;
case '*' :
result = iA * iB ;
break ;
case '/' :
result = iA / iB ;
break ;
}

return result ;
}

int main()
{
int result ;
int count = 0 ;//count用于记录产生的表达式的个数
while(count < 20)
{
calculate calc ;
calc.Rand_A () ;
calc.Rand_B () ;
calc.Rand_Operator () ;
cout << "第" << (count + 1) << "个表达式:" ;
calc.print () ;
cin >> result ;
if (result != calc.calcu ())
cout << "真遗憾,你答错了,正确结果是" << calc.calcu () << endl ;
else
cout << "恭喜你答对了!" << endl ;
count ++ ;
}
return 0 ;
}刚学c++没多久,有用的话就看看吧。
nice小米2
2012-07-02
知道答主
回答量:2
采纳率:0%
帮助的人:3186
展开全部
乘法学习器。具体功能为:1)进行学习,向学习者显示九九乘法表。2)进行测验:输入学生姓名,然后开始测试过程:随机给出学生任意两个0~9之间的数,要求学生给出答案,每次十个题,测试完毕后将“学生姓名 测验时间 测验成绩”信息计入文件。3)输入姓名,从文件中查询得到历史测验信息,并在屏幕上显示。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式