四则运算题目生成程序(基于控制台)

时间:2023-01-31 08:42:07

题目描述:

看了大家对于本课程的目标和规划,很多同学都希望能提高自己的实践能力,没有捷径可走,就是练习、练习再练习!那么就从第一个个人项目开始吧,用一周的时间完成一个基于控制台的四则运算程序,实现一个自动生成小学四则运算题目的命令行程序

从《构建之法》第一章的 “程序” 例子出发,像阿超那样,花二十分钟写一个能自动生成小学四则运算题目的命令行 “软件”,满足以下需求:

    1. 除了整数以外,还要支持真分数的四则运算,真分数的运算,例如:1/6 + 1/8 = 7/24
    2. 运算符为 +, −, ×, ÷
    3. 并且要求能处理用户的输入,并判断对错,打分统计正确率。
    4. 要求能处理用户输入的真分数, 如 1/2, 5/12 等

使用 -n 参数控制生成题目的个数,例如执行下面命令将生成10个题目
Myapp.exe -n 10

需求分析:

1.四则运算

2.生成分数运算

3.用户自定义题目数量

4.判断答案是否正确

5.给出正确率

设计实现

确地题目数量,给出运算式子,给出答案判断,在报出正确率

 

#include<iostream>
#include
<stdlib.h>
#include
<conio.h>
#include
<time.h>
using namespace std;
void accuracy(int n, int count){
float m = count * 100 / n;
cout
<< "正确率:" << m << "%" << endl;
}
void integer(int n,int result[]){
int count=0;
srand(time(NULL));
for (int i = 0; i < n; i++){
int a = (int)rand() % 100;
int b = (int)rand() % 100;
int c = (int)rand() % 100 / 20;
switch (c)
{
case 0:
int Answers;
cout
<< a << "+" << b << "=" << endl;
result[i]
= a + b;
cin
>> Answers;
if (result[i] == Answers)
{
cout
<< "Yes" << endl;
count
++;
}
else
cout
<< "wrong" << endl;
cout
<< "right Answer:" << result[i] << endl;
break;
case 1:

int temp;
if (a < b){
temp
= a;
a
= b;
b
= temp;
}
cout
<< a << "-" << b << "=" << endl;
result[i]
= a - b;
cin
>> Answers;
if (result[i] == Answers)
{
cout
<< "Yes" << endl;
count
++;
}
else
cout
<< "wrong" << endl;
cout
<< "right Answer:" << result[i] << endl;
break;
case 2:

cout
<< a << "*" << b << "=" << endl;
result[i]
= a * b;
cin
>> Answers;
if (result[i] == Answers)
{
cout
<< "Yes" << endl;
count
++;
}
else
cout
<< "wrong" << endl;
cout
<< "right Answer:" << result[i] << endl;
break;
case 3:
cout
<< a << "/" << b << "=" << endl;
result[i]
= a / b;
cin
>> Answers;
if (result[i] == Answers)
{
cout
<< "Yes" << endl;
count
++;
}
else
cout
<< "wrong" << endl;
cout
<< "right Answer:" << result[i] << endl;
break;
}

}
accuracy(n, count);
}

int main(){
int n;
char m;
int result[1000];
cout
<< "请输入想要的题目数量:" << endl;
cin
>> n;
integer(n, result);
cout
<< "欢迎使用(输入任意键退出)" << endl;
cin
>> m;
}

实验测试:

四则运算题目生成程序(基于控制台)

PSP

 四则运算题目生成程序(基于控制台)

总结:

在编程中自己想的时候觉得可以运行,但在实际编程中总会出现出现一些问题,需要去查资料才能解决,感觉自己编程能力还是要多多练习.