您的位置:首页 > 其它

个人项目——二柱子的生成小学生四则运算题程序

2016-03-06 18:14 381 查看

二柱子的生成小学生四则运算题程序

一、程序要求

1、自动生成30道小学生四则运算题

2、除了整数外,还要可以生成真分数的四则运算

二、程序设计思想

程序分两个部分:整数部分和分数部分

1、定义变量:第一个数(分子)、第二个数(分子)、第一个数的分母、第二个数的分母、运算符号;

2、用时间做种子,使每次产生随机数都不一样;

3、产生分支,分别输出整数四则运算、分数的四则运算;

4、分支1,产生整数随机数:第一个数、第二个数;

5、产生随机算符:用数字0-3代表+、-、*、/,即产生4以内的随机数;

6、输出整数运算式,其中减法需要大数减小数,除法的除数不能为0;

7、分支2,产生分数随机数:第一个数的分子、第二个数的分子、第一个数的分母、第二个数的分母、运算符号(同上);

8、输出分数运算式,其中分数的分母不能为0且分子小于分母,减法同上,除法的除数不能为0,即除法的除数的分子分母都不能为0。

三、源程序

//李俏,2016.3.3
//随机生成四则运算

#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
using namespace std;

void main()
{
int first,second,firstm,secondm;
int sign,i,j;
srand((int)time(NULL)); //用时间做种子,每次产生随机数都不一样
for(i=0;i<30;i++)
{
j=rand()%2;        //选择生成整数运算还是分数运算

if(j==0)           //选择整数
{
first=rand()%100;
second=rand()%100;
sign=rand()%4;

switch(sign)
{
case 0:                                   //整数加法
cout<<first<<"+"<<second<<"="<<endl;
break;
case 1:                                    //整数减法
if(first>second)
cout<<first<<"-"<<second<<"="<<endl;
else
cout<<second<<"-"<<first<<"="<<endl;
break;
case 2:                                     //整数乘法
cout<<first<<"*"<<second<<"="<<endl;
break;
case 3:                                     //整数除法
if(second!=0)
cout<<first<<"/"<<second<<"="<<endl;
else
cout<<second<<"/"<<first<<"="<<endl;
break;
}
}

else              //选择分数
{
first=rand()%100;
second=rand()%100;//分子
firstm=rand()%100;
secondm=rand()%100;//分母
sign=rand()%4;

switch(sign)
{
case 0://分数加法
if(firstm!=0&&secondm!=0&&first<firstm&&second<secondm)
cout<<first<<"/"<<firstm<<"  +  "<<second<<"/"<<secondm<<"="<<endl;
else
i=i-1;
break;
case 1://分数减法
if(firstm!=0&&secondm!=0&&first<firstm&&second<secondm&&(first/firstm)>(second/secondm))
cout<<first<<"/"<<firstm<<"  -  "<<second<<"/"<<secondm<<"="<<endl;
else
i=i-1;
break;
case 2://分数乘法
if(firstm!=0&&secondm!=0&&first<firstm&&second<secondm)
cout<<first<<"/"<<firstm<<"  *  "<<second<<"/"<<secondm<<"="<<endl;
else
i=i-1;
break;
case 3://分数除法
if(firstm!=0&&secondm!=0&&first!=0&&second!=0&&first<firstm&&second<secondm)
cout<<first<<"/"<<firstm<<"  /  "<<second<<"/"<<secondm<<"="<<endl;
else
i=i-1;
break;
}
}
}
}


四、结果截图

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: