一、编程思想:

1、定义所需要变量
2、设置数组,存储运算符,
3、通过随机函数random(0,100)找出运算数,random(0,4)找出运算符
4、通过输出显示运算式。

二、源代码:

//2016 3.3 Cheng Qiqin
//sizeyunsuan
#include <iostream>
#include<ctime>
#include<cstdlib>
#include<iomanip>
using namespace std;
#define N 20 void main(){
int num1,num2,num3,num4;
int i,j,k;
int random(int,int);
char fuhao[]={'+','-','*','/'};
for(k=;k<N;k++){
j=random(,);
if(j==){//整数四则运算
i=random(,); //选择运算符
num1=random(,);
num2=random(,);
switch(i){
case : //整数相加
cout<<num1<<fuhao[i]<<num2<<"="<<endl;
break;
case : //整数相减
cout<<num1<<fuhao[i]<<num2<<"="<<endl;
break;
case ://整数相乘
cout<<num1<<fuhao[i]<<num2<<"="<<endl;
break;
case : //整数相除
while(num2==){//除数不为0
num2=random(,);
}
cout<<num1<<fuhao[i]<<num2<<"="<<endl;
break;
default:
break;
}
}
else{//真分数四则运算
i=random(,);
num1=random(,);
num2=random(,);
while(num2==||num1>=num2){//分数分母不为0并且分子不能大于分母
num1=random(,);
num2=random(,);
}
num3=random(,);
num4=random(,);
while(num4==||num3>=num4){//分数分母不为0并且分子不能大于分母
num3=random(,);
num4=random(,);
}
switch(i){
case : //分数相加
cout<<num1<<"/"<<num2<<fuhao[i]<<num3<<"/"<<num4<<"="<<endl;
break;
case : //分数相减
cout<<num1<<"/"<<num2<<fuhao[i]<<num3<<"/"<<num4<<"="<<endl;
break;
case : //分数相乘
cout<<"("<<num1<<"/"<<num2<<")"<<fuhao[i]<<"("<<num3<<"/"<<num4<<")"<<"="<<endl;
break;
case : //分数相除
while(num3==){//作为分母的分数不为0
num3=random(,);
while(num3>=num4){
num3=random(,);
num4=random(,);
}
}
cout<<"("<<num1<<"/"<<num2<<")"<<fuhao[i]<<"("<<num3<<"/"<<num4<<")"<<"="<<endl;
break;
default:
break;
}
}
}
} int random(int start,int end){ //随机数函数
return start+(end-start)*rand()/(RAND_MAX+);
}

三、运行结果:

四、目前实现功能:

1、100以内整数相加、相减、相乘、相除。

2、实现真分数相加、相减、相乘、相除。

五、期望实现功能:

1、随机数每次运行的数都不一样。

2、可以实现四则混合运算。

软件工程课程作业(一)—20道随机四则运算题(C++)的更多相关文章

  1. 300道随机四则运算小程序(java编写)

    这是由Java编写的300道随机四则运算小程序, 运算数范围为0~100(不包括100),运算结果保留两位小数. 程序代码: import java.util.*; class Yunsuan{ pu ...

  2. 30道小学生四则运算题C/C++编程

    软件工程科课上,老师通过实例讲解什么是程序,程序和软件的区别,要求我们通过短时间写一道编程题, 题目就是编写30道小学生四则运算题.以下就是源代码: #include<iostream.h> ...

  3. 20道JS原理题助你面试一臂之力!(转)

    20道JS原理题助你面试一臂之力! 前言 本文针对目前常见的面试题,仅提供了相应的核心原理及思路,部分边界细节未处理.后续会持续更新,希望对你有所帮助. 1. 实现一个call函数 // 思路:将要改 ...

  4. 软件工程课程作业(三)--四则运算3(C++)

    伙伴链接:http://www.cnblogs.com/haoying1994/ 一.设计思路 在此前程序拥有的功能:加减有无负数,除法有无余数以及算式可定制的功能的基础上,此次程序又添加了算式结果的 ...

  5. 软件工程课程作业(二)--四则运算2改进版(c++)

    题目要求: 1.避免题目重复 2.可定制(数量/打印方式) 3.可以控制下列参数 (1)是否有乘除法 (2)是否有括号 (3)数值范围 (4)加减有无负数 (5)除法有无余数 关键设计思想: oper ...

  6. 软件工程课堂作业(一)——随机产生四则运算题目(C++)

    一.设计思想: 1.首先主函数只用来调用随机产生并输出运算题目函数,随机产生并输出这一部分功能用一个randout函数实现: 2.随机产生运算数这一功能,两个运算数可以用随机函数生成,并将它们控制在1 ...

  7. 【软件工程Ⅱ】作业四 |个人项目-小学四则运算 “软件”之初版(C语言)

    本次作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2186 本次作业代码的github地址:https://gith ...

  8. 软件工程随堂小作业——随机四则运算Ⅱ(C++)

    一.设计思路 设计思路已给出,此处不再赘述. 二.源代码 (1)四则运算2.cpp(源文件) // 四则运算2.cpp : Defines the entry point for the consol ...

  9. BUAA 2020 软件工程 热身作业

    BUAA 2020 软件工程 热身作业 Author: 17373051 郭骏 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 第一次作业-热身! ...

随机推荐

  1. Ubuntu: an error occurred while mounting /mnt/hgfs

    对于这个error,我采用的一个不完美的方法是: vi /etc/fstab .host:/projectname /mnt/hgfs vmhgfs rw,ttl=,uid=my_uid,gid=my ...

  2. cmd命令行中的errorlevel和延迟赋值

    最近用到了命令行,一点心得: 1.errorlevel返回的确实是上一条命令的返回值,但不同命令的表现完全不同.比如: dir echo %errorlevel% //显示0 dir aldkalf ...

  3. DB2事务日志已满的解决方法

    DB2命令终端输入: db2 update db cfg for <dbname> using LOGPRIMARY 50 db2 update db cfg for <dbname ...

  4. Sketchup+ArcGIS三维建模与管理

    一.软件安装及其说明 1.需要安装的软件及其安装: 这份报告主要涉及到的有三个需要安装的软件ArcGIS9.3(或9.2) .Sketchup6.0和SketchUp6 ESRI 插件. ArcGIS ...

  5. Xlistview的values下的界面

    <!-- 下拉刷新,上拉加载更多 -->    <string name="xlistview_header_hint_normal">下拉刷新</s ...

  6. switch… case 语句的用法(一)

    public class Test7 { public static void main(String[] args) { int i=5; switch(i) { case 1: System.ou ...

  7. [转] Android资源管理框架(Asset Manager)简要介绍和学习计划

    转自:http://blog.csdn.net/luoshengyang/article/details/8738877 Android应用程序主要由两部分内容组成:代码和资源.资源主要就是指那些与U ...

  8. initWithFrame 和 initWithCoder

    当我们所写的程序里没用用Nib文件(XIB)时,用代码控制视图内容,需要调用initWithFrame去初始化 - (id)initWithFrame:(CGRect)frame { if (self ...

  9. hdu - 2083 - 简易版之最短距离

    找到中位数 , 根据对称性 , 当中位数需要两个数取中值的时候不需要取 , 只需要其中的任意一个数几个 例如四个数 1 , 2 , 3 , 4 . 这四个数 , 其中的 2 和 3 都可以 . 然后求 ...

  10. Squid代理之普通代理

    1.配置Squid 代理服务器IP地址 将eth1的IP地址修改为200.168.10.1