四则运算
组员:2152304 2141104
一:实验目的:
小学老师要每周给同学出300道四则运算练习题
二:实验环境
Windows 11
devc++
语言:c++语言
三:实验内容
1.c++实现300道四则运算
2.答案在100内
3.两个运算符号
四:实验结果截图
程序主界面:

1.输入1,进入主功能输出产生300道四则运算

2.输入2,退出系统

五:实验总结与体会
思路:我们是将加减乘除分为四个函数,在主函数中用一个随机数对4取余随机进入四则运算,并嵌套循环300次来输出三百道四则运算题。
纠错与体会:
1.原先我们准备在一个主函数中实现全部功能,后来把加减乘除都封装在4个函数中,增强了代码的可读性
2.一开始用if函数直接对除数进行限定,后来另一个同学发现了其中的问题,应该用while循环才能得到最终符合条件的随机数,否则函数直接就结束了
3.void plus()函数在编译过程中出现问题,和库函数重名,改为void plus_()解决。
4.如何随即生成四则运算,我们一起经过讨论决定再引入一个随机数,通过随机数取余进入不同的运算函数
5.随机数的产生使用rand()函数,头文件#include<stdlib.h>,rand()%101得到的就是100以内的数字。
结对编程带给我们最大的感受就是,在进行编程前要先一起理清思路该怎么去写,在写的过程中对方也可以对我的一些粗心小错误进行纠察,在一些难点上一起商讨也更容易提出更合适的解决方案。
源码:
#include<iostream>
#include<stdlib.h>
using namespace std;
void plus_(){
while(1){
int x=rand()%101;
int y=rand()%101;
if(x+y<=100){
cout<<x<<"+"<<y<<"="<<endl;
break; }
}
}
void subtract(){
while(1){
int x=rand()%101;
int y=rand()%101;
if(x-y<=100&&x-y>=0){
cout<<x<<"-"<<y<<"="<<endl;
break;
}
}
}
void multipy(){
int i,j,k;
while(1){
i=rand()%101;
j=rand()%101;
k=i*k;
if(k<=100){
cout<<i<<"*"<<j<<"="<<endl;
break;
}
}
}
void divide(){
int i,j,k;
while(1){
i=rand()%101;
j=rand()%101;
if(j!=0&&i/j<=100){
cout<<i<<"/"<<j<<"="<<endl;
break;
}
}
}
int main(){
while(true){
cout<<"300道四则运算--1"<<endl;
cout<<"退出-----------2"<<endl;
int n=0;
cout<<"请输入你的选择:"<<endl;
cin>>n;
if(n==1){
for(int i=0;i<300;i++){
int num=rand()%101;
int chose;
chose=num%4;
if(chose==1)
{
plus_();
}
else if(chose==2)
{
subtract();
}
else if(chose==3)
{
multipy();
}
else divide();
}
}
else return 0;
}
}

浙公网安备 33010602011771号