这是一个由c++实现的简单的四则运算程序,使用者总共需要完成300题整数四则运算。
结对伙伴:2252721
程序要求
- 两个运算符,100 以内的数字,不需要写答案。
- 需要检查答案是否正确,并且保证答案在0-100之间。
- 需要符合运算规则
通过仔细阅读分析题目要求,我和我的同伴决定使用c++来完成这个程序
源代码
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <string>
using namespace std;
int generateRandomNumber(int min, int max) {
return rand() % (max - min + 1) + min;
}
char generateRandomOperator() {
char operators[] = {'+', '-', '*', '/'};
int index = rand() % 4;
return operators[index];
}
int calculate(int num1, char op, int num2) {
switch (op) {
case '+':
return num1 + num2;
case '-':
return num1 - num2;
case '*':
return num1 * num2;
case '/':
return num1 / num2;
default:
return 0;
}
}
bool isAnswerInRange(int answer) {
return answer >= 0 && answer <= 100;
}
int main() {
srand(time(0));
int count = 300;
int cnt_t=0;
for (int i = 0; i < count; i++) {
int num1 = generateRandomNumber(0, 100);
int num2 = generateRandomNumber(1, 100);
char op = generateRandomOperator();
int result = calculate(num1, op, num2);
if(op=='/' && (num1<num2 || num1 %num2!=0) || op=='-' && (num1<num2 ))
{
i--;
continue;
}
if (!isAnswerInRange(result)) {
i--;
continue;
}
cout << num1 << " " << op << " " << num2 << " = ";
int userAnswer;
cin >> userAnswer;
if (userAnswer == result) {
cout << "答案正确!" << endl;
cnt_t++;
} else {
cout << "答案错误. 正确答案为 " << result << endl;
}
}
cout<<"恭喜你完成了300题,你一共答对的题数为"<<cnt_t;
return 0;
}
编程过程
在整个程序的编写过程中,由于需要遵循许多运算上的规则,所以在初步完成代码时有很多小错误,但是在我和我的队友的努力下,我们通过多次实验逐渐排查代码存在的问题并进行修正,最终成功的得到了以上的最终代码。
运行结果展示
总结
通过这次结对编程,我发现了自己在独自写代码时存在许多不足,在和同伴结对编程时,我们双方可以及时向对方提出建议,发现对方在编程中平时注意不到的一些问题和不足,这对我们两个都是一次成长,让我们意识到了合作的重要性。
标签:结对,编程,return,num1,num2,int,四则运算 From: https://www.cnblogs.com/moeleven/p/18136861