满足小学生在线答题,记录错题及更正错题的四则运算

设计思路:

将这个问题分册很难过几个模块,运用不同的函数,将这些模块分别设计出来,然后运用函数调用,就可以将这些功能不同的模块联系在此应用了rand()语句,出现了伪随机数,按理说是随机得数,但是每次调用的随机数列是一样的,所以可能会出现重复的题型在重新进入的时候,应该加一个time(null)返回值,但是不太确定怎么加,然后不能记录错题,这会想办法改进。

程序:

#include<stdio.h>
#include<math.h>
#include<windows.h>
int right=0;
int wrong=0;
void add()
{
int a,b,c;
a=rand()%100;
b=rand()%100;
printf("请回答: %d + %d = ",a,b);
scanf("%d",&c);
if(a+b==c)
{
printf("回答正确! ");
right++;
}
else
{
printf("回答错误! ");
wrong++;
}
}
void minu()
{
int a,b,c;
a=rand()%100;
b=rand()%100;
printf("请回答: %d - %d = ",a,b);
scanf("%d",&c);
if(a-b==c)
{
printf("回答正确! ");
right++;
}
else
{
printf("回答错误! ");
wrong++;
}
}
void mul()
{
int a,b,c;
a=rand()%100;
b=rand()%100;
printf("请回答: %d * %d = ",a,b);
scanf("%d",&c);
if(a*b==c)
{
printf("回答正确! ");
right++;
}
else
{
printf("回答错误! ");
wrong++;
}
}
void di()
{
int a,b,c;
a=rand()%100;
b=rand()%100;
printf("请回答: %d / %d = ",a,b);
scanf("%d",&c);
if(a/b==c)
{
printf("回答正确! ");
right++;
}
else
{
printf("回答错误! ");
wrong++;
}
}
void main()
{
int choise;
int con=0;
printf(" 四则运算(在线答题) ");
while(1)
{
printf("请选择: ");
printf("加法运算(请输入1) ");
printf("减法运算(请输入2) ");
printf("乘法运算(请输入3) ");
printf("除法运算(请输入4) ");
printf("退出运算(请输入5) ");
if(con==0)
scanf("%d",&choise);
switch(choise)
{
case 1:
add();
break;
case 2:
minu();
break;
case 3:
mul();
break;
case 4:
di();
break;
case 5:
return;
}
printf(" 继续答题(请输入1) ");
printf(" 重新选择答题类型(请输入2) ");
printf(" 退出运算(请输入3) ");
scanf("%d",&con);
if(con==1)
con=1;
else if(con==2)
con=0;
else if(con==3)
break;
else
printf("输入错误,请重新输入! ");
}
printf("您总共完成了 %d 道题 正确 %d 道 错误 %d 道 ",right+wrong,right,wrong);
}

运行结果:

合作照片:

总结:

这次张子涵主要负责编程,周泊辰主要负责程序的调试,代码借助网上前辈的部分经验和程序,程序仍有很多不足,望批评指正。

原文地址:https://www.cnblogs.com/amnavov/p/9917881.html