四则运算

组员: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;
}
}

  

posted @ 2023-04-06 16:22  贫穷却富有愉快  阅读(238)  评论(0)    收藏  举报