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

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

小组成员:张子涵 编写

                  周泊辰 调试

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

总结:自己的水平太差,好多不懂的地方,提升的地方还有很多,希望能多看看书学习

posted @ 2018-11-06 20:23  未辰vc  阅读(235)  评论(0)    收藏  举报