-
小学生数学测试软件的编写
要求:⑴可选择题型(+,-,*,/);
⑵可选择每次答题的个数;
⑶随机生成两个数进行运算;
⑷每次在输入答案后应判断对错,若答案错误,应给出正确答案;
⑸最后给出做对题目的总个数。
注意:产生随机数的方法——是用随机数函数。
编 程思路:考虑到要用随机数,故会有用到函数调用。选择则需要用到选择结构,
有多分支的选择结构故选 用 switch语句。由要求⑷知还要用到循环结构,还要
定义变量用来计数。由于程序比较复杂,故 也可分块编写。综合测试修改多次得
出了比较满意的结果。
代码:
#include
#include
#include
void main()
{
clock_t start,end; //定义时间标签
cout<< ------------------------------------
cout<< - - -欢迎进入小学生数学测试软件- - -
cout<< ------------------------------------
cout<< 现在开始测试吗?
cout<
int choice;
cin>>choice; //输入选择
start = clock(); //提取开始时间
int x,y,z; //定义运算数
while(choice)
{
cout<
cin>>m;
loop2: //该标签用于进行多次练习
int i=1; //定义初始题号
int correct=0, wrong=0; //定义答题对、错数目
cout<
cout<<
char c;
cin>>c;
switch(c)
{
case '+':
case '-':
case '*':
case '/': goto loop1; //进入练习模块
case '0':
{
cout<<请输入运算的范围:
}
default: exit (0);break; //退出程序
}
//-------------- -------------------------------------------------- ------
loop1: //以下部分为练习模块
cout<
int j; //定义题目总数
cin>>j;
for (int count=1;count<=j;count++) //开始练习
{
srand(time(0)); //随机抽取伪随机数列的序号
x = rand()%m;
y = rand()%m;
int m;
cin>>m;
if(x
{
int k;
k=x;x=y;y=k;
} //避免出现结果为负数的减法式子
cout<<第题:
switch(c) //区分“加”、“减”、“乘”与“除”(因为小学阶段
{
switch(c) //定义运算法则
{
case '+': z=x+y;break;
case '-': z=x-y;break;
case '*': z=x*y;break;
case '/': z=x/y;break;
}
“除”会有余数)
case '+':
case '-':
case '*':
case '/':
{
cout<< 的商为:
int answear;
cin>>answear;
cout<
cin>>yu_shu;
if(z==answear&&yu_shu==(x-y*z))
{
cout<<恭喜你回答正确!
{
cout<<
int answear;
}
cin>>answear;
if(z==answear)
{
}
else
{
}
cout<<回答错误,正确答案为:
wrong++;
cout<<恭喜你回答正确!
correct++;
break;
-
-
-
-
-
-
-
-
本文更新与2020-11-29 02:08,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/469066.html