四则运算在线出题

题目;使二柱子的四则运算实现在线答题的功能,并且可以判断对错。并生成错题本保存起来。

代码;

#include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <time.h>
int main()
{


FILE* fp;

fp = fopen("错题本.txt", "w+");

if (fp == NULL)
{
printf("fail to open the file\n");
exit(-1);
}

int a = 0;
int b = 0;
int mode = 0;//0:加 1:减 2:乘 3:除
int c = 0;
int result = 0;
int i = 0;
int choose = 1;
int n;//出题数量
while (choose == 1){
int score = 0;
srand((unsigned)time(NULL)); //初始化随机数发生器,使得每次运行生成的随机数不同
printf("请输入选择出题的数量:");
scanf_s("%d", &n);
for (i = 0; i < n; i++) //做n题
{
a = rand() % 10; //生成一个0~9之间的随机数
b = rand() % 10; //生成一个0~9之间的随机数
mode = rand() % 4; //生成一个0~3之间的随机数,代表运算符
char m;
printf("%d", a); //打印算式
switch (mode) //确定运算符
{
case 0:
printf("+ ");
m = '+';
result = a + b; //选择了+运算的正确答案
break;
case 1:
printf("- ");
m = '-';
result = a - b; //选择了-运算的正确答案
break;
case 2:
printf("* ");
m = '*';
result = a * b; //选择了*运算的正确答案
break;
case 3:
printf("/ ");
m = '/';
result = a / b; //选择了/运算的正确答案
break;
default:
printf("somethingis wrong!\n");
break;
}
printf("%d = ", b);
scanf_s("%d", &c); //输入答案
if (c == result) //与正确答案一致
{
score += 1; //加分
printf("Right\n\n");
}
else
{
printf("Wrong\n\n"); //错开
fprintf(fp, "%d%c%d=%d\n", a, m, b, c);
}
}
printf("一共%d道题,你答对了%d道题\n", n, score);//显示得分
printf("是否继续? 1继续/0退出\n");
scanf_s("%d", &choose);
if (choose != 1 && choose != 0){
printf("输入错误\n");
}
}

return 0;
}

运行结果:

团队成员;  张晓晨  王群

posted @ 2018-11-06 19:23  丶koenigsegg  阅读(200)  评论(0编辑  收藏  举报